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.8 583/633] drm/panfrost: add support for vendor quirk
    Date
    From: Neil Armstrong <narmstrong@baylibre.com>

    [ Upstream commit 91e89097b86f566636ea5a7329c79d5521be46d2 ]

    The T820, G31 & G52 GPUs integrated by Amlogic in the respective GXM,
    G12A/SM1 & G12B SoCs needs a quirk in the PWR registers after each reset.

    This adds a callback in the device compatible struct of permit this.

    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    [Steven: Fix typo in commit log]
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Signed-off-by: Steven Price <steven.price@arm.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200916150147.25753-2-narmstrong@baylibre.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/panfrost/panfrost_device.h | 3 +++
    drivers/gpu/drm/panfrost/panfrost_gpu.c | 4 ++++
    2 files changed, 7 insertions(+)

    diff --git a/drivers/gpu/drm/panfrost/panfrost_device.h b/drivers/gpu/drm/panfrost/panfrost_device.h
    index c30c719a80594..3c4a85213c15f 100644
    --- a/drivers/gpu/drm/panfrost/panfrost_device.h
    +++ b/drivers/gpu/drm/panfrost/panfrost_device.h
    @@ -69,6 +69,9 @@ struct panfrost_compatible {
    int num_pm_domains;
    /* Only required if num_pm_domains > 1. */
    const char * const *pm_domain_names;
    +
    + /* Vendor implementation quirks callback */
    + void (*vendor_quirk)(struct panfrost_device *pfdev);
    };

    struct panfrost_device {
    diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c
    index a9d08a2927aa3..165403878ad9b 100644
    --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
    +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
    @@ -146,6 +146,10 @@ static void panfrost_gpu_init_quirks(struct panfrost_device *pfdev)

    if (quirks)
    gpu_write(pfdev, GPU_JM_CONFIG, quirks);
    +
    + /* Here goes platform specific quirks */
    + if (pfdev->comp->vendor_quirk)
    + pfdev->comp->vendor_quirk(pfdev);
    }

    #define MAX_HW_REVS 6
    --
    2.25.1


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