2019-03-08 18:38:05

by Johan Jonker

[permalink] [raw]
Subject: [PATCH] drm: rockchip: add shutdown function to poweroff VOP and HDMI TX

When a MK808 TV-stick with RK3066 processor
is given a poweroff command, the monitor doesn't turn blank,
but freezes. The VOP and HDMI share the same power domain,
so that means that both there clocks were never turned off.
Fix the disable of the VOP and HDMI TX by adding an extra
shutdown function that will unbind both drivers.

Signed-off-by: Johan Jonker <[email protected]>
---
drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index 8d7a634c1..66a8e99a3 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -448,6 +448,13 @@ static int rockchip_drm_platform_remove(struct platform_device *pdev)
return 0;
}

+static void rockchip_drm_platform_shutdown(struct platform_device *pdev)
+{
+ component_master_del(&pdev->dev, &rockchip_drm_ops);
+
+ rockchip_drm_match_remove(&pdev->dev);
+}
+
static const struct of_device_id rockchip_drm_dt_ids[] = {
{ .compatible = "rockchip,display-subsystem", },
{ /* sentinel */ },
@@ -457,6 +464,7 @@ MODULE_DEVICE_TABLE(of, rockchip_drm_dt_ids);
static struct platform_driver rockchip_drm_platform_driver = {
.probe = rockchip_drm_platform_probe,
.remove = rockchip_drm_platform_remove,
+ .shutdown = rockchip_drm_platform_shutdown,
.driver = {
.name = "rockchip-drm",
.of_match_table = rockchip_drm_dt_ids,
--
2.11.0



2019-03-11 18:17:22

by Johan Jonker

[permalink] [raw]
Subject: Re: [PATCH] drm: rockchip: add shutdown function to poweroff VOP and HDMI TX

Hi,

Just found out that this was patched and reverted before.(lol)
The revert was 3 months ago for RK3399 boards, but other processors
like RK3066 are left without shutdown now.

What's the status for a fix?
Keep using the old patch for now?


drm/rockchip: shutdown drm subsystem on shutdown
https://patchwork.kernel.org/patch/10556151/

[for-4.20] Revert "drm/rockchip: Allow driver to be shutdown on reboot/kexec"
https://patchwork.kernel.org/patch/10714725/

2019-03-08 19:37 GMT+01:00, Johan Jonker <[email protected]>:
> When a MK808 TV-stick with RK3066 processor
> is given a poweroff command, the monitor doesn't turn blank,
> but freezes. The VOP and HDMI share the same power domain,
> so that means that both there clocks were never turned off.
> Fix the disable of the VOP and HDMI TX by adding an extra
> shutdown function that will unbind both drivers.

2019-04-02 13:03:57

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH] drm: rockchip: add shutdown function to poweroff VOP and HDMI TX

Hi Johan,

Am Montag, 11. M?rz 2019, 19:14:27 CEST schrieb Johan Jonker:
> Hi,
>
> Just found out that this was patched and reverted before.(lol)
> The revert was 3 months ago for RK3399 boards, but other processors
> like RK3066 are left without shutdown now.
>
> What's the status for a fix?
> Keep using the old patch for now?

I've just resurrected the patch from Vicente, calling the atomic_shutdown
helper. Sadly I forgot to Cc you there, but you can for example find it at

https://patchwork.freedesktop.org/patch/295946/


Heiko