lkml.org 
[lkml]   [2021]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 240/432] drm: rcar-du: Shutdown the display on system shutdown
    Date
    From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

    [ Upstream commit 015f2ebb93767d40c442e749642fffaf10316d78 ]

    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.

    Implement the platform_driver .shutdown() operation and shut down the
    display to fix this.

    Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    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 c22551c2facb..2a06ec1cbefb 100644
    --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
    +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
    @@ -559,6 +559,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;
    @@ -615,6 +622,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,
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-09-16 19:42    [W:2.598 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site