lkml.org 
[lkml]   [2021]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 184/334] drm/msm/mdp4: refactor HW revision detection into read_mdp_hw_revision
    Date
    From: David Heidelberg <david@ixit.cz>

    [ Upstream commit 4d319afe666b0fc9a9855ba9bdf9ae3710ecf431 ]

    Inspired by MDP5 code.
    Also use DRM_DEV_INFO for MDP version as MDP5 does.

    Cosmetic change: uint32_t -> u32 - checkpatch suggestion.

    Signed-off-by: David Heidelberg <david@ixit.cz>
    Link: https://lore.kernel.org/r/20210705231641.315804-1-david@ixit.cz
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 27 ++++++++++++++++--------
    1 file changed, 18 insertions(+), 9 deletions(-)

    diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
    index 4a5b518288b0..3a7a01d801aa 100644
    --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
    +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
    @@ -19,20 +19,13 @@ static int mdp4_hw_init(struct msm_kms *kms)
    {
    struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms));
    struct drm_device *dev = mdp4_kms->dev;
    - uint32_t version, major, minor, dmap_cfg, vg_cfg;
    + u32 major, minor, dmap_cfg, vg_cfg;
    unsigned long clk;
    int ret = 0;

    pm_runtime_get_sync(dev->dev);

    - mdp4_enable(mdp4_kms);
    - version = mdp4_read(mdp4_kms, REG_MDP4_VERSION);
    - mdp4_disable(mdp4_kms);
    -
    - major = FIELD(version, MDP4_VERSION_MAJOR);
    - minor = FIELD(version, MDP4_VERSION_MINOR);
    -
    - DBG("found MDP4 version v%d.%d", major, minor);
    + read_mdp_hw_revision(mdp4_kms, &major, &minor);

    if (major != 4) {
    DRM_DEV_ERROR(dev->dev, "unexpected MDP version: v%d.%d\n",
    @@ -411,6 +404,22 @@ fail:
    return ret;
    }

    +static void read_mdp_hw_revision(struct mdp4_kms *mdp4_kms,
    + u32 *major, u32 *minor)
    +{
    + struct drm_device *dev = mdp4_kms->dev;
    + u32 version;
    +
    + mdp4_enable(mdp4_kms);
    + version = mdp4_read(mdp4_kms, REG_MDP4_VERSION);
    + mdp4_disable(mdp4_kms);
    +
    + *major = FIELD(version, MDP4_VERSION_MAJOR);
    + *minor = FIELD(version, MDP4_VERSION_MINOR);
    +
    + DRM_DEV_INFO(dev->dev, "MDP4 version v%d.%d", *major, *minor);
    +}
    +
    struct msm_kms *mdp4_kms_init(struct drm_device *dev)
    {
    struct platform_device *pdev = to_platform_device(dev->dev);
    --
    2.30.2


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