From e9c1c83679891a02e3b95b954847a95621cbbc79 Mon Sep 17 00:00:00 2001 From: John Audia Date: Sun, 6 Feb 2022 11:51:17 -0500 Subject: kernel: bump 5.10 to 5.10.98 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 --- ...move-cec_available-flag-as-always-support.patch | 4 +-- ...-all-the-HDMI-registers-into-the-debugfs-.patch | 4 +-- ...0-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch | 4 +-- ...-hdmi-Support-BCM2711-CEC-interrupt-setup.patch | 10 +++--- ...i-Don-t-register-the-CEC-adapter-if-there.patch | 2 +- ...-HDR-metadata-property-to-the-VC5-HDMI-co.patch | 6 ++-- ...drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch | 2 +- ...hdmi-Rely-on-interrupts-to-handle-hotplug.patch | 2 +- ...c4-hdmi-Add-a-workqueue-to-set-scrambling.patch | 2 +- ...9-cgroup-Disable-cgroup-memory-by-default.patch | 8 ++--- ...i-Use-a-fixed-rate-for-the-HSM-clock-on-B.patch | 6 ++-- ...i-Split-the-CEC-disable-enable-functions-.patch | 2 +- ...i-Drop-devm-interrupt-handler-for-CEC-int.patch | 38 +++++++--------------- ...i-Drop-devm-interrupt-handler-for-hotplug.patch | 6 ++-- ...i-Make-sure-the-controller-is-powered-up-.patch | 8 ++--- 15 files changed, 45 insertions(+), 59 deletions(-) (limited to 'target/linux/bcm27xx/patches-5.10') diff --git a/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch b/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch index 2f2199e722..d7610cabb0 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch @@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley --- 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; @@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley 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, diff --git a/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch b/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch index 0aa1d2e48e..edc5be80ab 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch @@ -29,7 +29,7 @@ Signed-off-by: Dave Stevenson 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; @@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson 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); } diff --git a/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch b/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch index a5b127ded7..36f46a71ba 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch @@ -27,7 +27,7 @@ Signed-off-by: Maxime Ripard 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; @@ -35,7 +35,7 @@ Signed-off-by: Maxime Ripard 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); } diff --git a/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch b/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch index dc7896978f..39b80a2a2c 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch @@ -20,7 +20,7 @@ Reviewed-by: Dave Stevenson --- 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)); @@ -34,7 +34,7 @@ Reviewed-by: Dave Stevenson 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); @@ -43,7 +43,7 @@ Reviewed-by: Dave Stevenson 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); @@ -82,7 +82,7 @@ Reviewed-by: Dave Stevenson 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, @@ -90,7 +90,7 @@ Reviewed-by: Dave Stevenson .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, diff --git a/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch b/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch index 8b82f7719d..2ead4e3667 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard --- 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; diff --git a/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch b/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch index a70c3bda1e..01bf5901aa 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch @@ -61,7 +61,7 @@ Signed-off-by: Dave Stevenson } 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, @@ -69,7 +69,7 @@ Signed-off-by: Dave Stevenson }; 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, @@ -77,7 +77,7 @@ Signed-off-by: Dave Stevenson }; 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, diff --git a/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch b/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch index 657fc46ff1..d1deaa8841 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard --- 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", diff --git a/target/linux/bcm27xx/patches-5.10/950-0601-drm-vc4-hdmi-Rely-on-interrupts-to-handle-hotplug.patch b/target/linux/bcm27xx/patches-5.10/950-0601-drm-vc4-hdmi-Rely-on-interrupts-to-handle-hotplug.patch index a15af69948..a193b4d6f2 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0601-drm-vc4-hdmi-Rely-on-interrupts-to-handle-hotplug.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0601-drm-vc4-hdmi-Rely-on-interrupts-to-handle-hotplug.patch @@ -65,7 +65,7 @@ Signed-off-by: Maxime Ripard #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; diff --git a/target/linux/bcm27xx/patches-5.10/950-0602-drm-vc4-hdmi-Add-a-workqueue-to-set-scrambling.patch b/target/linux/bcm27xx/patches-5.10/950-0602-drm-vc4-hdmi-Add-a-workqueue-to-set-scrambling.patch index dbc29f6049..b937aa97fc 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0602-drm-vc4-hdmi-Add-a-workqueue-to-set-scrambling.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0602-drm-vc4-hdmi-Add-a-workqueue-to-set-scrambling.patch @@ -70,7 +70,7 @@ Signed-off-by: Maxime Ripard 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; diff --git a/target/linux/bcm27xx/patches-5.10/950-0639-cgroup-Disable-cgroup-memory-by-default.patch b/target/linux/bcm27xx/patches-5.10/950-0639-cgroup-Disable-cgroup-memory-by-default.patch index aa3aeeaa42..2fa648a233 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0639-cgroup-Disable-cgroup-memory-by-default.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0639-cgroup-Disable-cgroup-memory-by-default.patch @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell --- 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; } @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell /** * 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); @@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell 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; @@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell 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); diff --git a/target/linux/bcm27xx/patches-5.10/950-0654-drm-vc4-hdmi-Use-a-fixed-rate-for-the-HSM-clock-on-B.patch b/target/linux/bcm27xx/patches-5.10/950-0654-drm-vc4-hdmi-Use-a-fixed-rate-for-the-HSM-clock-on-B.patch index e08ad7d320..e8f206af0c 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0654-drm-vc4-hdmi-Use-a-fixed-rate-for-the-HSM-clock-on-B.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0654-drm-vc4-hdmi-Use-a-fixed-rate-for-the-HSM-clock-on-B.patch @@ -102,7 +102,7 @@ Signed-off-by: Maxime Ripard 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, @@ -110,7 +110,7 @@ Signed-off-by: Maxime Ripard .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, @@ -118,7 +118,7 @@ Signed-off-by: Maxime Ripard .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, diff --git a/target/linux/bcm27xx/patches-5.10/950-0668-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch b/target/linux/bcm27xx/patches-5.10/950-0668-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch index 2c12f57d2a..0c01a4eded 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0668-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0668-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch @@ -24,7 +24,7 @@ Signed-off-by: Maxime Ripard { 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); diff --git a/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch b/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch index a4b9df85dc..4c3f170067 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch @@ -25,57 +25,43 @@ Signed-off-by: Maxime Ripard --- 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: @@ -91,7 +77,7 @@ Signed-off-by: Maxime Ripard 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) { diff --git a/target/linux/bcm27xx/patches-5.10/950-0676-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-hotplug.patch b/target/linux/bcm27xx/patches-5.10/950-0676-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-hotplug.patch index 062804814c..b5e43f76b2 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0676-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-hotplug.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0676-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-hotplug.patch @@ -83,7 +83,7 @@ Signed-off-by: Maxime Ripard #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) @@ -92,7 +92,7 @@ Signed-off-by: Maxime Ripard 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); @@ -101,7 +101,7 @@ Signed-off-by: Maxime Ripard 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); diff --git a/target/linux/bcm27xx/patches-5.10/950-0717-drm-vc4-hdmi-Make-sure-the-controller-is-powered-up-.patch b/target/linux/bcm27xx/patches-5.10/950-0717-drm-vc4-hdmi-Make-sure-the-controller-is-powered-up-.patch index f2424cbfac..8f5b96541e 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0717-drm-vc4-hdmi-Make-sure-the-controller-is-powered-up-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0717-drm-vc4-hdmi-Make-sure-the-controller-is-powered-up-.patch @@ -18,7 +18,7 @@ Signed-off-by: Maxime Ripard --- 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; @@ -37,7 +37,7 @@ Signed-off-by: Maxime Ripard 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); } @@ -46,7 +46,7 @@ Signed-off-by: Maxime Ripard 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); @@ -55,7 +55,7 @@ Signed-off-by: Maxime Ripard 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); -- cgit v1.2.3