lkml.org 
[lkml]   [2018]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 78/83] drm/rockchip: Allow driver to be shutdown on reboot/kexec
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Marc Zyngier <marc.zyngier@arm.com>

    commit 7f3ef5dedb146e3d5063b6845781ad1bb59b92b5 upstream.

    Leaving the DRM driver enabled on reboot or kexec has the annoying
    effect of leaving the display generating transactions whilst the
    IOMMU has been shut down.

    In turn, the IOMMU driver (which shares its interrupt line with
    the VOP) starts warning either on shutdown or when entering the
    secondary kernel in the kexec case (nothing is expected on that
    front).

    A cheap way of ensuring that things are nicely shut down is to
    register a shutdown callback in the platform driver.

    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Tested-by: Vicente Bergas <vicencb@gmail.com>
    Signed-off-by: Heiko Stuebner <heiko@sntech.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180805124807.18169-1-marc.zyngier@arm.com
    Cc: stable@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 6 ++++++
    1 file changed, 6 insertions(+)

    --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
    +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
    @@ -478,6 +478,11 @@ static int rockchip_drm_platform_remove(
    return 0;
    }

    +static void rockchip_drm_platform_shutdown(struct platform_device *pdev)
    +{
    + rockchip_drm_platform_remove(pdev);
    +}
    +
    static const struct of_device_id rockchip_drm_dt_ids[] = {
    { .compatible = "rockchip,display-subsystem", },
    { /* sentinel */ },
    @@ -487,6 +492,7 @@ MODULE_DEVICE_TABLE(of, rockchip_drm_dt_
    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,

    \
     
     \ /
      Last update: 2018-11-19 18:26    [W:2.253 / U:0.560 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site