From nobody Mon May 25 08:13:35 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 628483921C0 for ; Fri, 15 May 2026 20:08:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778875699; cv=none; b=c7YLyVEmC2mWLh6219/a3GwewI9NeW3fXJ6wiKu1R0A5QhdSUviOEIQyPzVQ5GKehEXLsVrJEO+nI993M6QCzyIr9q7L/xQBk+x3ca/L2pFQxOpDlKxmQpT4NmqWmlgzoeAO/IaKhrJ7jdKP+shAVINHLUvjhC5DtSzMQPavfaI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778875699; c=relaxed/simple; bh=FF4ikNxmqKbxzeVlDwEnNmtDy9ypLTHAu+k2VdryIes=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uhA+PdafEfR1qEI+xf2dbrMwZNrqS17s6uH0RueTvWg8wt7vA2SdJYMxoiJbYAdPNl03EU3QodJd0o36r3e/BgfZbXCPETHHMdCLoUISsLPaRxDIa8KjtzIqAvsYk7CmRx0xyOVaRqmRe3Q2Y2JqdAXS7EBu9vZE7HsKrrGpou4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=jm5zPgAj; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Vh6Y8gMa; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="jm5zPgAj"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Vh6Y8gMa" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64FJex5c2247337 for ; Fri, 15 May 2026 20:08:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= /na9U7CFhr7n8Z29qnWp4dlEpUEJzoqhKfGCJnPabJU=; b=jm5zPgAj7jDzpVI9 r1gVm7Tg5yJnwK6qab0157oQyr/Bgv7mSV1ff+v4JDNj6QvBzMamyxyXzT2YHZu6 oaVoDLUlMNnaz7Yf/M2CUZIuzt28FG6fRpXYigTi3whXgDzmiW3imdLZaP4RkM2+ Fi64Yf4Bn+EBHqOhRvr3KDnmJKeAscbh0G8TIf6kNWksgySuLEUmz/Bus9QRo0Qw 7B6qwD+UTeqnq1KXI/l7hi269mINPztCPQ/56NFQg9BmdCam8G1MI3Tdbkqqh8B4 2JlkhyvcHjrrZk9TnGbrgnWFliUXtIEpGSe2t95wFghVy3akosY/xCXm2QcsSQWj GByrOg== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e5m1qcrba-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 15 May 2026 20:08:17 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-366122e01fcso114450a91.2 for ; Fri, 15 May 2026 13:08:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778875696; x=1779480496; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=/na9U7CFhr7n8Z29qnWp4dlEpUEJzoqhKfGCJnPabJU=; b=Vh6Y8gMawrjEDtCgpTBag/LdslHQLXW31WIIjRndZSEjeJ8NqQGFr7pZvt7PXv0byR fZN4lEPwh5loqYdSbvsihxVRj2Jz4ph8Whfgn0BV8uUS1cqymQv3PGt37rKB1K3yPJm2 YTXeZCzbn7FkUBoOm+fUm0Gws4hiKEyVJZhgH94k8fZJyO4aNzeheXFaBXz7gv2AShrw /yymK3RLD0/n6BgPvU0d/IP5BWeqzA9ZAaGQVMiEh96igvvPmdyEHSwYncTERDMH9E7P V42drGL23B2jgusyK+D1AGKNgeRj517tz13lcLZW8BY9PpfsFF3SgShoCeZMy0f55lOi BjKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778875696; x=1779480496; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=/na9U7CFhr7n8Z29qnWp4dlEpUEJzoqhKfGCJnPabJU=; b=sa403XhW4+Fsou8O6lcwaqqb/vwMMMhItSAKPvhEn1J6Q5JNWY7t6brMi9fDV590Ec QicWxRsfGApY9NPumNZuedIiO/K8m9No7B3kNuztz6sOOZmv4RKPnuUB1CKqCChXbTdb 95MbZzmVotVH0P22Eyb6MMqzFglowS4eHnedYSHuE3TGQTUEpC9De3jI3g15nCsk9Mpo EbIF+cvQSWbdj9+fQf6XHKRYhAZa0K1fA4w3QX6Tee+4wawyzaxnXJth5QvskFgUFP6N a+UCqsP9yqegcoBElaDxq9dyZu+57NY8udVhmO2cUPFq8+YBJBSG0GHjajZ63HituBDN ZBQA== X-Forwarded-Encrypted: i=1; AFNElJ+fklLuJdw40Opa095c66NYl2Yio7cMKhdlJ93ETzsqdp1ook/doaunw3p49zrrddzhlLna4nfCRBTnBTE=@vger.kernel.org X-Gm-Message-State: AOJu0YzpX9gFK9yrTKjz8r9PU1dVC7e+pL/Cd4v0LgnmKMRMllDK8vbN ZEVjkdhknJvJQuKpIMUVB0YAx+C+6p86ZiWf5wv1Me30hW87X/r11bsyrYmx6VngAeX1hpct4Gq ebCDVH1FSQlSrq7M1aWNWjJr+rKEJxpmkqDMGtmT31HwNj4/r/8rkTLctzR52f6ZA6gU= X-Gm-Gg: Acq92OEgNvsF28PpKq38ORGVWaGB6fZxjZX0YaD9sGTNMW+wFMx92r40Bcprv5Xs83y e6ngbWMpHVx039aJDXcpPN/DDRK6LsAXayRwMjhfIbJ5maY4SMILMy1TIqmQ1pLgxiYOFIzMBTh 6dtCM8pqV/XBJ1OTxHHsnDQic+mkdKzAIFiajOYcg1vkbl0GFxL5DSYSEB8Ig42qUxMgVfMu2ii y8pnNHg5Tvc62kmRV1m88gB8FSWFog/uW+xeaA/OnNUOuE36vOWb7iH6sBepNUY9gsHrQBmmrf+ ygfGF3xP4NhOcmw+V9uoowor/M8uqW2jZIPrpRr7/k9ABbSbgn7jL3S39xs7qjBwX2VS8YuT7tx rfptg+Pp7eojq13DcF3xp+8YagOdXtcvrqgvFtNrYVYLnjg== X-Received: by 2002:a17:90b:3b8c:b0:368:ac5f:d313 with SMTP id 98e67ed59e1d1-36951ca09a3mr5628786a91.20.1778875696239; Fri, 15 May 2026 13:08:16 -0700 (PDT) X-Received: by 2002:a17:90b:3b8c:b0:368:ac5f:d313 with SMTP id 98e67ed59e1d1-36951ca09a3mr5628750a91.20.1778875695658; Fri, 15 May 2026 13:08:15 -0700 (PDT) Received: from hu-akhilpo-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-369517a820fsm3518309a91.10.2026.05.15.13.08.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 13:08:15 -0700 (PDT) From: Akhil P Oommen Date: Sat, 16 May 2026 01:37:49 +0530 Subject: [PATCH 1/3] drm/msm/a6xx: Add HFI support for CLX feature Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260516-a8xx-clx-support-v1-1-62508bf651ac@oss.qualcomm.com> References: <20260516-a8xx-clx-support-v1-0-62508bf651ac@oss.qualcomm.com> In-Reply-To: <20260516-a8xx-clx-support-v1-0-62508bf651ac@oss.qualcomm.com> To: Rob Clark , Sean Paul , Konrad Dybcio , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Akhil P Oommen X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778875686; l=4084; i=akhilpo@oss.qualcomm.com; s=20240726; h=from:subject:message-id; bh=FF4ikNxmqKbxzeVlDwEnNmtDy9ypLTHAu+k2VdryIes=; b=/U0PEHRRvS/YBsEe1rUn414dQRYpv8WjixpJ3vuKmGyGzo7UuqFiDqJ36atmIW1er/LgvBWje d6u0mOvlBKLDcN3mdGNIBoFTGRMht32I/GQUMVIF8bpnSb9/WUQSasw X-Developer-Key: i=akhilpo@oss.qualcomm.com; a=ed25519; pk=lmVtttSHmAUYFnJsQHX80IIRmYmXA4+CzpGcWOOsfKA= X-Proofpoint-GUID: B5hsiM1ipknMssenz_Ye-A4Q0_ZkzjNK X-Authority-Analysis: v=2.4 cv=GulyPE1C c=1 sm=1 tr=0 ts=6a077d31 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=5Q0fzsgIy9hxAR0mj0wA:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE1MDIwMyBTYWx0ZWRfX8B0HSqL4rMdq kic/xJtSsVzEPvHOYBP4w6MifgFOAxVWsrrotqi77v9m1wd0Xyw7uAvSrNYj2DMsX35gt9CWmbA uwUVxog+cLAPWDE4/c2ETg+7RfFCDgNujj0np+893ov8YZ4SPaH+P35lMqbyYiIMolqY8e73hDz 7g+a3LCegd3TYRCidx8+FU6VDdm+2i8zAUKa8WoSdsI9DDk3nwN9oqy1vYdQ9wEuqNiv8a6Nkko xc0eoGtDbBrdCYSzTMKoT8mvV8vhgPaZeqbqrnUz6AfSzGeDSUo9o0GDYUwzlVI3/FMUEBPhbrR XRp/2sL5/14tpVhgkmA4S+9cVBfuB8K8GnpKarHnpUYbD/Fr9KBIikXPzV5EQ74+Jlo5qKH92fl lrbCEQJOy2Yh0Z1r02CMtt2yMTIiXOVigUSoyBrfRhLtxDgQwCchc6pbIgkH8YOq0F624dQTnJJ wG2EKSG5aM45z+RMpHQ== X-Proofpoint-ORIG-GUID: B5hsiM1ipknMssenz_Ye-A4Q0_ZkzjNK X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-15_05,2026-05-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 clxscore=1015 impostorscore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605150203 Add support for Current Limit Extension (CLX) feature found on a few A8x GPUs. This feature is required to limit the peak current consumption to avoid HW spec violation on GX/MX rails. Add the necessary HFI interface support to pass the recommended CLX and IFF/PCLX limits tables to the GMU. Per-GPU configuration is consumed from the catalog entries. Signed-off-by: Akhil P Oommen --- drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 15 ++++++++ drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 71 +++++++++++++++++++++++++++++++= ++++ 2 files changed, 86 insertions(+) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.h b/drivers/gpu/drm/msm/ad= reno/a6xx_gpu.h index eb431e5e00b1..f6a3f1924bb3 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.h +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.h @@ -34,6 +34,19 @@ struct cpu_gpu_lock { uint64_t regs[62]; }; =20 +struct a6xx_limits_tbl { + /** @tbl: List of limits table **/ + struct a6xx_hfi_limits_tbl *tbl; + /** @count: Number of entries in the list **/ + u32 count; +}; + +#define DECLARE_ADRENO_LIMITS_TABLE(name) \ +static const struct a6xx_limits_tbl name =3D { \ + .tbl =3D name ## _tbl, \ + .count =3D ARRAY_SIZE(name ## _tbl), \ +} + /** * struct a6xx_info - a6xx specific information from device table * @@ -54,6 +67,8 @@ struct a6xx_info { u32 gmu_cgc_mode; u32 prim_fifo_threshold; const struct a6xx_bcm *bcms; + const struct a6xx_hfi_clx_table_v2_cmd *clx_tbl; + const struct a6xx_limits_tbl *limits_tbl; }; =20 struct a6xx_gpu { diff --git a/drivers/gpu/drm/msm/adreno/a6xx_hfi.c b/drivers/gpu/drm/msm/ad= reno/a6xx_hfi.c index 487c2736f2b3..13ae34d0d898 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_hfi.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_hfi.c @@ -886,6 +886,73 @@ static int a6xx_hfi_enable_acd(struct a6xx_gmu *gmu) return 0; } =20 +static int a6xx_hfi_enable_iff_pclx(struct a6xx_gmu *gmu, const struct a6x= x_limits_tbl *limits) +{ + struct a6xx_hfi_table_entry *entry; + struct a6xx_hfi_table *tbl; + size_t entry_size; + size_t size; + int ret; + + if (!limits) + return 0; + + ret =3D a6xx_hfi_feature_ctrl_msg(gmu, HFI_FEATURE_IFF_PCLX, 1, 0); + if (ret) { + DRM_DEV_ERROR(gmu->dev, "Unable to enable IFF PCLX (%d)\n", ret); + return ret; + } + + entry_size =3D limits->count * sizeof(struct a6xx_hfi_limits_tbl); + size =3D sizeof(*tbl) + sizeof(*entry) + entry_size; + + tbl =3D kzalloc(size, GFP_KERNEL); + if (!tbl) + return -ENOMEM; + + tbl->type =3D HFI_TABLE_LIMITS_MIT; + entry =3D &tbl->entry[0]; + entry->count =3D limits->count; + entry->stride =3D sizeof(struct a6xx_hfi_limits_tbl) >> 2; + + memcpy(entry->data, limits->tbl, entry_size); + + ret =3D a6xx_hfi_send_msg(gmu, HFI_H2F_MSG_TABLE, tbl, size, NULL, 0); + if (ret) + DRM_DEV_ERROR(gmu->dev, "Unable to send PCLX table (%d)\n", ret); + + kfree(tbl); + return ret; +} + +static int a6xx_hfi_enable_clx(struct a6xx_gmu *gmu) +{ + struct a6xx_gpu *a6xx_gpu =3D container_of(gmu, struct a6xx_gpu, gmu); + struct adreno_gpu *adreno_gpu =3D &a6xx_gpu->base; + const struct a6xx_info *info =3D adreno_gpu->info->a6xx; + struct a6xx_hfi_clx_table_v2_cmd cmd =3D { 0 }; + int ret; + + if (!info->clx_tbl) + return 0; + + ret =3D a6xx_hfi_feature_ctrl_msg(gmu, HFI_FEATURE_CLX, 1, 0); + if (ret) { + DRM_DEV_ERROR(gmu->dev, "Unable to enable CLX (%d)\n", ret); + return ret; + } + + memcpy(&cmd, info->clx_tbl, sizeof(cmd)); + + ret =3D a6xx_hfi_send_msg(gmu, HFI_H2F_MSG_CLX_TBL, &cmd, sizeof(cmd), NU= LL, 0); + if (ret) { + DRM_DEV_ERROR(gmu->dev, "Unable to send CLX table (%d)\n", ret); + return ret; + } + + return a6xx_hfi_enable_iff_pclx(gmu, info->limits_tbl); +} + static int a6xx_hfi_send_test(struct a6xx_gmu *gmu) { struct a6xx_hfi_msg_test msg =3D { 0 }; @@ -987,6 +1054,10 @@ int a6xx_hfi_start(struct a6xx_gmu *gmu, int boot_sta= te) if (ret) return ret; =20 + ret =3D a6xx_hfi_enable_clx(gmu); + if (ret) + return ret; + ret =3D a6xx_hfi_enable_ifpc(gmu); if (ret) return ret; --=20 2.51.0 From nobody Mon May 25 08:13:35 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D35A6391846 for ; Fri, 15 May 2026 20:08:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778875704; cv=none; b=CaIBa1OXdhM6nuX8VAoS0pU5/zpPWqovJpGl9NTTRW13pjiob4RGdq5xR3smBqQDHAORfm0LCluHMEGTDswUoOAoEOwDcoj+ReJv6PWT5R+ubQKbQ00QEqORBRn3dpuurs79JQ/iU/GJ0ee2TlE73snh4oBIGUlN1sgbrNlufm8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778875704; c=relaxed/simple; bh=wHx7sphxQ2G3JogFllYloGnDGRdPJph8jXQ/6CvvKKo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=keCnJqWt9yncjd8aBQmr6kFdPNYTdnmynZ6HG/v4bE83JUBCMlUq3RtQIT4WYqPkzWn480k4LCJd1Lignmhd0E5rmnvIqGvxLor1E6pWUQjG04M+6lg3iZZnbINnzJIl2GZKXWYSlcgf6vLeoQCSw3EDwpBI1PCXjTPVfesu1wk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=oeluWDBf; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=XhvgjMNL; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="oeluWDBf"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="XhvgjMNL" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64FJexMS2247353 for ; Fri, 15 May 2026 20:08:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= VA4LbLc1gRQK/iiTsw45jkz2snEolhw5UxPAmzMtPSk=; b=oeluWDBfHCnuQGFR 8ClgEW7D4lx+OiZRVrTiBmG3RCojTEPPxBUgYWd938IJRclrwDnrmedDiWGAhbQO +lVlsguxhPbjYLMY8+XIlWcHii2UYlTBDwOB2mtlN27BiGsrFzUWMq6NWM1R1Rmc +CJ0ruATpgRqk5yAhj04cHmELWQuGqVLu+EgXUSLdT/oQJYdzttHmInenpxjGFC0 q3K/JZyeRrYq8CAqzb4xLb5NjSTTT4NbLOtQnEEGWPE0GFkc1lBc05SsGTRzOla2 RARofUgz8SQ47dpSAG5An8UwLxTw3UZl9OKqIvVEklYS+4J53+q/JZebzqCXctV8 4fOyVw== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e5m1qcrbw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 15 May 2026 20:08:21 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-368ac44b26dso109310a91.2 for ; Fri, 15 May 2026 13:08:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778875701; x=1779480501; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=VA4LbLc1gRQK/iiTsw45jkz2snEolhw5UxPAmzMtPSk=; b=XhvgjMNL7aQGIT2ntiFyDFJJ9G4Ua7s2aY1E31EGDCCA0IKRboaDy7kfpt2/SJ9P8d SOvKfKvAT6F+edkCZkIZLH7/xbzPG4Uru9Fdmye03xEhNYqmEZU/sNCC0kYmY2AhsI/Z Ej4NIHnBUNFB/LViEhhl6cZmUEuLE16bRxMo7FabY0s2yMPkd40GLAXy4PpM11kA5BZP PVlhm/tCDwkzPAdP5g4kJaZjmdTYTmk/o057/twNuUUDU9OyeCMAT2ibjmxTmtAgFODY h+fNQNp185yhweuImKMq1Lhxt7b6lS9k4/iQiB2MlsRdQXcuvFll21yb3XZLFNNcUfly 53Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778875701; x=1779480501; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=VA4LbLc1gRQK/iiTsw45jkz2snEolhw5UxPAmzMtPSk=; b=l3Fd0xGUBgHWgjoUZFIaWo71eCsB4+81kXP9ahr9GpSYLiW16aa1UmXQCppL7LdeIp js13D+lJ+Y7eIegKehQaFRkcuxd7bdXYH++DgE/o6MW4uOG+WnPcsf7/271+K1DvzT2X OfJcFzEEKJfXoJ2Wi8NLOZyWbmk/f/S+w0oq5mTTJcNo2AyFEzHUp0UAOCvXNSLWd7+l 6kL9NMB98W88p0RsSbUIWPDYxzAIETtkLJZkAKHQg4AOyqIlf/6bxb9D0f1lpJ5Tvu47 j8P/9XzibkPs6jccVzYIxAIp7q/EKP/y/Kuujs/Vy1zeYuNdJZLfSPdDB7QPOdIpN0j6 PcDg== X-Forwarded-Encrypted: i=1; AFNElJ+9Hm50PK/X8EZTpQpmAo3UUmQbhwhcmf55noJ32VVQXgo28dakLP2Q2/FnCHkgHWxNDZMv/nOX52/0eN4=@vger.kernel.org X-Gm-Message-State: AOJu0YxyZ6UnYczpE9IRa+k1UuQhouUVlnF0u9HXf+CahcaCil4Ws52w vMbCQqNMAFXqInz+UKq7XOJXyTkw7aXxLOcUMm3TDLf6JNzdjLzBk/wHj+AQ/WnbC1SryTZjaee 1U+iorhGDXBRwLr0mYai4dxZlcwqvy87i4XiK42f4BT4xew53FNZ69VpGrb2nyBDG+/k= X-Gm-Gg: Acq92OE+ZGQ4nHmrzfgkzyYjXyuy2pNtcOpMkJG0lndvxhYY0FU7Wexhczzc4rkn9xK JuUPxXHsySnXBm9QIzFst8xb7opga0PN+tXwJjgm6itKfHo0I4Qb/2jmpIxVo0uAO6SGImmDJeh cjkqsHOrjrHRsNSW80hMJV1qU1ruD1jN0aFqz0XH/B8UWul+19Jy+ZIP8K3fR9/Pbo5cvBd1MBe BB9TMHJXaG8feQeqLKnQYs7joOloTXq5K0EVJx2QvwHor7iG0mD6lyoA+k0aZyBBG0ELPlpOwC+ t4be0VuxdO++V/PfyA9N/KcWs+J5Ssd69bHZ4zb1K0mqM8zvFA6fcBD255YoVpHE31SHptNphL6 OKjw9dTwCkjzIj7etCubZS2dzO5JUwxTnP94DRHYKTvqtMQ== X-Received: by 2002:a17:90b:2e0b:b0:35f:c46f:2b0 with SMTP id 98e67ed59e1d1-36951a6ce4emr5501308a91.14.1778875700807; Fri, 15 May 2026 13:08:20 -0700 (PDT) X-Received: by 2002:a17:90b:2e0b:b0:35f:c46f:2b0 with SMTP id 98e67ed59e1d1-36951a6ce4emr5501275a91.14.1778875700295; Fri, 15 May 2026 13:08:20 -0700 (PDT) Received: from hu-akhilpo-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-369517a820fsm3518309a91.10.2026.05.15.13.08.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 13:08:20 -0700 (PDT) From: Akhil P Oommen Date: Sat, 16 May 2026 01:37:50 +0530 Subject: [PATCH 2/3] drm/msm/a6xx: Enable CLX feature on A840 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260516-a8xx-clx-support-v1-2-62508bf651ac@oss.qualcomm.com> References: <20260516-a8xx-clx-support-v1-0-62508bf651ac@oss.qualcomm.com> In-Reply-To: <20260516-a8xx-clx-support-v1-0-62508bf651ac@oss.qualcomm.com> To: Rob Clark , Sean Paul , Konrad Dybcio , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Akhil P Oommen X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778875686; l=2687; i=akhilpo@oss.qualcomm.com; s=20240726; h=from:subject:message-id; bh=wHx7sphxQ2G3JogFllYloGnDGRdPJph8jXQ/6CvvKKo=; b=G3Ivq08TbSQqYvhvie7EaREILmo2Z2YVDDneKJIA6TpI3C5YP8FMzLtex71VuZqvWq3jWJFg5 dLCfGEWIp5gAtxe5uLuqRJzJ20yNY8yd11JQjSW9fjtChvNx/qyO1Hi X-Developer-Key: i=akhilpo@oss.qualcomm.com; a=ed25519; pk=lmVtttSHmAUYFnJsQHX80IIRmYmXA4+CzpGcWOOsfKA= X-Proofpoint-GUID: OMDaPVkDKWVbGm8z9VnRJaTc-vFJy6ub X-Authority-Analysis: v=2.4 cv=GulyPE1C c=1 sm=1 tr=0 ts=6a077d35 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=euEflnDZojKr1heemAgA:9 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE1MDIwMyBTYWx0ZWRfX6eBm27EPc5BU GKMjk7OMIJgAZfGi8EmDrU1eyuHYXHqZJCmm4LeDjZzRMfZ4Vc0mWBzwow++24wL0duU6vWdTQ2 nmwEmeX+aTp4h0LWrVCKl6D+voPTpWBKXO3hlUvHYnHZAa9NsVoZyQX23OTqcE4HVux8ULIG3A1 AlZAToWP7P+N5EuQ192QPCQxzJzK9cnLa7JH4JGejlgkRDHGXlLrJQmkr6Iyqy64r4POZ0Iq2up 1jfYdlBARBYaysHH9aABExOHArCNrNHGjYXJZNH8Rx/R8rWjOZlNsyuhuHFQKVmRB9ysvnPoWCT erB8TfXFosb9lcPg1wy5pskduUNhAqES0+h6PwnYyHBV+ZWS/RVWTUWl6gbhpB7gBgzYZjoPD1b 0iu6nEW3XGL2RaedMIBtFReQQ4xuRQIr2s9cqt/6DFcx+IJGbtyDy7mS19GP86vT4wVbu4MER/H w6VRMLa7O8lf0ZHI2cw== X-Proofpoint-ORIG-GUID: OMDaPVkDKWVbGm8z9VnRJaTc-vFJy6ub X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-15_05,2026-05-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 clxscore=1015 impostorscore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605150203 Add the A840 CLX domain table and the IFF/PCLX limits table to the catalog. With the HFI plumbing in place, this enables the Current Limit Extension (CLX) feature on Adreno 840. Signed-off-by: Akhil P Oommen Reviewed-by: Konrad Dybcio --- drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 86 +++++++++++++++++++++++++++= ++++ 1 file changed, 86 insertions(+) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c b/drivers/gpu/drm/ms= m/adreno/a6xx_catalog.c index 550ff3a9b82e..c503912a61c7 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c @@ -2108,6 +2108,90 @@ static const struct adreno_reglist_pipe a840_dyn_pwr= up_reglist_regs[] =3D { }; DECLARE_ADRENO_REGLIST_PIPE_LIST(a840_dyn_pwrup_reglist); =20 +static const struct a6xx_hfi_clx_table_v2_cmd a840_clx_tbl =3D { + .version =3D (2 << 16) | 1, + .domain =3D { + /* GX DOMAIN */ + { + .data =3D CLX_DATA(60, 5, 1, 1), + .clxt =3D 0, + .clxh =3D 0, + .urg_mode =3D 1, + .lkg_en =3D 0, + .curr_budget =3D 100, + }, + /* MXG DOMAIN */ + { + .data =3D CLX_DATA(60, 1, 1, 1), + .clxt =3D 0, + .clxh =3D 0, + .urg_mode =3D 1, + .lkg_en =3D 0, + .curr_budget =3D 50, + }, + }, +}; + +struct a6xx_hfi_limits_tbl a840_limits_tbl[] =3D { + { + .feature_id =3D GMU_MIT_IFF, + .domain =3D GMU_GX_DOMAIN, + .feature_rev =3D 0, + .cfg =3D { + .enable =3D 1, + .msg_path =3D 0, + .lkg_en =3D 0, + .mode =3D 0, + .sid =3D 12, + .mit_time =3D 5, + .curr_limit =3D 6000, + }, + }, + { + .feature_id =3D GMU_MIT_IFF, + .domain =3D GMU_MX_DOMAIN, + .feature_rev =3D 0, + .cfg =3D { + .enable =3D 1, + .msg_path =3D 0, + .lkg_en =3D 0, + .mode =3D 0, + .sid =3D 9, + .mit_time =3D 2000, + .curr_limit =3D 6000, + }, + }, + { + .feature_id =3D GMU_MIT_PCLX, + .domain =3D GMU_GX_DOMAIN, + .feature_rev =3D 0, + .cfg =3D { + .enable =3D 1, + .msg_path =3D 0, + .lkg_en =3D 0, + .mode =3D 0, + .sid =3D 7, + .mit_time =3D 3, + .curr_limit =3D 30000, + }, + }, + { + .feature_id =3D GMU_MIT_PCLX, + .domain =3D GMU_MX_DOMAIN, + .feature_rev =3D 0, + .cfg =3D { + .enable =3D 0, + .msg_path =3D 0, + .lkg_en =3D 0, + .mode =3D 0, + .sid =3D 7, + .mit_time =3D 3, + .curr_limit =3D 6000, + }, + }, +}; +DECLARE_ADRENO_LIMITS_TABLE(a840_limits); + static const struct adreno_info a8xx_gpus[] =3D { { .chip_ids =3D ADRENO_CHIP_IDS(0x44070001), @@ -2185,6 +2269,8 @@ static const struct adreno_info a8xx_gpus[] =3D { }, { /* sentinel */ }, }, + .clx_tbl =3D &a840_clx_tbl, + .limits_tbl =3D &a840_limits, }, .preempt_record_size =3D 19708 * SZ_1K, .speedbins =3D ADRENO_SPEEDBINS( --=20 2.51.0 From nobody Mon May 25 08:13:35 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 978AD391E45 for ; Fri, 15 May 2026 20:08:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778875709; cv=none; b=ghELc9pSx3xY3js7oMxtOWRJay5tPEMOLPIBrsHFijz4Gp4AKWXIMlmFx04+j4BCxvpHwil2/8so/ORQ0GbiVZOQ93i9ImiHIddWB/Ya6x/3lS0KiYiUK7Kype2mI0mb5pGO/YhlsdCVBEUu96xsF2v17SU5FRX3C4wF9TEY4K8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778875709; c=relaxed/simple; bh=31IdYVd1Gff0fxdHBLohNr7vJBxGvvWroZqIO5O9rUU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ptGgzmieFLNnz+5oNrmRxJ5AX7TUosmrs8CrKn80JJ+sazlLYH7WIjuTDob4/2FN6ZzjbCx1pP3FupCHkOr5MeuzjH3B35nnFjs/qlRJTHeC7d1OUrgbucUi4LoCYxY0vwDEUbngh1+eZd0GgrEcprtWlHQfEyl/NuM6QPvFPpY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=OjLHYoFN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=K8c3BYOK; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="OjLHYoFN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="K8c3BYOK" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64FJeanN903679 for ; Fri, 15 May 2026 20:08:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= /ZITHqhZFxZjfKPaS9OhfJTadzsMGDsCFdEuZ6sFvCs=; b=OjLHYoFN4D7BnvyA 3HWPlUl2PHxuafhc4hKhMwoiSDg8dW1FuYMTWdnPn5ZjwTUTkQQxErg6zRqpezNS NbMkX97ipHDwF3pLmNnQjOCnt7zMScoNlTMCBM/xQEPQpyZkzYMRjCqWFnmsDniA 3IVXuBxrQHAcbD24ZLghIIUsxsoUObX+oGcQIdIFHbnStjnFmD5LwBLvRWKH4awc 0SazFktPRU0e2kqi5TXYS6HCWepDSPieksuOgcKYNrjrTjwAVd90PXpuTl/z2zjG O0ZuQ11S314lz2uHa1/G32punFNlYcWftjK1zkXYRUHCyN2u2rE5wvKHVpO2pb2Z KaKNaA== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e670u8pc9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 15 May 2026 20:08:26 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-367bb9caa54so107423a91.2 for ; Fri, 15 May 2026 13:08:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778875706; x=1779480506; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=/ZITHqhZFxZjfKPaS9OhfJTadzsMGDsCFdEuZ6sFvCs=; b=K8c3BYOK4DpbkQl0r1gtQ0+FJhnUdVsXBzTsRpZcewRRMvl9863R4ePlHmsnydjvsc EjI4twwPoQTYtg8l1CCPuvjYNIXv541NN0ekm81BbC1VVCAiaQcinfvBBms6HtbOtwda OPqyRXElNrTk48g4ZsuODJoboITbBcBzPPs8YuwRr0C1+TTNrpuTRBO5P/uL9LitkGxA mdwwa8XPmfG5XJJbvk8p18R8WDmK9g99OTQnXETFrw+1vkRDt4BMfhOb4HnDoWdl0/QH m3g6BCo5o+wlbCo8YKJvQCc/6NHDan4fmaSQmjWsV5t05MK9AVBeMVnEuEYDtGc4HGfd 5/cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778875706; x=1779480506; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=/ZITHqhZFxZjfKPaS9OhfJTadzsMGDsCFdEuZ6sFvCs=; b=AKYi0hbu64uA+Cscr6oAqCEBtAIZ+z7irGfJ9NNbSH3sDCyZPv4VHfNINcYq/pejMR bapC14a/8T3i+TEdJNDyMN56rergq8d3xJQCbWWbV3/kHkPnAVacz9hOaM/Hr8OEPpHX TG3itER5ts5ayaF+XfsvRCZJZKMQvkO/+ZM2KzlLAwSnOSil/4wpWq4UQvaq6ugTmGZV RPAnyx5uFKA+JqHWeW//BBnZOamEDVAO89eiN0EGt3uCtZzg8GV+VzbzcDTsHYjAuFY7 cMQoZhl0itgiRjOo9IACC5cN0lLgYvWw9WAuRD9SyEAI5dynI6k0mJYddpvhNrMIlw/E 67dA== X-Forwarded-Encrypted: i=1; AFNElJ9EueVl7crpEtVW8zY+V+jtLeIMCaPH11FgNVjynYxx9Iy74/ijpyotRd3/GfTfZmM7XJIqI/hYkvAKYX4=@vger.kernel.org X-Gm-Message-State: AOJu0YzZf4hUptPZYHlF2Brw20ycKzPvRVmlDEGirvSUqd4va84RJxsf RODcpTLvxxrhMes87nPp+6wIHC4xTBj/J8jT5qI9P/1ufWlnOq1OMTscCm1W/iJZUHdRZDlweXB AeXVXqoV8/g+QC6hnsL7AjSweIO8zXfifGEDLDPhPp6/5Fa0jKx7sBXg7fl75pPKli8Y= X-Gm-Gg: Acq92OG9EcfhTPZwlm7phTg3lvbsmLSAWr0YZoIVB1Y5e+Y4ptDR93pjwjwsDf6TE2+ nVFm+Vfpg2R5a7MfVlj+xLZ6knbaktyVNag6QOva1OXXVkyNqrV4EEJzBl6kXb1IVPGAQ9lLiEu C6RZgpYOLxAUupnlL9Xzjl/X58WUDrs7kiNpVS8WR6AWgOwxaaag0qIR5daLkRlmf5CXhHQLMNg Avd6XUh6QFV5N7SteG1D4Vt7OBWMmlqcQTqBVyzSXsuAvHaQGDDoVREMjVEggvlGp2f2UZ+NJIf 67YoJlzqVbgLG3RS0U8axJImokDruHzLtZFYFye95ONRt3ZIXRONPPhWwDLnG3fT0kwcdxRRIim kI5ArcsK9mfhcG5Dc0ejAd/xiWU6md8bYgl3C6U6e3XLJOg== X-Received: by 2002:a17:90b:2d08:b0:362:e826:cefe with SMTP id 98e67ed59e1d1-36951ca6064mr5359110a91.23.1778875705366; Fri, 15 May 2026 13:08:25 -0700 (PDT) X-Received: by 2002:a17:90b:2d08:b0:362:e826:cefe with SMTP id 98e67ed59e1d1-36951ca6064mr5359078a91.23.1778875704877; Fri, 15 May 2026 13:08:24 -0700 (PDT) Received: from hu-akhilpo-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-369517a820fsm3518309a91.10.2026.05.15.13.08.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 13:08:24 -0700 (PDT) From: Akhil P Oommen Date: Sat, 16 May 2026 01:37:51 +0530 Subject: [PATCH 3/3] drm/msm/a8xx: Enable CLX feature on Adreno X2-85 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260516-a8xx-clx-support-v1-3-62508bf651ac@oss.qualcomm.com> References: <20260516-a8xx-clx-support-v1-0-62508bf651ac@oss.qualcomm.com> In-Reply-To: <20260516-a8xx-clx-support-v1-0-62508bf651ac@oss.qualcomm.com> To: Rob Clark , Sean Paul , Konrad Dybcio , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Akhil P Oommen X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778875686; l=2751; i=akhilpo@oss.qualcomm.com; s=20240726; h=from:subject:message-id; bh=31IdYVd1Gff0fxdHBLohNr7vJBxGvvWroZqIO5O9rUU=; b=AJnEXF/U995HyUYgMJS19nV4lnFMVTz9ihR5V6NcllhBeZgoZfu+zPLWzUg24n8QNsuMFzuuU 41x2G6QUkGwBcEbCHWBrlYP2bxd+t9pwwdPfRosK02g9OS9ITnwquWp X-Developer-Key: i=akhilpo@oss.qualcomm.com; a=ed25519; pk=lmVtttSHmAUYFnJsQHX80IIRmYmXA4+CzpGcWOOsfKA= X-Proofpoint-GUID: Ov8XyjyltoPzAQK-_Xo95-xFT3wZ2QW2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE1MDIwMyBTYWx0ZWRfX1OSMpSivbKDi Fm5grc1X3IDdZ53Jglyy5yAohAB/OHl07zkFJO4ANOFjpEYXvjxAomrwj+nsMLv9w37We5tJtzv 7y97dtS+EDg0kdVu+EG6vyLlr93BmPXz6tyu6306tBKMf5HjqLU4xEDPydwvbZEf2Ow+PZzOovp yU7Z7LwMwGAwCGgQgJh5qWau6p4y4k4husNhse640Dak3cVCg6v1iQcQx+AV22xMqOMFozihNN7 V7KMb2ICtjvB4Gt+8Gakj/6MKlehyQAocb5S1i392no7G3KiIhwvEePH/TOTGuXTD0ed81W8m4P Ap+EFKJrQNUj2PPnFXa/Or8kq6r1GFx+WIx5I4/E0DHhDHfNGf/lkU0HAkW20h+cvxuWH1J0sLj +tZx6Hclgr4Y1Jr3frDdzhZKWkzbwTLHOJYiCaMPmjPccyCnybgAl93tUxlz4tJaX277spdyqqF j7MpByQSNNpjqrL3kWQ== X-Authority-Analysis: v=2.4 cv=E9f9Y6dl c=1 sm=1 tr=0 ts=6a077d3a cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=IqWTuNIaVRhLIjk9fdwA:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-ORIG-GUID: Ov8XyjyltoPzAQK-_Xo95-xFT3wZ2QW2 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-15_05,2026-05-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 spamscore=0 adultscore=0 malwarescore=0 suspectscore=0 impostorscore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605150203 Add the CLX domain table and the IFF/PCLX limits tables to the catalog to enable CLX feature support on Adreno X2-85 GPU present in the Glymur chipset. Signed-off-by: Akhil P Oommen Reviewed-by: Konrad Dybcio --- drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 86 +++++++++++++++++++++++++++= ++++ 1 file changed, 86 insertions(+) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c b/drivers/gpu/drm/ms= m/adreno/a6xx_catalog.c index c503912a61c7..9ad13eb173de 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c @@ -1799,6 +1799,90 @@ static const struct adreno_reglist_pipe x285_dyn_pwr= up_reglist_regs[] =3D { }; DECLARE_ADRENO_REGLIST_PIPE_LIST(x285_dyn_pwrup_reglist); =20 +static const struct a6xx_hfi_clx_table_v2_cmd x285_clx_tbl =3D { + .version =3D (2 << 16) | 1, + .domain =3D { + /* GX DOMAIN */ + { + .data =3D CLX_DATA(60, 11, 0, 1), + .clxt =3D 0, + .clxh =3D 0, + .urg_mode =3D 1, + .lkg_en =3D 0, + .curr_budget =3D 100, + }, + /* MXG DOMAIN */ + { + .data =3D CLX_DATA(60, 3, 1, 1), + .clxt =3D 0, + .clxh =3D 0, + .urg_mode =3D 1, + .lkg_en =3D 0, + .curr_budget =3D 100, + }, + }, +}; + +struct a6xx_hfi_limits_tbl x285_limits_tbl[] =3D { + { + .feature_id =3D GMU_MIT_IFF, + .domain =3D GMU_GX_DOMAIN, + .feature_rev =3D 0, + .cfg =3D { + .enable =3D 1, + .msg_path =3D 0, + .lkg_en =3D 0, + .mode =3D 0, + .sid =3D 12, + .mit_time =3D 5, + .curr_limit =3D 18000, + }, + }, + { + .feature_id =3D GMU_MIT_IFF, + .domain =3D GMU_MX_DOMAIN, + .feature_rev =3D 0, + .cfg =3D { + .enable =3D 1, + .msg_path =3D 0, + .lkg_en =3D 0, + .mode =3D 0, + .sid =3D 18, + .mit_time =3D 2000, + .curr_limit =3D 6000, + }, + }, + { + .feature_id =3D GMU_MIT_PCLX, + .domain =3D GMU_GX_DOMAIN, + .feature_rev =3D 0, + .cfg =3D { + .enable =3D 1, + .msg_path =3D 0, + .lkg_en =3D 0, + .mode =3D 0, + .sid =3D 6, + .mit_time =3D 3, + .curr_limit =3D 66000, + }, + }, + { + .feature_id =3D GMU_MIT_PCLX, + .domain =3D GMU_MX_DOMAIN, + .feature_rev =3D 0, + .cfg =3D { + .enable =3D 0, + .msg_path =3D 0, + .lkg_en =3D 0, + .mode =3D 0, + .sid =3D 6, + .mit_time =3D 3, + .curr_limit =3D 18000, + }, + }, +}; +DECLARE_ADRENO_LIMITS_TABLE(x285_limits); + static const struct adreno_reglist_pipe a840_nonctxt_regs[] =3D { { REG_A8XX_CP_SMMU_STREAM_ID_LPAC, 0x00000101, BIT(PIPE_NONE) }, { REG_A8XX_GRAS_DBG_ECO_CNTL, 0x00000800, BIT(PIPE_BV) | BIT(PIPE_BR) }, @@ -2227,6 +2311,8 @@ static const struct adreno_info a8xx_gpus[] =3D { }, { /* sentinel */ }, }, + .clx_tbl =3D &x285_clx_tbl, + .limits_tbl =3D &x285_limits, }, .speedbins =3D ADRENO_SPEEDBINS( { 0, 0 }, --=20 2.51.0