From patchwork Thu May 5 13:50:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 12839586 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 64E91C433F5 for ; Thu, 5 May 2022 13:50:17 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4114710E1F9; Thu, 5 May 2022 13:50:14 +0000 (UTC) Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [IPv6:2a00:1450:4864:20::12a]) by gabe.freedesktop.org (Postfix) with ESMTPS id BB5E510E1F7 for ; Thu, 5 May 2022 13:50:11 +0000 (UTC) Received: by mail-lf1-x12a.google.com with SMTP id i10so7565188lfg.13 for ; Thu, 05 May 2022 06:50:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=48aIM/KpZ2USvZfBjFUkxb9XMnlqoCOw+7fM77NfVAA=; b=NMoeNvcLJk+xmbePWh3To9N8YfwCw+vd1k+B9lNsy1gqOT9AMDa45R//CGpom4peg+ /v1FCPS0nMVyWu22f0C64GjOlFzVNoqdymZCI1IgtvjpD3OHA+mRJTlLe5GqbOQA5ctQ MIKGqSOGnNYbss2M26R4BntyKss1T1oKWxvC7cuVOSFofNo95QR4aiXpAtha03xewhy3 jk5PJyDbp0302H8n24oqony+SD8B1/rtgyh0RH/Ohp3daHD6ixh5raeIJ9ChnylFE8le FGIP4OBESn8VgJ43dWCK0TDfFGIVQTxaCR0jmBvFW0wAZGnjBWDctsFWWIqpXVHheo/g X/Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=48aIM/KpZ2USvZfBjFUkxb9XMnlqoCOw+7fM77NfVAA=; b=FeUoRu/XjF8Lq0XyAYjCJ3RuOUqd1eO44DzYIo/T/+aZzQ8cyVd7CeAl64EzJlpCgy 99SpjTHLtsszcmcCdxgL2DV7kXSJNqLYCjveRKHLmSH2Ate/j3Aba3osqKK9DYdc5SHb U1goCNhWaub0+Q4jXHXjac1dTosglsZxZoJFp4PviI7NbqUg1tav8GowTORS2jO8FmvD hAR7tDffeXy4vEXIKMJmfx0pGJrGP7/wCKVu6bHbrj/qgMDz4pqnBbWY/+GynQg2DFjW Ph7Xt17QfJaWrULbxSQUf2UjqtJX9ZkOBulePbqmfSd0+w1KjDOHtHL3uRxpXhLwNdo9 1YNg== X-Gm-Message-State: AOAM5338JQvAoAa1CsQRDlhZMx8KtBnMeONrFhlo8S82iay4xaUlNUsO GGKtVUKNhkSFU7HT0gQSb+FLsC8MHY68Gw== X-Google-Smtp-Source: ABdhPJzqtJE/niHNvJTferK/O5UKI9g35GxmefvqtWOB+1+GmgdY0AtN0f9+Srwt/hIbilzloKtYGA== X-Received: by 2002:a05:6512:128e:b0:473:d371:5a38 with SMTP id u14-20020a056512128e00b00473d3715a38mr2576589lfs.502.1651758610065; Thu, 05 May 2022 06:50:10 -0700 (PDT) Received: from eriador.lan ([37.153.55.125]) by smtp.gmail.com with ESMTPSA id c17-20020a2ea791000000b0024f3d1dae96sm210935ljf.30.2022.05.05.06.50.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 May 2022 06:50:09 -0700 (PDT) From: Dmitry Baryshkov To: Rob Clark , Sean Paul , Abhinav Kumar Subject: [PATCH 1/2] drm/msm/mdp4: move iommu_domain_alloc() call close to its usage Date: Thu, 5 May 2022 16:50:07 +0300 Message-Id: <20220505135008.1351533-2-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220505135008.1351533-1-dmitry.baryshkov@linaro.org> References: <20220505135008.1351533-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Airlie , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, Bjorn Andersson , Stephen Boyd , freedreno@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Move iommu_domain_alloc() in front of adress space/IOMMU initialization. This allows us to drop it from struct mdp4_cfg_platform which remained from the pre-DT days. Signed-off-by: Dmitry Baryshkov Reviewed-by: Abhinav Kumar --- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 8 ++++---- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c index fb48c8c19ec3..1fba6ab06eb1 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c @@ -388,6 +388,7 @@ static int mdp4_kms_init(struct drm_device *dev) struct msm_drm_private *priv = dev->dev_private; struct mdp4_kms *mdp4_kms; struct msm_kms *kms = NULL; + struct iommu_domain *iommu; struct msm_gem_address_space *aspace; int irq, ret; u32 major, minor; @@ -495,9 +496,9 @@ static int mdp4_kms_init(struct drm_device *dev) mdp4_disable(mdp4_kms); mdelay(16); - if (config->iommu) { - struct msm_mmu *mmu = msm_iommu_new(&pdev->dev, - config->iommu); + iommu = iommu_domain_alloc(pdev->dev.bus); + if (iommu) { + struct msm_mmu *mmu = msm_iommu_new(&pdev->dev, iommu); aspace = msm_gem_address_space_create(mmu, "mdp4", 0x1000, 0x100000000 - 0x1000); @@ -557,7 +558,6 @@ static struct mdp4_platform_config *mdp4_get_config(struct platform_device *dev) /* TODO: Chips that aren't apq8064 have a 200 Mhz max_clk */ config.max_clk = 266667000; - config.iommu = iommu_domain_alloc(&platform_bus_type); return &config; } diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h index e8ee92ab7956..7cc549b6a82b 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h @@ -44,7 +44,6 @@ struct mdp4_kms { /* platform config data (ie. from DT, or pdata) */ struct mdp4_platform_config { - struct iommu_domain *iommu; uint32_t max_clk; }; From patchwork Thu May 5 13:50:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 12839587 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DE125C433F5 for ; Thu, 5 May 2022 13:50:19 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9060110E24C; Thu, 5 May 2022 13:50:14 +0000 (UTC) Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com [IPv6:2a00:1450:4864:20::131]) by gabe.freedesktop.org (Postfix) with ESMTPS id D39DC10E219 for ; Thu, 5 May 2022 13:50:12 +0000 (UTC) Received: by mail-lf1-x131.google.com with SMTP id t25so7583176lfg.7 for ; Thu, 05 May 2022 06:50:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4TMEXMjLJmLbEp82QyGh3Ohj7SMwYayrIWMx4meas6A=; b=mq46J0H/IjNAIDz8bE6PrQuyTKG1597bUo+Deucv2qyqHWQbgksoq7fvxfIFGSD4VH Yvwuj4IBetARd3HxM7F45rEYRocIgBGSKM7ZUa8EuA6u3Bm24A7NtIKh7VEWeRwfdx1T OQTAyrtqFKNcG2RwP9jzeANvrP/kWSfE9uvMzG7heqPMz+ppsyDUXaAJQX0KEkS0oo1u ruYl8LKRZv7Ri5T+/L+tUV4/ZF5czKHuZObBBTypUTi3vY7w5QSqcPWmXT2u3ST+xXJF ws9ekV5CouCMxIrErUSJfoLMVxRhO+3mLMUQBV721oUJPx4QFrLWyrfwLFNr452ElBiY kRXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4TMEXMjLJmLbEp82QyGh3Ohj7SMwYayrIWMx4meas6A=; b=sd8X4soGN2RuA9/OGd8LmpXfYx0Tvv/uQLE+KAe/oBGnnTZpaC/6+cQGZ5Y788vMqR H6M55LKfmXEv3WeGVHbEEApS31+tiTo0yYSKUl0ncWdF8O4QQ3SDMnr/8TFq54m7JgPf MFPW/YQeLBEUgy7+1yyXfvtLpB1CtPX+xkYa3RzutGkwyZSeSOHfMvzqqZkXjw5srOW8 Us3HSvLgfIS+skd3sQFdcWF55oTGIE+MJBT+JgTakjl6Fk205iJwFvbOOAAyq7bljUhr wPRkdYoQMqqsJbiN8+lr++GOpCYVJhjt5QgVWiSHnyA6z3G/zpmiZs70fF6P2Sx/F1Wz Wlmg== X-Gm-Message-State: AOAM530kzr+HUrYAUSW+8Drq40oqRBzUhZ9o46FeNAiMun6R8BnhpWGh o46+IXZ2wWDtGA+5m4UGRKw6Rw== X-Google-Smtp-Source: ABdhPJy4OvbVt3GEoZrJDhM4UmwcIpYhzXR+SeylsTgUHNK2EM6X9YusgMqR1gXPROkM/kerD31MAA== X-Received: by 2002:a05:6512:1395:b0:446:d382:79a5 with SMTP id p21-20020a056512139500b00446d38279a5mr17647734lfa.210.1651758610739; Thu, 05 May 2022 06:50:10 -0700 (PDT) Received: from eriador.lan ([37.153.55.125]) by smtp.gmail.com with ESMTPSA id c17-20020a2ea791000000b0024f3d1dae96sm210935ljf.30.2022.05.05.06.50.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 May 2022 06:50:10 -0700 (PDT) From: Dmitry Baryshkov To: Rob Clark , Sean Paul , Abhinav Kumar Subject: [PATCH 2/2] drm/msm/mdp4: get rid of struct mdp4_platform_config Date: Thu, 5 May 2022 16:50:08 +0300 Message-Id: <20220505135008.1351533-3-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220505135008.1351533-1-dmitry.baryshkov@linaro.org> References: <20220505135008.1351533-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Airlie , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, Bjorn Andersson , Stephen Boyd , freedreno@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Struct mdp4_platform_config is a relict from the DT-conversion time. Move the max_clk field to the mdp4_kms_init(), the place where it is used and drop the struct mdp4_platform_config and the mdp4_get_config() function. Signed-off-by: Dmitry Baryshkov Reviewed-by: Abhinav Kumar --- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 21 ++++++--------------- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h | 5 ----- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c index 1fba6ab06eb1..ccde710c63fa 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c @@ -13,8 +13,6 @@ #include "msm_mmu.h" #include "mdp4_kms.h" -static struct mdp4_platform_config *mdp4_get_config(struct platform_device *dev); - static int mdp4_hw_init(struct msm_kms *kms) { struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); @@ -384,7 +382,6 @@ static void read_mdp_hw_revision(struct mdp4_kms *mdp4_kms, static int mdp4_kms_init(struct drm_device *dev) { struct platform_device *pdev = to_platform_device(dev->dev); - struct mdp4_platform_config *config = mdp4_get_config(pdev); struct msm_drm_private *priv = dev->dev_private; struct mdp4_kms *mdp4_kms; struct msm_kms *kms = NULL; @@ -392,6 +389,10 @@ static int mdp4_kms_init(struct drm_device *dev) struct msm_gem_address_space *aspace; int irq, ret; u32 major, minor; + unsigned long max_clk; + + /* TODO: Chips that aren't apq8064 have a 200 Mhz max_clk */ + max_clk = 266667000; mdp4_kms = kzalloc(sizeof(*mdp4_kms), GFP_KERNEL); if (!mdp4_kms) { @@ -459,7 +460,7 @@ static int mdp4_kms_init(struct drm_device *dev) goto fail; } - clk_set_rate(mdp4_kms->clk, config->max_clk); + clk_set_rate(mdp4_kms->clk, max_clk); read_mdp_hw_revision(mdp4_kms, &major, &minor); @@ -479,7 +480,7 @@ static int mdp4_kms_init(struct drm_device *dev) ret = PTR_ERR(mdp4_kms->lut_clk); goto fail; } - clk_set_rate(mdp4_kms->lut_clk, config->max_clk); + clk_set_rate(mdp4_kms->lut_clk, max_clk); } pm_runtime_enable(dev->dev); @@ -552,16 +553,6 @@ static int mdp4_kms_init(struct drm_device *dev) return ret; } -static struct mdp4_platform_config *mdp4_get_config(struct platform_device *dev) -{ - static struct mdp4_platform_config config = {}; - - /* TODO: Chips that aren't apq8064 have a 200 Mhz max_clk */ - config.max_clk = 266667000; - - return &config; -} - static const struct dev_pm_ops mdp4_pm_ops = { .prepare = msm_pm_prepare, .complete = msm_pm_complete, diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h index 7cc549b6a82b..01179e764a29 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h @@ -42,11 +42,6 @@ struct mdp4_kms { }; #define to_mdp4_kms(x) container_of(x, struct mdp4_kms, base) -/* platform config data (ie. from DT, or pdata) */ -struct mdp4_platform_config { - uint32_t max_clk; -}; - static inline void mdp4_write(struct mdp4_kms *mdp4_kms, u32 reg, u32 data) { msm_writel(data, mdp4_kms->mmio + reg);