lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 248/757] drm/panfrost: Ensure GPU quirks are always initialised
    Date
    From: Steven Price <steven.price@arm.com>

    [ Upstream commit 8c3c818c23a5bbce6ff180dd2ee04415241df77c ]

    The GPU 'CONFIG' registers used to work around hardware issues are
    cleared on reset so need to be programmed every time the GPU is reset.
    However panfrost_device_reset() failed to do this.

    To avoid this in future instead move the call to
    panfrost_gpu_init_quirks() to panfrost_gpu_power_on() so that the
    regsiters are always programmed just before the cores are powered.

    Fixes: f3ba91228e8e ("drm/panfrost: Add initial panfrost driver")
    Signed-off-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200909122957.51667-1-steven.price@arm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/panfrost/panfrost_gpu.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c
    index f2c1ddc41a9bf..689b92893e0e1 100644
    --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
    +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
    @@ -304,6 +304,8 @@ void panfrost_gpu_power_on(struct panfrost_device *pfdev)
    int ret;
    u32 val;

    + panfrost_gpu_init_quirks(pfdev);
    +
    /* Just turn on everything for now */
    gpu_write(pfdev, L2_PWRON_LO, pfdev->features.l2_present);
    ret = readl_relaxed_poll_timeout(pfdev->iomem + L2_READY_LO,
    @@ -355,7 +357,6 @@ int panfrost_gpu_init(struct panfrost_device *pfdev)
    return err;
    }

    - panfrost_gpu_init_quirks(pfdev);
    panfrost_gpu_power_on(pfdev);

    return 0;
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 16:44    [W:3.210 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site