From nobody Tue Jun 23 21:33:27 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 96518C433FE for ; Fri, 25 Feb 2022 19:21:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232268AbiBYTWa (ORCPT ); Fri, 25 Feb 2022 14:22:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54258 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231551AbiBYTW1 (ORCPT ); Fri, 25 Feb 2022 14:22:27 -0500 Received: from m43-7.mailgun.net (m43-7.mailgun.net [69.72.43.7]) by lindbergh.monkeyblade.net (Postfix) with UTF8SMTPS id 2A4DF19D626 for ; Fri, 25 Feb 2022 11:21:54 -0800 (PST) DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1645816915; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=c2Xi93cy2SQNR4ZjXqL8IZKsAu6PtSxKErxFZHf0Pes=; b=Bn7j6AHVMNAiIQQWG4glS4tf0WWj5ZU19hmnHuxqHXKm3uFfGI4PQt6eFBwKcnMo4c96YYr7 JNqMTxN24IGxdY+6DgDJR9W544l42FDzmfP9mEIqxzWvZGR9CEB46q4sgLrYoLfcIeL/K3nd 91yZobnT8htk1ugwfS7/l+jhDXw= X-Mailgun-Sending-Ip: 69.72.43.7 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n01.prod.us-west-2.postgun.com with SMTP id 62192c5033c4b4b7593d57b4 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Fri, 25 Feb 2022 19:21:52 GMT Sender: quic_akhilpo=quicinc.com@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id ED345C4360C; Fri, 25 Feb 2022 19:21:51 +0000 (UTC) Received: from hyd-lnxbld559.qualcomm.com (unknown [202.46.22.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: akhilpo) by smtp.codeaurora.org (Postfix) with ESMTPSA id DB73CC4361B; Fri, 25 Feb 2022 19:21:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.codeaurora.org DB73CC4361B Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=fail (p=none dis=none) header.from=quicinc.com Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=quicinc.com From: Akhil P Oommen To: freedreno , dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, Rob Clark , OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS , Dmitry Baryshkov , Bjorn Andersson Cc: Abhinav Kumar , Daniel Vetter , David Airlie , Sean Paul , linux-kernel@vger.kernel.org Subject: [PATCH v2 1/5] drm/msm: Use generic name for gpu resources Date: Sat, 26 Feb 2022 00:51:28 +0530 Message-Id: <20220226005021.v2.1.Id3d2e7391192c86d0783aeb307d3f9fb61f9efee@changeid> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1645816893-22815-1-git-send-email-quic_akhilpo@quicinc.com> References: <1645816893-22815-1-git-send-email-quic_akhilpo@quicinc.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Use generic name for resources like irq and kthread instead of hardware specific name to make it easier to grep. Signed-off-by: Akhil P Oommen --- (no changes since v1) drivers/gpu/drm/msm/msm_gpu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index 2c1049c..04ca37f 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -838,7 +838,7 @@ int msm_gpu_init(struct drm_device *drm, struct platfor= m_device *pdev, gpu->funcs =3D funcs; gpu->name =3D name; =20 - gpu->worker =3D kthread_create_worker(0, "%s-worker", gpu->name); + gpu->worker =3D kthread_create_worker(0, "gpu-worker"); if (IS_ERR(gpu->worker)) { ret =3D PTR_ERR(gpu->worker); gpu->worker =3D NULL; @@ -876,7 +876,7 @@ int msm_gpu_init(struct drm_device *drm, struct platfor= m_device *pdev, } =20 ret =3D devm_request_irq(&pdev->dev, gpu->irq, irq_handler, - IRQF_TRIGGER_HIGH, gpu->name, gpu); + IRQF_TRIGGER_HIGH, "gpu-irq", gpu); if (ret) { DRM_DEV_ERROR(drm->dev, "failed to request IRQ%u: %d\n", gpu->irq, ret); goto fail; --=20 2.7.4 From nobody Tue Jun 23 21:33:27 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 13508C433EF for ; Fri, 25 Feb 2022 19:23:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233266AbiBYTYN (ORCPT ); Fri, 25 Feb 2022 14:24:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231931AbiBYTYM (ORCPT ); Fri, 25 Feb 2022 14:24:12 -0500 Received: from so254-9.mailgun.net (so254-9.mailgun.net [198.61.254.9]) by lindbergh.monkeyblade.net (Postfix) with UTF8SMTPS id CBBCB1D8316 for ; Fri, 25 Feb 2022 11:23:39 -0800 (PST) DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1645817019; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=XlQOgqUg+qM4j70seDDgBCK3GOdeY/KDt3HMzK3r7eU=; b=HE+qn7QCQADUHlTZ4tcjOR4RT8bMbETHd6+IEiSbRtXpSOmbQe/YmmQB3WwlQJ+9OOXzBVrH MQE7GDWVozCkf17m0ZU0FbbdehxRurcxtOioCH9iuPFru6OQnVWt1grfjGbWGcOOGRfvB/5v ccWf3NvMr74Kkc4bEL0HsKFJAHE= X-Mailgun-Sending-Ip: 198.61.254.9 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n03.prod.us-east-1.postgun.com with SMTP id 62192c576f8d3f1389bd1e86 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Fri, 25 Feb 2022 19:21:59 GMT Sender: quic_akhilpo=quicinc.com@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 784F0C43616; Fri, 25 Feb 2022 19:21:58 +0000 (UTC) Received: from hyd-lnxbld559.qualcomm.com (unknown [202.46.22.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: akhilpo) by smtp.codeaurora.org (Postfix) with ESMTPSA id 2FC54C43618; Fri, 25 Feb 2022 19:21:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.codeaurora.org 2FC54C43618 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=fail (p=none dis=none) header.from=quicinc.com Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=quicinc.com From: Akhil P Oommen To: freedreno , dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, Rob Clark , OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS , Dmitry Baryshkov , Bjorn Andersson Cc: Abhinav Kumar , AngeloGioacchino Del Regno , =?UTF-8?q?Christian=20K=C3=B6nig?= , Daniel Vetter , David Airlie , Jonathan Marek , Jordan Crouse , Sean Paul , Stephen Boyd , Vladimir Lypak , Yangtao Li , linux-kernel@vger.kernel.org Subject: [PATCH v2 2/5] drm/msm/adreno: Generate name from chipid for 7c3 Date: Sat, 26 Feb 2022 00:51:29 +0530 Message-Id: <20220226005021.v2.2.I9436e0e300f76b2e6c34136a0b902e8cfd73e0d6@changeid> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1645816893-22815-1-git-send-email-quic_akhilpo@quicinc.com> References: <1645816893-22815-1-git-send-email-quic_akhilpo@quicinc.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Use a gpu name which is sprintf'ed from the chipid for 7c3 gpu instead of hardcoding one. This helps to avoid code churn in case of a gpu rename. Signed-off-by: Akhil P Oommen --- Changes in v2: - use devm_kasprintf() to generate gpu name (Rob) drivers/gpu/drm/msm/adreno/adreno_device.c | 1 - drivers/gpu/drm/msm/adreno/adreno_gpu.c | 15 +++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c b/drivers/gpu/drm/m= sm/adreno/adreno_device.c index fb26193..89cfd84 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_device.c +++ b/drivers/gpu/drm/msm/adreno/adreno_device.c @@ -318,7 +318,6 @@ static const struct adreno_info gpulist[] =3D { .hwcg =3D a660_hwcg, }, { .rev =3D ADRENO_REV(6, 3, 5, ANY_ID), - .name =3D "Adreno 7c Gen 3", .fw =3D { [ADRENO_FW_SQE] =3D "a660_sqe.fw", [ADRENO_FW_GMU] =3D "a660_gmu.bin", diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/= adreno/adreno_gpu.c index f33cfa4..d9d0c13 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -929,12 +929,23 @@ int adreno_gpu_init(struct drm_device *drm, struct pl= atform_device *pdev, struct adreno_platform_config *config =3D dev->platform_data; struct msm_gpu_config adreno_gpu_config =3D { 0 }; struct msm_gpu *gpu =3D &adreno_gpu->base; + struct adreno_rev *rev =3D &config->rev; + const char *gpu_name; =20 adreno_gpu->funcs =3D funcs; adreno_gpu->info =3D adreno_info(config->rev); adreno_gpu->gmem =3D adreno_gpu->info->gmem; adreno_gpu->revn =3D adreno_gpu->info->revn; - adreno_gpu->rev =3D config->rev; + adreno_gpu->rev =3D *rev; + + gpu_name =3D adreno_gpu->info->name; + if (!gpu_name) { + gpu_name =3D devm_kasprintf(dev, GFP_KERNEL, "%d.%d.%d.%d", + rev->core, rev->major, rev->minor, + rev->patchid); + if (!gpu_name) + return -ENOMEM; + } =20 adreno_gpu_config.ioname =3D "kgsl_3d0_reg_memory"; =20 @@ -948,7 +959,7 @@ int adreno_gpu_init(struct drm_device *drm, struct plat= form_device *pdev, pm_runtime_enable(dev); =20 return msm_gpu_init(drm, pdev, &adreno_gpu->base, &funcs->base, - adreno_gpu->info->name, &adreno_gpu_config); + gpu_name, &adreno_gpu_config); } =20 void adreno_gpu_cleanup(struct adreno_gpu *adreno_gpu) --=20 2.7.4 From nobody Tue Jun 23 21:33:27 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 73565C433EF for ; Fri, 25 Feb 2022 19:22:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229659AbiBYTWk (ORCPT ); Fri, 25 Feb 2022 14:22:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54506 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230481AbiBYTWj (ORCPT ); Fri, 25 Feb 2022 14:22:39 -0500 Received: from m43-7.mailgun.net (m43-7.mailgun.net [69.72.43.7]) by lindbergh.monkeyblade.net (Postfix) with UTF8SMTPS id 4F8B01AE67F for ; Fri, 25 Feb 2022 11:22:05 -0800 (PST) DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1645816925; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=7XIgIPMw1xaAU2PGzc80TV+xNkIU5RQN+WvgogiqyWQ=; b=HTLaNy94GAqPM6tR0yu7R/CDVtAS+DxFTzkDhkSWgrkXPanOn+Y2+QNT+krh/ztmbzNbmVRX f3c8mYYPwPX8Y78yQajBtDeuT7iv/7VIRxuZQOlkUYggEKJlsztMEWCOVNP43ccWuqoKAWUa 82aLldVUEJ7T93wZGUnCHWbDfyI= X-Mailgun-Sending-Ip: 69.72.43.7 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n05.prod.us-east-1.postgun.com with SMTP id 62192c5d18892df15f9a8d45 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Fri, 25 Feb 2022 19:22:05 GMT Sender: quic_akhilpo=quicinc.com@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 14D2DC43638; Fri, 25 Feb 2022 19:22:03 +0000 (UTC) Received: from hyd-lnxbld559.qualcomm.com (unknown [202.46.22.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: akhilpo) by smtp.codeaurora.org (Postfix) with ESMTPSA id 4F9DCC43619; Fri, 25 Feb 2022 19:21:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.codeaurora.org 4F9DCC43619 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=fail (p=none dis=none) header.from=quicinc.com Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=quicinc.com From: Akhil P Oommen To: freedreno , dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, Rob Clark , OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS , Dmitry Baryshkov , Bjorn Andersson Cc: Abhinav Kumar , Daniel Vetter , David Airlie , Douglas Anderson , Jonathan Marek , Jordan Crouse , Sean Paul , linux-kernel@vger.kernel.org Subject: [PATCH v2 3/5] drm/msm/a6xx: Add support for 7c3 SKUs Date: Sat, 26 Feb 2022 00:51:30 +0530 Message-Id: <20220226005021.v2.3.I6e89c014eb17f090f716fba662bdd33073920804@changeid> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1645816893-22815-1-git-send-email-quic_akhilpo@quicinc.com> References: <1645816893-22815-1-git-send-email-quic_akhilpo@quicinc.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add support for 7c3 SKU detection using speedbin fuse. Signed-off-by: Akhil P Oommen --- (no changes since v1) drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/ad= reno/a6xx_gpu.c index 17cfad64..f308a3f 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c @@ -1736,6 +1736,18 @@ static u32 a618_get_speed_bin(u32 fuse) return UINT_MAX; } =20 +static u32 adreno_7c3_get_speed_bin(u32 fuse) +{ + if (fuse =3D=3D 0) + return 0; + else if (fuse =3D=3D 117) + return 0; + else if (fuse =3D=3D 190) + return 1; + + return UINT_MAX; +} + static u32 fuse_to_supp_hw(struct device *dev, struct adreno_rev rev, u32 = fuse) { u32 val =3D UINT_MAX; @@ -1743,6 +1755,9 @@ static u32 fuse_to_supp_hw(struct device *dev, struct= adreno_rev rev, u32 fuse) if (adreno_cmp_rev(ADRENO_REV(6, 1, 8, ANY_ID), rev)) val =3D a618_get_speed_bin(fuse); =20 + if (adreno_cmp_rev(ADRENO_REV(6, 3, 5, ANY_ID), rev)) + val =3D adreno_7c3_get_speed_bin(fuse); + if (val =3D=3D UINT_MAX) { DRM_DEV_ERROR(dev, "missing support for speed-bin: %u. Some OPPs may not be supported by h= ardware", --=20 2.7.4 From nobody Tue Jun 23 21:33:27 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 150BCC433EF for ; Fri, 25 Feb 2022 19:22:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234486AbiBYTWx (ORCPT ); Fri, 25 Feb 2022 14:22:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54784 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234707AbiBYTWt (ORCPT ); Fri, 25 Feb 2022 14:22:49 -0500 Received: from m43-7.mailgun.net (m43-7.mailgun.net [69.72.43.7]) by lindbergh.monkeyblade.net (Postfix) with UTF8SMTPS id CA6B91D6C8F for ; Fri, 25 Feb 2022 11:22:14 -0800 (PST) DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1645816936; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=zwUj2HrkpS+nK6ojajWXOkTTihq6951vwdHqmJ0CDco=; b=hmdDnWdZ2fjV04PmHrocDOF8ywJQrWYyicSHY8nHvR5CcMFy+zzo5EquPED26RV4HNzGuif7 EJPXhlQGugIqgayv7qk2h/rUB1HxRqNwJmBu4GnZ+8OTTuctYbY3cgopmTPuoN/hhVfePKxH 1m6JggCdAN3WRJmB2TUzlTekJp0= X-Mailgun-Sending-Ip: 69.72.43.7 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n05.prod.us-east-1.postgun.com with SMTP id 62192c6218892df15f9a999d (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Fri, 25 Feb 2022 19:22:10 GMT Sender: quic_akhilpo=quicinc.com@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id BFF02C4360D; Fri, 25 Feb 2022 19:22:09 +0000 (UTC) Received: from hyd-lnxbld559.qualcomm.com (unknown [202.46.22.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: akhilpo) by smtp.codeaurora.org (Postfix) with ESMTPSA id 538AFC43617; Fri, 25 Feb 2022 19:22:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.codeaurora.org 538AFC43617 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=fail (p=none dis=none) header.from=quicinc.com Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=quicinc.com From: Akhil P Oommen To: freedreno , dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, Rob Clark , OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS , Dmitry Baryshkov , Bjorn Andersson Cc: Abhinav Kumar , =?UTF-8?q?Christian=20K=C3=B6nig?= , Daniel Vetter , David Airlie , Douglas Anderson , Jonathan Marek , Jordan Crouse , Sean Paul , Stephen Boyd , Vladimir Lypak , Yangtao Li , linux-kernel@vger.kernel.org Subject: [PATCH v2 4/5] drm/msm/adreno: Expose speedbin to userspace Date: Sat, 26 Feb 2022 00:51:31 +0530 Message-Id: <20220226005021.v2.4.I86c32730e08cba9e5c83f02ec17885124d45fa56@changeid> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1645816893-22815-1-git-send-email-quic_akhilpo@quicinc.com> References: <1645816893-22815-1-git-send-email-quic_akhilpo@quicinc.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Expose speedbin through MSM_PARAM_CHIP_ID parameter to help userspace identify the sku. Signed-off-by: Akhil P Oommen --- (no changes since v1) drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 3 +-- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 21 +++++++++++++++++---- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 3 +++ 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/ad= reno/a6xx_gpu.c index f308a3f..e2728be3 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c @@ -10,7 +10,6 @@ =20 #include #include -#include #include =20 #define GPU_PAS_ID 13 @@ -1774,7 +1773,7 @@ static int a6xx_set_supported_hw(struct device *dev, = struct adreno_rev rev) u32 speedbin; int ret; =20 - ret =3D nvmem_cell_read_variable_le_u32(dev, "speed_bin", &speedbin); + ret =3D adreno_read_speedbin(dev, &speedbin); /* * -ENOENT means that the platform doesn't support speedbin which is * fine diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/= adreno/adreno_gpu.c index d9d0c13..c593d13 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include "adreno_gpu.h" #include "a6xx_gpu.h" @@ -242,10 +243,12 @@ int adreno_get_param(struct msm_gpu *gpu, uint32_t pa= ram, uint64_t *value) *value =3D !adreno_is_a650_family(adreno_gpu) ? 0x100000 : 0; return 0; case MSM_PARAM_CHIP_ID: - *value =3D adreno_gpu->rev.patchid | - (adreno_gpu->rev.minor << 8) | - (adreno_gpu->rev.major << 16) | - (adreno_gpu->rev.core << 24); + *value =3D (uint64_t) adreno_gpu->rev.patchid | + (uint64_t) (adreno_gpu->rev.minor << 8) | + (uint64_t) (adreno_gpu->rev.major << 16) | + (uint64_t) (adreno_gpu->rev.core << 24); + if (!adreno_gpu->info->revn) + *value |=3D ((uint64_t) adreno_gpu->speedbin) << 32; return 0; case MSM_PARAM_MAX_FREQ: *value =3D adreno_gpu->base.fast_rate; @@ -921,6 +924,11 @@ void adreno_gpu_ocmem_cleanup(struct adreno_ocmem *adr= eno_ocmem) adreno_ocmem->hdl); } =20 +int adreno_read_speedbin(struct device *dev, u32 *speedbin) +{ + return nvmem_cell_read_variable_le_u32(dev, "speed_bin", speedbin); +} + int adreno_gpu_init(struct drm_device *drm, struct platform_device *pdev, struct adreno_gpu *adreno_gpu, const struct adreno_gpu_funcs *funcs, int nr_rings) @@ -931,6 +939,7 @@ int adreno_gpu_init(struct drm_device *drm, struct plat= form_device *pdev, struct msm_gpu *gpu =3D &adreno_gpu->base; struct adreno_rev *rev =3D &config->rev; const char *gpu_name; + u32 speedbin; =20 adreno_gpu->funcs =3D funcs; adreno_gpu->info =3D adreno_info(config->rev); @@ -938,6 +947,10 @@ int adreno_gpu_init(struct drm_device *drm, struct pla= tform_device *pdev, adreno_gpu->revn =3D adreno_gpu->info->revn; adreno_gpu->rev =3D *rev; =20 + if (adreno_read_speedbin(dev, &speedbin) || !speedbin) + speedbin =3D 0xffff; + adreno_gpu->speedbin =3D (uint16_t) (0xffff & speedbin); + gpu_name =3D adreno_gpu->info->name; if (!gpu_name) { gpu_name =3D devm_kasprintf(dev, GFP_KERNEL, "%d.%d.%d.%d", diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.h b/drivers/gpu/drm/msm/= adreno/adreno_gpu.h index cffabe7..e2a7150 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.h +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.h @@ -80,6 +80,7 @@ struct adreno_gpu { const struct adreno_info *info; uint32_t gmem; /* actual gmem size */ uint32_t revn; /* numeric revision name */ + uint16_t speedbin; const struct adreno_gpu_funcs *funcs; =20 /* interesting register offsets to dump: */ @@ -324,6 +325,8 @@ adreno_iommu_create_address_space(struct msm_gpu *gpu, =20 void adreno_set_llc_attributes(struct iommu_domain *iommu); =20 +int adreno_read_speedbin(struct device *dev, u32 *speedbin); + /* * For a5xx and a6xx targets load the zap shader that is used to pull the = GPU * out of secure mode --=20 2.7.4 From nobody Tue Jun 23 21:33:27 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2A620C433EF for ; Fri, 25 Feb 2022 19:22:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234575AbiBYTXA (ORCPT ); Fri, 25 Feb 2022 14:23:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54838 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234708AbiBYTWt (ORCPT ); Fri, 25 Feb 2022 14:22:49 -0500 Received: from m43-7.mailgun.net (m43-7.mailgun.net [69.72.43.7]) by lindbergh.monkeyblade.net (Postfix) with UTF8SMTPS id DADC41E480C for ; Fri, 25 Feb 2022 11:22:15 -0800 (PST) DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1645816935; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=cCBg/D6SOxICZ8bzSkUecbzVhRVyvFsZfNOMBfa81yQ=; b=GiLBjagwa84+/zKkasOhAmm2ZPwK/3ltoe723sONtiaxvJJE4VrJcU0ct2rW/4HK/r1hncUp u/zriRZqoOTY7oQxQscaMDZZN4pJ5mD8fPgC7tY/QqOAwmBjCou5AQDMy9kj2iqKx/flCdEa 07fvl0Bem1czazdzzLltrnGSsqU= X-Mailgun-Sending-Ip: 69.72.43.7 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n07.prod.us-east-1.postgun.com with SMTP id 62192c6727716a6952abc92b (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Fri, 25 Feb 2022 19:22:15 GMT Sender: quic_akhilpo=quicinc.com@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id D9D24C4361A; Fri, 25 Feb 2022 19:22:14 +0000 (UTC) Received: from hyd-lnxbld559.qualcomm.com (unknown [202.46.22.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: akhilpo) by smtp.codeaurora.org (Postfix) with ESMTPSA id 7CD9CC43638; Fri, 25 Feb 2022 19:22:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 smtp.codeaurora.org 7CD9CC43638 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=fail (p=none dis=none) header.from=quicinc.com Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=quicinc.com From: Akhil P Oommen To: freedreno , dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, Rob Clark , OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS , Dmitry Baryshkov , Bjorn Andersson Cc: Andy Gross , Rob Herring , linux-kernel@vger.kernel.org Subject: [PATCH v2 5/5] arm64: dts: qcom: sc7280: Support gpu speedbin Date: Sat, 26 Feb 2022 00:51:32 +0530 Message-Id: <20220226005021.v2.5.I4c2cb95f06f0c37038c80cc1ad20563fdf0618e2@changeid> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1645816893-22815-1-git-send-email-quic_akhilpo@quicinc.com> References: <1645816893-22815-1-git-send-email-quic_akhilpo@quicinc.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add speedbin fuse and additional OPPs for gpu to support sc7280 SKUs. Signed-off-by: Akhil P Oommen --- (no changes since v1) arch/arm64/boot/dts/qcom/sc7280.dtsi | 46 ++++++++++++++++++++++++++++++++= ++++ 1 file changed, 46 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qco= m/sc7280.dtsi index 365a2e0..f8fc8b8 100644 --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi @@ -605,6 +605,11 @@ power-domains =3D <&rpmhpd SC7280_MX>; #address-cells =3D <1>; #size-cells =3D <1>; + + gpu_speed_bin: gpu_speed_bin@1e9 { + reg =3D <0x1e9 0x2>; + bits =3D <5 8>; + }; }; =20 sdhc_1: sdhci@7c4000 { @@ -1762,6 +1767,9 @@ interconnect-names =3D "gfx-mem"; #cooling-cells =3D <2>; =20 + nvmem-cells =3D <&gpu_speed_bin>; + nvmem-cell-names =3D "speed_bin"; + gpu_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 @@ -1769,18 +1777,56 @@ opp-hz =3D /bits/ 64 <315000000>; opp-level =3D ; opp-peak-kBps =3D <1804000>; + opp-supported-hw =3D <0x03>; }; =20 opp-450000000 { opp-hz =3D /bits/ 64 <450000000>; opp-level =3D ; opp-peak-kBps =3D <4068000>; + opp-supported-hw =3D <0x03>; }; =20 opp-550000000 { opp-hz =3D /bits/ 64 <550000000>; opp-level =3D ; opp-peak-kBps =3D <6832000>; + opp-supported-hw =3D <0x03>; + }; + + opp-608000000 { + opp-hz =3D /bits/ 64 <608000000>; + opp-level =3D ; + opp-peak-kBps =3D <8368000>; + opp-supported-hw =3D <0x02>; + }; + + opp-700000000 { + opp-hz =3D /bits/ 64 <700000000>; + opp-level =3D ; + opp-peak-kBps =3D <8532000>; + opp-supported-hw =3D <0x02>; + }; + + opp-812000000 { + opp-hz =3D /bits/ 64 <812000000>; + opp-level =3D ; + opp-peak-kBps =3D <8532000>; + opp-supported-hw =3D <0x02>; + }; + + opp-840000000 { + opp-hz =3D /bits/ 64 <840000000>; + opp-level =3D ; + opp-peak-kBps =3D <8532000>; + opp-supported-hw =3D <0x02>; + }; + + opp-900000000 { + opp-hz =3D /bits/ 64 <900000000>; + opp-level =3D ; + opp-peak-kBps =3D <8532000>; + opp-supported-hw =3D <0x02>; }; }; }; --=20 2.7.4