From 2300a29ee4be95c8aef9adf6ddd7a94ce848db2f Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 5 Feb 2022 19:12:30 +0100 Subject: [PATCH] 5.15-stable patches added patches: revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch --- ...the-device-is-powered-with-cec-again.patch | 49 +++++++++++++ ...-sure-the-device-is-powered-with-cec.patch | 73 +++++++++++++++++++ queue-5.15/series | 2 + 3 files changed, 124 insertions(+) create mode 100644 queue-5.15/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch create mode 100644 queue-5.15/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch diff --git a/queue-5.15/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch b/queue-5.15/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch new file mode 100644 index 00000000000..9cd892b2155 --- /dev/null +++ b/queue-5.15/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch @@ -0,0 +1,49 @@ +From b01b0c0b6d266dabd0ae5d223777aa2483c2f385 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Sat, 5 Feb 2022 19:01:29 +0100 +Subject: [PATCH 2/2] Revert "drm/vc4: hdmi: Make sure the device is powered with CEC" again + +This reverts commit fbe1e801bc1fa0a4c34a5284abf6ad0ef887cdfc which is +commit 20b0dfa86bef0e80b41b0e5ac38b92f23b6f27f9 upstream. + +It wasn't applied correctly, something went wrong with an attempt to fix +it up again, so just revert the whole thing to be back at a clean state. + +Reported-by: Guenter Roeck +Link: https://lore.kernel.org/r/20220205171238.GA3073350@roeck-us.net +Reported-by: Alexey Khoroshilov +Link: https://lore.kernel.org/r/Yf5lNIJnvhP4ajam@kroah.com +Cc: Dave Stevenson +Cc: Maxime Ripard +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 10 +--------- + 1 file changed, 1 insertion(+), 9 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1735,14 +1735,8 @@ static int vc4_hdmi_cec_adap_enable(stru + struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); + /* clock period in microseconds */ + const u32 usecs = 1000000 / CEC_CLOCK_FREQ; +- u32 val; +- int ret; ++ u32 val = HDMI_READ(HDMI_CEC_CNTRL_5); + +- ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev); +- if (ret) +- return ret; +- +- val = HDMI_READ(HDMI_CEC_CNTRL_5); + val &= ~(VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET | + VC4_HDMI_CEC_CNT_TO_4700_US_MASK | + VC4_HDMI_CEC_CNT_TO_4500_US_MASK); +@@ -1888,8 +1882,6 @@ static int vc4_hdmi_cec_init(struct vc4_ + if (ret < 0) + goto err_remove_handlers; + +- pm_runtime_put(&vc4_hdmi->pdev->dev); +- + return 0; + + err_remove_handlers: diff --git a/queue-5.15/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch b/queue-5.15/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch new file mode 100644 index 00000000000..074a4954030 --- /dev/null +++ b/queue-5.15/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch @@ -0,0 +1,73 @@ +From cd0c1efaf55de281d89947d453b3c212e5bfd8a6 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Sat, 5 Feb 2022 19:01:20 +0100 +Subject: [PATCH 1/2] Revert "drm/vc4: hdmi: Make sure the device is powered with CEC" + +This reverts commit d5e81e3a3e0b15964a86c19b5c27397676d6fc1b which is +commit 20b0dfa86bef0e80b41b0e5ac38b92f23b6f27f9 upstream. + +It wasn't applied correctly, something went wrong with an attempt to fix +it up again, so just revert the whole thing to be back at a clean state. + +Reported-by: Guenter Roeck +Link: https://lore.kernel.org/r/20220205171238.GA3073350@roeck-us.net +Reported-by: Alexey Khoroshilov +Link: https://lore.kernel.org/r/Yf5lNIJnvhP4ajam@kroah.com +Cc: Dave Stevenson +Cc: Maxime Ripard +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 25 ++++++++++++------------- + 1 file changed, 12 insertions(+), 13 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1738,18 +1738,18 @@ static int vc4_hdmi_cec_adap_enable(stru + u32 val; + int ret; + +- if (enable) { +- ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev); +- if (ret) +- return ret; ++ ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev); ++ if (ret) ++ return ret; + +- val = HDMI_READ(HDMI_CEC_CNTRL_5); +- val &= ~(VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET | +- VC4_HDMI_CEC_CNT_TO_4700_US_MASK | +- VC4_HDMI_CEC_CNT_TO_4500_US_MASK); +- val |= ((4700 / usecs) << VC4_HDMI_CEC_CNT_TO_4700_US_SHIFT) | +- ((4500 / usecs) << VC4_HDMI_CEC_CNT_TO_4500_US_SHIFT); ++ val = HDMI_READ(HDMI_CEC_CNTRL_5); ++ val &= ~(VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET | ++ VC4_HDMI_CEC_CNT_TO_4700_US_MASK | ++ VC4_HDMI_CEC_CNT_TO_4500_US_MASK); ++ val |= ((4700 / usecs) << VC4_HDMI_CEC_CNT_TO_4700_US_SHIFT) | ++ ((4500 / usecs) << VC4_HDMI_CEC_CNT_TO_4500_US_SHIFT); + ++ if (enable) { + HDMI_WRITE(HDMI_CEC_CNTRL_5, val | + VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); + HDMI_WRITE(HDMI_CEC_CNTRL_5, val); +@@ -1777,10 +1777,7 @@ static int vc4_hdmi_cec_adap_enable(stru + HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, VC4_HDMI_CPU_CEC); + HDMI_WRITE(HDMI_CEC_CNTRL_5, val | + VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); +- +- pm_runtime_put(&vc4_hdmi->pdev->dev); + } +- + return 0; + } + +@@ -1891,6 +1888,8 @@ static int vc4_hdmi_cec_init(struct vc4_ + if (ret < 0) + goto err_remove_handlers; + ++ pm_runtime_put(&vc4_hdmi->pdev->dev); ++ + return 0; + + err_remove_handlers: diff --git a/queue-5.15/series b/queue-5.15/series index e69de29bb2d..cf41096729a 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -0,0 +1,2 @@ +revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch +revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch -- 2.47.3