Hi Laurent, On 23/03/2021 00:12, Laurent Pinchart wrote: > When the system shuts down or warm reboots, the display may be active, > with the hardware accessing system memory. Upon reboot, the DDR will not > be accessible, which may cause issues. Troublesome indeed. > Implement the platform_driver .shutdown() operation and shut down the > display to fix this. > > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Looking in drm_atomic_helper.c, I saw reference to drm_atomic_helper_shutdown() also being used at driver unload ... so I was going to ask about that - until I saw "Shutdown the display on remove" which is in the next 2 patches of my review queue ;-) Reviewed-by: Kieran Bingham <kieran.bingham+renesas@xxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/rcar-du/rcar_du_drv.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c > index bfbff90588cb..43de3d8686e8 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c > +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c > @@ -561,6 +561,13 @@ static int rcar_du_remove(struct platform_device *pdev) > return 0; > } > > +static void rcar_du_shutdown(struct platform_device *pdev) > +{ > + struct rcar_du_device *rcdu = platform_get_drvdata(pdev); > + > + drm_atomic_helper_shutdown(&rcdu->ddev); > +} > + > static int rcar_du_probe(struct platform_device *pdev) > { > struct rcar_du_device *rcdu; > @@ -617,6 +624,7 @@ static int rcar_du_probe(struct platform_device *pdev) > static struct platform_driver rcar_du_platform_driver = { > .probe = rcar_du_probe, > .remove = rcar_du_remove, > + .shutdown = rcar_du_shutdown, > .driver = { > .name = "rcar-du", > .pm = &rcar_du_pm_ops, >