Skip to content

Commit

Permalink
kernel: bump 5.10 to 5.10.98
Browse files Browse the repository at this point in the history
Manually rebased:
	bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch

All other patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200

Signed-off-by: John Audia <graysky@archlinux.us>
  • Loading branch information
graysky2 authored and hauke committed Feb 11, 2022
1 parent 337e942 commit e9c1c83
Show file tree
Hide file tree
Showing 26 changed files with 68 additions and 92 deletions.
4 changes: 2 additions & 2 deletions include/kernel-5.10
@@ -1,2 +1,2 @@
LINUX_VERSION-5.10 = .96
LINUX_KERNEL_HASH-5.10.96 = 35e5a042819dd37af891c47d151b209d93e078a22f2637b2f5171bdff5b2e048
LINUX_VERSION-5.10 = .98
LINUX_KERNEL_HASH-5.10.98 = 1b24c6c15f1011bcca54da7e58539c612c7c84f95b7902f62d34754aaf0f9443
Expand Up @@ -706,7 +706,7 @@
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -4081,14 +4081,16 @@ static bool tcp_parse_aligned_timestamp(
@@ -4083,14 +4083,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);

Expand Down
Expand Up @@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>

--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1497,9 +1497,6 @@ static int vc4_hdmi_cec_init(struct vc4_
@@ -1491,9 +1491,6 @@ static int vc4_hdmi_cec_init(struct vc4_
u32 value;
int ret;

Expand All @@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops,
vc4_hdmi, "vc4",
CEC_CAP_DEFAULTS |
@@ -1934,7 +1931,6 @@ static const struct vc4_hdmi_variant bcm
@@ -1926,7 +1923,6 @@ static const struct vc4_hdmi_variant bcm
.debugfs_name = "hdmi_regs",
.card_name = "vc4-hdmi",
.max_pixel_clock = 162000000,
Expand Down
Expand Up @@ -29,15 +29,15 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>

return 0;
}
@@ -1740,6 +1746,7 @@ static int vc5_hdmi_init_resources(struc
@@ -1732,6 +1738,7 @@ static int vc5_hdmi_init_resources(struc
struct platform_device *pdev = vc4_hdmi->pdev;
struct device *dev = &pdev->dev;
struct resource *res;
+ int ret;

res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi");
if (!res)
@@ -1830,6 +1837,38 @@ static int vc5_hdmi_init_resources(struc
@@ -1822,6 +1829,38 @@ static int vc5_hdmi_init_resources(struc
return PTR_ERR(vc4_hdmi->reset);
}

Expand Down
Expand Up @@ -27,15 +27,15 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
value |= clk_cnt << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT;
HDMI_WRITE(HDMI_CEC_CNTRL_1, value);
}
@@ -1875,6 +1875,7 @@ static int vc4_hdmi_init_resources(struc
@@ -1867,6 +1867,7 @@ static int vc4_hdmi_init_resources(struc
return PTR_ERR(vc4_hdmi->hsm_clock);
}
vc4_hdmi->audio_clock = vc4_hdmi->hsm_clock;
+ vc4_hdmi->cec_clock = vc4_hdmi->hsm_clock;

return 0;
}
@@ -1969,6 +1970,12 @@ static int vc5_hdmi_init_resources(struc
@@ -1961,6 +1962,12 @@ static int vc5_hdmi_init_resources(struc
return PTR_ERR(vc4_hdmi->audio_clock);
}

Expand Down
Expand Up @@ -20,7 +20,7 @@ Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>

--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1729,9 +1729,11 @@ static int vc4_hdmi_cec_adap_enable(stru
@@ -1723,9 +1723,11 @@ static int vc4_hdmi_cec_adap_enable(stru
((3600 / usecs) << VC4_HDMI_CEC_CNT_TO_3600_US_SHIFT) |
((3500 / usecs) << VC4_HDMI_CEC_CNT_TO_3500_US_SHIFT));

Expand All @@ -34,7 +34,7 @@ Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
HDMI_WRITE(HDMI_CEC_CNTRL_5, val |
VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET);
}
@@ -1803,8 +1805,6 @@ static int vc4_hdmi_cec_init(struct vc4_
@@ -1797,8 +1799,6 @@ static int vc4_hdmi_cec_init(struct vc4_
cec_fill_conn_info_from_drm(&conn_info, &vc4_hdmi->connector);
cec_s_conn_info(vc4_hdmi->cec_adap, &conn_info);

Expand All @@ -43,7 +43,7 @@ Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
value = HDMI_READ(HDMI_CEC_CNTRL_1);
/* Set the logical address to Unregistered */
value |= VC4_HDMI_CEC_ADDR_MASK;
@@ -1812,12 +1812,32 @@ static int vc4_hdmi_cec_init(struct vc4_
@@ -1806,12 +1806,32 @@ static int vc4_hdmi_cec_init(struct vc4_

vc4_hdmi_cec_update_clk_div(vc4_hdmi);

Expand Down Expand Up @@ -82,15 +82,15 @@ Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>

ret = cec_register_adapter(vc4_hdmi->cec_adap, &pdev->dev);
if (ret < 0)
@@ -2294,6 +2314,7 @@ static const struct vc4_hdmi_variant bcm
@@ -2286,6 +2306,7 @@ static const struct vc4_hdmi_variant bcm
PHY_LANE_CK,
},
.unsupported_odd_h_timings = true,
+ .external_irq_controller = true,

.init_resources = vc5_hdmi_init_resources,
.csc_setup = vc5_hdmi_csc_setup,
@@ -2320,6 +2341,7 @@ static const struct vc4_hdmi_variant bcm
@@ -2312,6 +2333,7 @@ static const struct vc4_hdmi_variant bcm
PHY_LANE_2,
},
.unsupported_odd_h_timings = true,
Expand Down
Expand Up @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>

--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1791,9 +1791,15 @@ static int vc4_hdmi_cec_init(struct vc4_
@@ -1785,9 +1785,15 @@ static int vc4_hdmi_cec_init(struct vc4_
{
struct cec_connector_info conn_info;
struct platform_device *pdev = vc4_hdmi->pdev;
Expand Down
Expand Up @@ -61,23 +61,23 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
}

static void vc4_hdmi_encoder_post_crtc_disable(struct drm_encoder *encoder,
@@ -2304,6 +2329,7 @@ static const struct vc4_hdmi_variant bcm
@@ -2296,6 +2321,7 @@ static const struct vc4_hdmi_variant bcm
.phy_rng_enable = vc4_hdmi_phy_rng_enable,
.phy_rng_disable = vc4_hdmi_phy_rng_disable,
.channel_map = vc4_hdmi_channel_map,
+ .supports_hdr = false,
};

static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = {
@@ -2331,6 +2357,7 @@ static const struct vc4_hdmi_variant bcm
@@ -2323,6 +2349,7 @@ static const struct vc4_hdmi_variant bcm
.phy_rng_enable = vc5_hdmi_phy_rng_enable,
.phy_rng_disable = vc5_hdmi_phy_rng_disable,
.channel_map = vc5_hdmi_channel_map,
+ .supports_hdr = true,
};

static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = {
@@ -2358,6 +2385,7 @@ static const struct vc4_hdmi_variant bcm
@@ -2350,6 +2377,7 @@ static const struct vc4_hdmi_variant bcm
.phy_rng_enable = vc5_hdmi_phy_rng_enable,
.phy_rng_disable = vc5_hdmi_phy_rng_disable,
.channel_map = vc5_hdmi_channel_map,
Expand Down
Expand Up @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>

--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -2440,7 +2440,7 @@ static const struct vc4_hdmi_variant bcm
@@ -2432,7 +2432,7 @@ static const struct vc4_hdmi_variant bcm
.encoder_type = VC4_ENCODER_TYPE_HDMI0,
.debugfs_name = "hdmi0_regs",
.card_name = "vc4-hdmi-0",
Expand Down
Expand Up @@ -65,7 +65,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
#ifdef CONFIG_DRM_VC4_HDMI_CEC
static irqreturn_t vc4_cec_irq_handler_rx_thread(int irq, void *priv)
{
@@ -2325,6 +2365,10 @@ static int vc4_hdmi_bind(struct device *
@@ -2317,6 +2357,10 @@ static int vc4_hdmi_bind(struct device *
if (ret)
goto err_destroy_encoder;

Expand Down
Expand Up @@ -70,7 +70,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
static void vc4_hdmi_encoder_post_crtc_disable(struct drm_encoder *encoder,
struct drm_atomic_state *state)
{
@@ -2283,6 +2307,7 @@ static int vc4_hdmi_bind(struct device *
@@ -2275,6 +2299,7 @@ static int vc4_hdmi_bind(struct device *
vc4_hdmi = devm_kzalloc(dev, sizeof(*vc4_hdmi), GFP_KERNEL);
if (!vc4_hdmi)
return -ENOMEM;
Expand Down
Expand Up @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>

--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -5690,6 +5690,9 @@ int __init cgroup_init_early(void)
@@ -5695,6 +5695,9 @@ int __init cgroup_init_early(void)
return 0;
}

Expand All @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/**
* cgroup_init - cgroup initialization
*
@@ -5728,6 +5731,12 @@ int __init cgroup_init(void)
@@ -5733,6 +5736,12 @@ int __init cgroup_init(void)

mutex_unlock(&cgroup_mutex);

Expand All @@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
for_each_subsys(ss, ssid) {
if (ss->early_init) {
struct cgroup_subsys_state *css =
@@ -6265,6 +6274,10 @@ static int __init cgroup_disable(char *s
@@ -6270,6 +6279,10 @@ static int __init cgroup_disable(char *s
strcmp(token, ss->legacy_name))
continue;

Expand All @@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static_branch_disable(cgroup_subsys_enabled_key[i]);
pr_info("Disabling %s control group subsystem\n",
ss->name);
@@ -6274,6 +6287,31 @@ static int __init cgroup_disable(char *s
@@ -6279,6 +6292,31 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);

Expand Down
Expand Up @@ -102,23 +102,23 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
static u32 vc4_hdmi_channel_map(struct vc4_hdmi *vc4_hdmi, u32 channel_mask)
{
int i;
@@ -2344,6 +2361,7 @@ static const struct vc4_hdmi_variant bcm
@@ -2336,6 +2353,7 @@ static const struct vc4_hdmi_variant bcm
.phy_disable = vc4_hdmi_phy_disable,
.phy_rng_enable = vc4_hdmi_phy_rng_enable,
.phy_rng_disable = vc4_hdmi_phy_rng_disable,
+ .calc_hsm_clock = vc4_hdmi_calc_hsm_clock,
.channel_map = vc4_hdmi_channel_map,
.supports_hdr = false,
};
@@ -2372,6 +2390,7 @@ static const struct vc4_hdmi_variant bcm
@@ -2364,6 +2382,7 @@ static const struct vc4_hdmi_variant bcm
.phy_disable = vc5_hdmi_phy_disable,
.phy_rng_enable = vc5_hdmi_phy_rng_enable,
.phy_rng_disable = vc5_hdmi_phy_rng_disable,
+ .calc_hsm_clock = vc5_hdmi_calc_hsm_clock,
.channel_map = vc5_hdmi_channel_map,
.supports_hdr = true,
};
@@ -2400,6 +2419,7 @@ static const struct vc4_hdmi_variant bcm
@@ -2392,6 +2411,7 @@ static const struct vc4_hdmi_variant bcm
.phy_disable = vc5_hdmi_phy_disable,
.phy_rng_enable = vc5_hdmi_phy_rng_enable,
.phy_rng_disable = vc5_hdmi_phy_rng_disable,
Expand Down
Expand Up @@ -24,7 +24,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
{
struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap);
/* clock period in microseconds */
@@ -1775,38 +1775,53 @@ static int vc4_hdmi_cec_adap_enable(stru
@@ -1769,38 +1769,53 @@ static int vc4_hdmi_cec_adap_enable(stru
val |= ((4700 / usecs) << VC4_HDMI_CEC_CNT_TO_4700_US_SHIFT) |
((4500 / usecs) << VC4_HDMI_CEC_CNT_TO_4500_US_SHIFT);

Expand Down
Expand Up @@ -25,57 +25,43 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>

--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1902,40 +1902,49 @@ static int vc4_hdmi_cec_init(struct vc4_
@@ -1896,25 +1896,23 @@ static int vc4_hdmi_cec_init(struct vc4_
vc4_hdmi_cec_update_clk_div(vc4_hdmi);

if (vc4_hdmi->variant->external_irq_controller) {
- ret = devm_request_threaded_irq(&pdev->dev,
- platform_get_irq_byname(pdev, "cec-rx"),
- vc4_cec_irq_handler_rx_bare,
- vc4_cec_irq_handler_rx_thread, 0,
- "vc4 hdmi cec rx", vc4_hdmi);
+ ret = request_threaded_irq(platform_get_irq_byname(pdev, "cec-rx"),
+ vc4_cec_irq_handler_rx_bare,
+ vc4_cec_irq_handler_rx_thread, 0,
+ "vc4 hdmi cec rx", vc4_hdmi);
vc4_cec_irq_handler_rx_bare,
vc4_cec_irq_handler_rx_thread, 0,
"vc4 hdmi cec rx", vc4_hdmi);
if (ret)
goto err_delete_cec_adap;

- ret = devm_request_threaded_irq(&pdev->dev,
- platform_get_irq_byname(pdev, "cec-tx"),
- vc4_cec_irq_handler_tx_bare,
- vc4_cec_irq_handler_tx_thread, 0,
- "vc4 hdmi cec tx", vc4_hdmi);
+ ret = request_threaded_irq(platform_get_irq_byname(pdev, "cec-tx"),
+ vc4_cec_irq_handler_tx_bare,
+ vc4_cec_irq_handler_tx_thread, 0,
+ "vc4 hdmi cec tx", vc4_hdmi);
vc4_cec_irq_handler_tx_bare,
vc4_cec_irq_handler_tx_thread, 0,
"vc4 hdmi cec tx", vc4_hdmi);
if (ret)
- goto err_delete_cec_adap;
+ goto err_remove_cec_rx_handler;
+
} else {
HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, 0xffffffff);

- ret = devm_request_threaded_irq(&pdev->dev, platform_get_irq(pdev, 0),
- vc4_cec_irq_handler,
- vc4_cec_irq_handler_thread, 0,
- "vc4 hdmi cec", vc4_hdmi);
+ ret = request_threaded_irq(platform_get_irq(pdev, 0),
+ vc4_cec_irq_handler,
+ vc4_cec_irq_handler_thread, 0,
+ "vc4 hdmi cec", vc4_hdmi);
if (ret)
goto err_delete_cec_adap;
}
vc4_cec_irq_handler,
vc4_cec_irq_handler_thread, 0,
"vc4 hdmi cec", vc4_hdmi);
@@ -1924,10 +1922,20 @@ static int vc4_hdmi_cec_init(struct vc4_

ret = cec_register_adapter(vc4_hdmi->cec_adap, &pdev->dev);
if (ret < 0)
- goto err_delete_cec_adap;
+ goto err_remove_handlers;

pm_runtime_put(&vc4_hdmi->pdev->dev);

return 0;

+err_remove_handlers:
Expand All @@ -91,7 +77,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
err_delete_cec_adap:
cec_delete_adapter(vc4_hdmi->cec_adap);

@@ -1944,6 +1953,15 @@ err_delete_cec_adap:
@@ -1936,6 +1944,15 @@ err_delete_cec_adap:

static void vc4_hdmi_cec_exit(struct vc4_hdmi *vc4_hdmi)
{
Expand Down
Expand Up @@ -83,7 +83,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
#ifdef CONFIG_DRM_VC4_HDMI_CEC
static irqreturn_t vc4_cec_irq_handler_rx_thread(int irq, void *priv)
{
@@ -2314,7 +2326,7 @@ static int vc4_hdmi_bind(struct device *
@@ -2305,7 +2317,7 @@ static int vc4_hdmi_bind(struct device *

ret = vc4_hdmi_cec_init(vc4_hdmi);
if (ret)
Expand All @@ -92,7 +92,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>

ret = vc4_hdmi_audio_init(vc4_hdmi);
if (ret)
@@ -2328,6 +2340,8 @@ static int vc4_hdmi_bind(struct device *
@@ -2319,6 +2331,8 @@ static int vc4_hdmi_bind(struct device *

err_free_cec:
vc4_hdmi_cec_exit(vc4_hdmi);
Expand All @@ -101,7 +101,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
err_destroy_conn:
vc4_hdmi_connector_destroy(&vc4_hdmi->connector);
err_destroy_encoder:
@@ -2369,6 +2383,7 @@ static void vc4_hdmi_unbind(struct devic
@@ -2360,6 +2374,7 @@ static void vc4_hdmi_unbind(struct devic
kfree(vc4_hdmi->hd_regset.regs);

vc4_hdmi_cec_exit(vc4_hdmi);
Expand Down
Expand Up @@ -18,7 +18,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>

--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -2304,6 +2304,18 @@ static int vc4_hdmi_bind(struct device *
@@ -2295,6 +2295,18 @@ static int vc4_hdmi_bind(struct device *
if (ret)
goto err_put_ddc;

Expand All @@ -37,7 +37,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
if (vc4_hdmi->variant->reset)
vc4_hdmi->variant->reset(vc4_hdmi);

@@ -2315,8 +2327,6 @@ static int vc4_hdmi_bind(struct device *
@@ -2306,8 +2318,6 @@ static int vc4_hdmi_bind(struct device *
clk_prepare_enable(vc4_hdmi->pixel_bvb_clock);
}

Expand All @@ -46,7 +46,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS);
drm_encoder_helper_add(encoder, &vc4_hdmi_encoder_helper_funcs);

@@ -2340,6 +2350,8 @@ static int vc4_hdmi_bind(struct device *
@@ -2331,6 +2341,8 @@ static int vc4_hdmi_bind(struct device *
vc4_hdmi_debugfs_regs,
vc4_hdmi);

Expand All @@ -55,7 +55,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
return 0;

err_free_cec:
@@ -2350,6 +2362,7 @@ err_destroy_conn:
@@ -2341,6 +2353,7 @@ err_destroy_conn:
vc4_hdmi_connector_destroy(&vc4_hdmi->connector);
err_destroy_encoder:
drm_encoder_cleanup(encoder);
Expand Down

0 comments on commit e9c1c83

Please sign in to comment.