* [PATCH 1/5] drm/msm/a6xx: Fix gpucc register block for A621
2025-02-13 16:10 [PATCH 0/5] EDITME: Support for Adreno 623 GPU Akhil P Oommen
@ 2025-02-13 16:10 ` Akhil P Oommen
2025-02-13 16:36 ` Konrad Dybcio
2025-02-18 18:22 ` Rob Clark
2025-02-13 16:10 ` [PATCH 2/5] drm/msm/a6xx: Add support for Adreno 623 Akhil P Oommen
` (5 subsequent siblings)
6 siblings, 2 replies; 23+ messages in thread
From: Akhil P Oommen @ 2025-02-13 16:10 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Dmitry Baryshkov, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, devicetree,
Jie Zhang, Akhil P Oommen
From: Jie Zhang <quic_jiezh@quicinc.com>
Adreno 621 has a different memory map for GPUCC block. So update
a6xx_gpu_state code to dump the correct set of gpucc registers.
Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
---
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 13 ++++++++++---
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h | 17 +++++++++++++++++
2 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
index 0fcae53c0b14..2c10474ccc95 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
@@ -1214,12 +1214,12 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
struct a6xx_gpu *a6xx_gpu = to_a6xx_gpu(adreno_gpu);
a6xx_state->gmu_registers = state_kcalloc(a6xx_state,
- 3, sizeof(*a6xx_state->gmu_registers));
+ 4, sizeof(*a6xx_state->gmu_registers));
if (!a6xx_state->gmu_registers)
return;
- a6xx_state->nr_gmu_registers = 3;
+ a6xx_state->nr_gmu_registers = 4;
/* Get the CX GMU registers from AHB */
_a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[0],
@@ -1227,6 +1227,13 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
_a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[1],
&a6xx_state->gmu_registers[1], true);
+ if (adreno_is_a621(adreno_gpu))
+ _a6xx_get_gmu_registers(gpu, a6xx_state, &a621_gpucc_reg,
+ &a6xx_state->gmu_registers[2], false);
+ else
+ _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gpucc_reg,
+ &a6xx_state->gmu_registers[2], false);
+
if (!a6xx_gmu_gx_is_on(&a6xx_gpu->gmu))
return;
@@ -1234,7 +1241,7 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
gpu_write(gpu, REG_A6XX_GMU_AO_AHB_FENCE_CTRL, 0);
_a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[2],
- &a6xx_state->gmu_registers[2], false);
+ &a6xx_state->gmu_registers[3], false);
}
static struct msm_gpu_state_bo *a6xx_snapshot_gmu_bo(
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h
index dd4c28a8d923..e545106c70be 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h
@@ -363,6 +363,9 @@ static const u32 a6xx_gmu_cx_registers[] = {
0x51e0, 0x51e2, 0x51f0, 0x51f0, 0x5200, 0x5201,
/* GMU AO */
0x9300, 0x9316, 0x9400, 0x9400,
+};
+
+static const u32 a6xx_gmu_gpucc_registers[] = {
/* GPU CC */
0x9800, 0x9812, 0x9840, 0x9852, 0x9c00, 0x9c04, 0x9c07, 0x9c0b,
0x9c15, 0x9c1c, 0x9c1e, 0x9c2d, 0x9c3c, 0x9c3d, 0x9c3f, 0x9c40,
@@ -373,6 +376,17 @@ static const u32 a6xx_gmu_cx_registers[] = {
0xbc00, 0xbc16, 0xbc20, 0xbc27,
};
+static const u32 a621_gmu_gpucc_registers[] = {
+ /* GPU CC */
+ 0x9800, 0x980e, 0x9c00, 0x9c0e, 0xb000, 0xb004, 0xb400, 0xb404,
+ 0xb800, 0xb804, 0xbc00, 0xbc05, 0xbc14, 0xbc1d, 0xbc2a, 0xbc30,
+ 0xbc32, 0xbc32, 0xbc41, 0xbc55, 0xbc66, 0xbc68, 0xbc78, 0xbc7a,
+ 0xbc89, 0xbc8a, 0xbc9c, 0xbc9e, 0xbca0, 0xbca3, 0xbcb3, 0xbcb5,
+ 0xbcc5, 0xbcc7, 0xbcd6, 0xbcd8, 0xbce8, 0xbce9, 0xbcf9, 0xbcfc,
+ 0xbd0b, 0xbd0c, 0xbd1c, 0xbd1e, 0xbd40, 0xbd70, 0xbe00, 0xbe16,
+ 0xbe20, 0xbe2d,
+};
+
static const u32 a6xx_gmu_cx_rscc_registers[] = {
/* GPU RSCC */
0x008c, 0x008c, 0x0101, 0x0102, 0x0340, 0x0342, 0x0344, 0x0347,
@@ -386,6 +400,9 @@ static const struct a6xx_registers a6xx_gmu_reglist[] = {
REGS(a6xx_gmu_gx_registers, 0, 0),
};
+static const struct a6xx_registers a6xx_gpucc_reg = REGS(a6xx_gmu_gpucc_registers, 0, 0);
+static const struct a6xx_registers a621_gpucc_reg = REGS(a621_gmu_gpucc_registers, 0, 0);
+
static u32 a6xx_get_cp_roq_size(struct msm_gpu *gpu);
static u32 a7xx_get_cp_roq_size(struct msm_gpu *gpu);
--
2.45.2
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 1/5] drm/msm/a6xx: Fix gpucc register block for A621
2025-02-13 16:10 ` [PATCH 1/5] drm/msm/a6xx: Fix gpucc register block for A621 Akhil P Oommen
@ 2025-02-13 16:36 ` Konrad Dybcio
2025-02-13 17:19 ` Rob Clark
2025-02-18 18:22 ` Rob Clark
1 sibling, 1 reply; 23+ messages in thread
From: Konrad Dybcio @ 2025-02-13 16:36 UTC (permalink / raw)
To: Akhil P Oommen, Rob Clark, Sean Paul, Konrad Dybcio,
Abhinav Kumar, Dmitry Baryshkov, Marijn Suijten, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Caleb Connolly
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, devicetree,
Jie Zhang
On 13.02.2025 5:10 PM, Akhil P Oommen wrote:
> From: Jie Zhang <quic_jiezh@quicinc.com>
>
> Adreno 621 has a different memory map for GPUCC block. So update
> a6xx_gpu_state code to dump the correct set of gpucc registers.
>
> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
> ---
So GPU_CC is outside what we consider GPU register region upstream..
And I've heard voices (+Caleb) lately that we should get some clock register
dumping infrastructure..
So while I'm not against this patch fixing a bug, perhaps we can get rid of
dumping GPU_CC here in the near future
Konrad
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 1/5] drm/msm/a6xx: Fix gpucc register block for A621
2025-02-13 16:36 ` Konrad Dybcio
@ 2025-02-13 17:19 ` Rob Clark
2025-02-13 17:22 ` Konrad Dybcio
0 siblings, 1 reply; 23+ messages in thread
From: Rob Clark @ 2025-02-13 17:19 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Akhil P Oommen, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Dmitry Baryshkov, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Caleb Connolly, linux-arm-msm, dri-devel, freedreno, linux-kernel,
devicetree, Jie Zhang, Rob Clark
On Thu, Feb 13, 2025 at 8:36 AM Konrad Dybcio
<konrad.dybcio@oss.qualcomm.com> wrote:
>
> On 13.02.2025 5:10 PM, Akhil P Oommen wrote:
> > From: Jie Zhang <quic_jiezh@quicinc.com>
> >
> > Adreno 621 has a different memory map for GPUCC block. So update
> > a6xx_gpu_state code to dump the correct set of gpucc registers.
> >
> > Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
> > Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
> > ---
>
> So GPU_CC is outside what we consider GPU register region upstream..
>
> And I've heard voices (+Caleb) lately that we should get some clock register
> dumping infrastructure..
>
> So while I'm not against this patch fixing a bug, perhaps we can get rid of
> dumping GPU_CC here in the near future
but we'd still want this to end up in the gpu devcoredump...
BR,
-R
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 1/5] drm/msm/a6xx: Fix gpucc register block for A621
2025-02-13 17:19 ` Rob Clark
@ 2025-02-13 17:22 ` Konrad Dybcio
0 siblings, 0 replies; 23+ messages in thread
From: Konrad Dybcio @ 2025-02-13 17:22 UTC (permalink / raw)
To: Rob Clark, Konrad Dybcio
Cc: Akhil P Oommen, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Dmitry Baryshkov, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Caleb Connolly, linux-arm-msm, dri-devel, freedreno, linux-kernel,
devicetree, Jie Zhang, Rob Clark
On 13.02.2025 6:19 PM, Rob Clark wrote:
> On Thu, Feb 13, 2025 at 8:36 AM Konrad Dybcio
> <konrad.dybcio@oss.qualcomm.com> wrote:
>>
>> On 13.02.2025 5:10 PM, Akhil P Oommen wrote:
>>> From: Jie Zhang <quic_jiezh@quicinc.com>
>>>
>>> Adreno 621 has a different memory map for GPUCC block. So update
>>> a6xx_gpu_state code to dump the correct set of gpucc registers.
>>>
>>> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
>>> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
>>> ---
>>
>> So GPU_CC is outside what we consider GPU register region upstream..
>>
>> And I've heard voices (+Caleb) lately that we should get some clock register
>> dumping infrastructure..
>>
>> So while I'm not against this patch fixing a bug, perhaps we can get rid of
>> dumping GPU_CC here in the near future
>
> but we'd still want this to end up in the gpu devcoredump...
I suppose if the clock dump is implemented as sysfs, we can export that
func and call it from gpu dump code
Konrad
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 1/5] drm/msm/a6xx: Fix gpucc register block for A621
2025-02-13 16:10 ` [PATCH 1/5] drm/msm/a6xx: Fix gpucc register block for A621 Akhil P Oommen
2025-02-13 16:36 ` Konrad Dybcio
@ 2025-02-18 18:22 ` Rob Clark
2025-02-25 6:34 ` Akhil P Oommen
1 sibling, 1 reply; 23+ messages in thread
From: Rob Clark @ 2025-02-18 18:22 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Sean Paul, Konrad Dybcio, Abhinav Kumar, Dmitry Baryshkov,
Marijn Suijten, David Airlie, Simona Vetter, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, linux-arm-msm,
dri-devel, freedreno, linux-kernel, devicetree, Jie Zhang,
Rob Clark
On Thu, Feb 13, 2025 at 8:10 AM Akhil P Oommen <quic_akhilpo@quicinc.com> wrote:
>
> From: Jie Zhang <quic_jiezh@quicinc.com>
>
> Adreno 621 has a different memory map for GPUCC block. So update
> a6xx_gpu_state code to dump the correct set of gpucc registers.
>
> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
> ---
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 13 ++++++++++---
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h | 17 +++++++++++++++++
> 2 files changed, 27 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> index 0fcae53c0b14..2c10474ccc95 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> @@ -1214,12 +1214,12 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
> struct a6xx_gpu *a6xx_gpu = to_a6xx_gpu(adreno_gpu);
>
> a6xx_state->gmu_registers = state_kcalloc(a6xx_state,
> - 3, sizeof(*a6xx_state->gmu_registers));
> + 4, sizeof(*a6xx_state->gmu_registers));
>
> if (!a6xx_state->gmu_registers)
> return;
>
> - a6xx_state->nr_gmu_registers = 3;
> + a6xx_state->nr_gmu_registers = 4;
nit, this and splitting out a6xx_gpucc_reg from a6xx_gmu_cx_registers
could probably be it's own commit
BR,
-R
>
> /* Get the CX GMU registers from AHB */
> _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[0],
> @@ -1227,6 +1227,13 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
> _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[1],
> &a6xx_state->gmu_registers[1], true);
>
> + if (adreno_is_a621(adreno_gpu))
> + _a6xx_get_gmu_registers(gpu, a6xx_state, &a621_gpucc_reg,
> + &a6xx_state->gmu_registers[2], false);
> + else
> + _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gpucc_reg,
> + &a6xx_state->gmu_registers[2], false);
> +
> if (!a6xx_gmu_gx_is_on(&a6xx_gpu->gmu))
> return;
>
> @@ -1234,7 +1241,7 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
> gpu_write(gpu, REG_A6XX_GMU_AO_AHB_FENCE_CTRL, 0);
>
> _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[2],
> - &a6xx_state->gmu_registers[2], false);
> + &a6xx_state->gmu_registers[3], false);
> }
>
> static struct msm_gpu_state_bo *a6xx_snapshot_gmu_bo(
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h
> index dd4c28a8d923..e545106c70be 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h
> @@ -363,6 +363,9 @@ static const u32 a6xx_gmu_cx_registers[] = {
> 0x51e0, 0x51e2, 0x51f0, 0x51f0, 0x5200, 0x5201,
> /* GMU AO */
> 0x9300, 0x9316, 0x9400, 0x9400,
> +};
> +
> +static const u32 a6xx_gmu_gpucc_registers[] = {
> /* GPU CC */
> 0x9800, 0x9812, 0x9840, 0x9852, 0x9c00, 0x9c04, 0x9c07, 0x9c0b,
> 0x9c15, 0x9c1c, 0x9c1e, 0x9c2d, 0x9c3c, 0x9c3d, 0x9c3f, 0x9c40,
> @@ -373,6 +376,17 @@ static const u32 a6xx_gmu_cx_registers[] = {
> 0xbc00, 0xbc16, 0xbc20, 0xbc27,
> };
>
> +static const u32 a621_gmu_gpucc_registers[] = {
> + /* GPU CC */
> + 0x9800, 0x980e, 0x9c00, 0x9c0e, 0xb000, 0xb004, 0xb400, 0xb404,
> + 0xb800, 0xb804, 0xbc00, 0xbc05, 0xbc14, 0xbc1d, 0xbc2a, 0xbc30,
> + 0xbc32, 0xbc32, 0xbc41, 0xbc55, 0xbc66, 0xbc68, 0xbc78, 0xbc7a,
> + 0xbc89, 0xbc8a, 0xbc9c, 0xbc9e, 0xbca0, 0xbca3, 0xbcb3, 0xbcb5,
> + 0xbcc5, 0xbcc7, 0xbcd6, 0xbcd8, 0xbce8, 0xbce9, 0xbcf9, 0xbcfc,
> + 0xbd0b, 0xbd0c, 0xbd1c, 0xbd1e, 0xbd40, 0xbd70, 0xbe00, 0xbe16,
> + 0xbe20, 0xbe2d,
> +};
> +
> static const u32 a6xx_gmu_cx_rscc_registers[] = {
> /* GPU RSCC */
> 0x008c, 0x008c, 0x0101, 0x0102, 0x0340, 0x0342, 0x0344, 0x0347,
> @@ -386,6 +400,9 @@ static const struct a6xx_registers a6xx_gmu_reglist[] = {
> REGS(a6xx_gmu_gx_registers, 0, 0),
> };
>
> +static const struct a6xx_registers a6xx_gpucc_reg = REGS(a6xx_gmu_gpucc_registers, 0, 0);
> +static const struct a6xx_registers a621_gpucc_reg = REGS(a621_gmu_gpucc_registers, 0, 0);
> +
> static u32 a6xx_get_cp_roq_size(struct msm_gpu *gpu);
> static u32 a7xx_get_cp_roq_size(struct msm_gpu *gpu);
>
>
> --
> 2.45.2
>
^ permalink raw reply [flat|nested] 23+ messages in thread* Re: [PATCH 1/5] drm/msm/a6xx: Fix gpucc register block for A621
2025-02-18 18:22 ` Rob Clark
@ 2025-02-25 6:34 ` Akhil P Oommen
0 siblings, 0 replies; 23+ messages in thread
From: Akhil P Oommen @ 2025-02-25 6:34 UTC (permalink / raw)
To: Rob Clark
Cc: Sean Paul, Konrad Dybcio, Abhinav Kumar, Dmitry Baryshkov,
Marijn Suijten, David Airlie, Simona Vetter, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, linux-arm-msm,
dri-devel, freedreno, linux-kernel, devicetree, Jie Zhang,
Rob Clark
On 2/18/2025 11:52 PM, Rob Clark wrote:
> On Thu, Feb 13, 2025 at 8:10 AM Akhil P Oommen <quic_akhilpo@quicinc.com> wrote:
>>
>> From: Jie Zhang <quic_jiezh@quicinc.com>
>>
>> Adreno 621 has a different memory map for GPUCC block. So update
>> a6xx_gpu_state code to dump the correct set of gpucc registers.
>>
>> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
>> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
>> ---
>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 13 ++++++++++---
>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h | 17 +++++++++++++++++
>> 2 files changed, 27 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
>> index 0fcae53c0b14..2c10474ccc95 100644
>> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
>> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
>> @@ -1214,12 +1214,12 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
>> struct a6xx_gpu *a6xx_gpu = to_a6xx_gpu(adreno_gpu);
>>
>> a6xx_state->gmu_registers = state_kcalloc(a6xx_state,
>> - 3, sizeof(*a6xx_state->gmu_registers));
>> + 4, sizeof(*a6xx_state->gmu_registers));
>>
>> if (!a6xx_state->gmu_registers)
>> return;
>>
>> - a6xx_state->nr_gmu_registers = 3;
>> + a6xx_state->nr_gmu_registers = 4;
>
> nit, this and splitting out a6xx_gpucc_reg from a6xx_gmu_cx_registers
> could probably be it's own commit
Ack. Will split this patch.
-Akhil
>
> BR,
> -R
>
>>
>> /* Get the CX GMU registers from AHB */
>> _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[0],
>> @@ -1227,6 +1227,13 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
>> _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[1],
>> &a6xx_state->gmu_registers[1], true);
>>
>> + if (adreno_is_a621(adreno_gpu))
>> + _a6xx_get_gmu_registers(gpu, a6xx_state, &a621_gpucc_reg,
>> + &a6xx_state->gmu_registers[2], false);
>> + else
>> + _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gpucc_reg,
>> + &a6xx_state->gmu_registers[2], false);
>> +
>> if (!a6xx_gmu_gx_is_on(&a6xx_gpu->gmu))
>> return;
>>
>> @@ -1234,7 +1241,7 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
>> gpu_write(gpu, REG_A6XX_GMU_AO_AHB_FENCE_CTRL, 0);
>>
>> _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[2],
>> - &a6xx_state->gmu_registers[2], false);
>> + &a6xx_state->gmu_registers[3], false);
>> }
>>
>> static struct msm_gpu_state_bo *a6xx_snapshot_gmu_bo(
>> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h
>> index dd4c28a8d923..e545106c70be 100644
>> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h
>> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h
>> @@ -363,6 +363,9 @@ static const u32 a6xx_gmu_cx_registers[] = {
>> 0x51e0, 0x51e2, 0x51f0, 0x51f0, 0x5200, 0x5201,
>> /* GMU AO */
>> 0x9300, 0x9316, 0x9400, 0x9400,
>> +};
>> +
>> +static const u32 a6xx_gmu_gpucc_registers[] = {
>> /* GPU CC */
>> 0x9800, 0x9812, 0x9840, 0x9852, 0x9c00, 0x9c04, 0x9c07, 0x9c0b,
>> 0x9c15, 0x9c1c, 0x9c1e, 0x9c2d, 0x9c3c, 0x9c3d, 0x9c3f, 0x9c40,
>> @@ -373,6 +376,17 @@ static const u32 a6xx_gmu_cx_registers[] = {
>> 0xbc00, 0xbc16, 0xbc20, 0xbc27,
>> };
>>
>> +static const u32 a621_gmu_gpucc_registers[] = {
>> + /* GPU CC */
>> + 0x9800, 0x980e, 0x9c00, 0x9c0e, 0xb000, 0xb004, 0xb400, 0xb404,
>> + 0xb800, 0xb804, 0xbc00, 0xbc05, 0xbc14, 0xbc1d, 0xbc2a, 0xbc30,
>> + 0xbc32, 0xbc32, 0xbc41, 0xbc55, 0xbc66, 0xbc68, 0xbc78, 0xbc7a,
>> + 0xbc89, 0xbc8a, 0xbc9c, 0xbc9e, 0xbca0, 0xbca3, 0xbcb3, 0xbcb5,
>> + 0xbcc5, 0xbcc7, 0xbcd6, 0xbcd8, 0xbce8, 0xbce9, 0xbcf9, 0xbcfc,
>> + 0xbd0b, 0xbd0c, 0xbd1c, 0xbd1e, 0xbd40, 0xbd70, 0xbe00, 0xbe16,
>> + 0xbe20, 0xbe2d,
>> +};
>> +
>> static const u32 a6xx_gmu_cx_rscc_registers[] = {
>> /* GPU RSCC */
>> 0x008c, 0x008c, 0x0101, 0x0102, 0x0340, 0x0342, 0x0344, 0x0347,
>> @@ -386,6 +400,9 @@ static const struct a6xx_registers a6xx_gmu_reglist[] = {
>> REGS(a6xx_gmu_gx_registers, 0, 0),
>> };
>>
>> +static const struct a6xx_registers a6xx_gpucc_reg = REGS(a6xx_gmu_gpucc_registers, 0, 0);
>> +static const struct a6xx_registers a621_gpucc_reg = REGS(a621_gmu_gpucc_registers, 0, 0);
>> +
>> static u32 a6xx_get_cp_roq_size(struct msm_gpu *gpu);
>> static u32 a7xx_get_cp_roq_size(struct msm_gpu *gpu);
>>
>>
>> --
>> 2.45.2
>>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 2/5] drm/msm/a6xx: Add support for Adreno 623
2025-02-13 16:10 [PATCH 0/5] EDITME: Support for Adreno 623 GPU Akhil P Oommen
2025-02-13 16:10 ` [PATCH 1/5] drm/msm/a6xx: Fix gpucc register block for A621 Akhil P Oommen
@ 2025-02-13 16:10 ` Akhil P Oommen
2025-02-13 16:54 ` Dmitry Baryshkov
2025-02-13 17:21 ` Konrad Dybcio
2025-02-13 16:10 ` [PATCH 3/5] dt-bindings: display/msm/gmu: Add Adreno 623 GMU Akhil P Oommen
` (4 subsequent siblings)
6 siblings, 2 replies; 23+ messages in thread
From: Akhil P Oommen @ 2025-02-13 16:10 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Dmitry Baryshkov, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, devicetree,
Jie Zhang, Akhil P Oommen
From: Jie Zhang <quic_jiezh@quicinc.com>
Add support for Adreno 623 GPU found in QCS8300 chipsets.
Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
---
drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 29 +++++++++++++++++++++++++++++
drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 ++++++++
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 +-
drivers/gpu/drm/msm/adreno/adreno_gpu.h | 5 +++++
4 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
index edffb7737a97..ac156c8b5af9 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
@@ -879,6 +879,35 @@ static const struct adreno_info a6xx_gpus[] = {
{ 0, 0 },
{ 137, 1 },
),
+ }, {
+ .chip_ids = ADRENO_CHIP_IDS(0x06020300),
+ .family = ADRENO_6XX_GEN3,
+ .fw = {
+ [ADRENO_FW_SQE] = "a650_sqe.fw",
+ [ADRENO_FW_GMU] = "a623_gmu.bin",
+ },
+ .gmem = SZ_512K,
+ .inactive_period = DRM_MSM_INACTIVE_PERIOD,
+ .quirks = ADRENO_QUIRK_HAS_CACHED_COHERENT |
+ ADRENO_QUIRK_HAS_HW_APRIV,
+ .init = a6xx_gpu_init,
+ .a6xx = &(const struct a6xx_info) {
+ .hwcg = a620_hwcg,
+ .protect = &a650_protect,
+ .gmu_cgc_mode = 0x00020200,
+ .prim_fifo_threshold = 0x00010000,
+ .bcms = (const struct a6xx_bcm[]) {
+ { .name = "SH0", .buswidth = 16 },
+ { .name = "MC0", .buswidth = 4 },
+ {
+ .name = "ACV",
+ .fixed = true,
+ .perfmode = BIT(3),
+ },
+ { /* sentinel */ },
+ },
+ },
+ .address_space_size = SZ_16G,
}, {
.chip_ids = ADRENO_CHIP_IDS(
0x06030001,
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
index 0ae29a7c8a4d..1820c167fcee 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
@@ -616,6 +616,14 @@ static void a6xx_calc_ubwc_config(struct adreno_gpu *gpu)
gpu->ubwc_config.uavflagprd_inv = 2;
}
+ if (adreno_is_a623(gpu)) {
+ gpu->ubwc_config.highest_bank_bit = 16;
+ gpu->ubwc_config.amsbc = 1;
+ gpu->ubwc_config.rgb565_predicator = 1;
+ gpu->ubwc_config.uavflagprd_inv = 2;
+ gpu->ubwc_config.macrotile_mode = 1;
+ }
+
if (adreno_is_a640_family(gpu))
gpu->ubwc_config.amsbc = 1;
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
index 2c10474ccc95..3222a406d089 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
@@ -1227,7 +1227,7 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
_a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[1],
&a6xx_state->gmu_registers[1], true);
- if (adreno_is_a621(adreno_gpu))
+ if (adreno_is_a621(adreno_gpu) || adreno_is_a623(adreno_gpu))
_a6xx_get_gmu_registers(gpu, a6xx_state, &a621_gpucc_reg,
&a6xx_state->gmu_registers[2], false);
else
diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.h b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
index dcf454629ce0..92caba3584da 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_gpu.h
+++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
@@ -442,6 +442,11 @@ static inline int adreno_is_a621(const struct adreno_gpu *gpu)
return gpu->info->chip_ids[0] == 0x06020100;
}
+static inline int adreno_is_a623(const struct adreno_gpu *gpu)
+{
+ return gpu->info->chip_ids[0] == 0x06020300;
+}
+
static inline int adreno_is_a630(const struct adreno_gpu *gpu)
{
return adreno_is_revn(gpu, 630);
--
2.45.2
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 2/5] drm/msm/a6xx: Add support for Adreno 623
2025-02-13 16:10 ` [PATCH 2/5] drm/msm/a6xx: Add support for Adreno 623 Akhil P Oommen
@ 2025-02-13 16:54 ` Dmitry Baryshkov
2025-02-15 11:49 ` Akhil P Oommen
2025-02-13 17:21 ` Konrad Dybcio
1 sibling, 1 reply; 23+ messages in thread
From: Dmitry Baryshkov @ 2025-02-13 16:54 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Marijn Suijten, David Airlie, Simona Vetter, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, linux-arm-msm,
dri-devel, freedreno, linux-kernel, devicetree, Jie Zhang
On Thu, Feb 13, 2025 at 09:40:07PM +0530, Akhil P Oommen wrote:
> From: Jie Zhang <quic_jiezh@quicinc.com>
>
> Add support for Adreno 623 GPU found in QCS8300 chipsets.
>
> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
> ---
> drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 29 +++++++++++++++++++++++++++++
> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 ++++++++
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 +-
> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 5 +++++
> 4 files changed, 43 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
> index edffb7737a97..ac156c8b5af9 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
> @@ -879,6 +879,35 @@ static const struct adreno_info a6xx_gpus[] = {
> { 0, 0 },
> { 137, 1 },
> ),
> + }, {
> + .chip_ids = ADRENO_CHIP_IDS(0x06020300),
> + .family = ADRENO_6XX_GEN3,
> + .fw = {
> + [ADRENO_FW_SQE] = "a650_sqe.fw",
> + [ADRENO_FW_GMU] = "a623_gmu.bin",
> + },
> + .gmem = SZ_512K,
> + .inactive_period = DRM_MSM_INACTIVE_PERIOD,
> + .quirks = ADRENO_QUIRK_HAS_CACHED_COHERENT |
> + ADRENO_QUIRK_HAS_HW_APRIV,
> + .init = a6xx_gpu_init,
> + .a6xx = &(const struct a6xx_info) {
> + .hwcg = a620_hwcg,
> + .protect = &a650_protect,
> + .gmu_cgc_mode = 0x00020200,
> + .prim_fifo_threshold = 0x00010000,
> + .bcms = (const struct a6xx_bcm[]) {
> + { .name = "SH0", .buswidth = 16 },
> + { .name = "MC0", .buswidth = 4 },
> + {
> + .name = "ACV",
> + .fixed = true,
> + .perfmode = BIT(3),
> + },
> + { /* sentinel */ },
> + },
> + },
> + .address_space_size = SZ_16G,
> }, {
> .chip_ids = ADRENO_CHIP_IDS(
> 0x06030001,
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> index 0ae29a7c8a4d..1820c167fcee 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> @@ -616,6 +616,14 @@ static void a6xx_calc_ubwc_config(struct adreno_gpu *gpu)
> gpu->ubwc_config.uavflagprd_inv = 2;
> }
>
> + if (adreno_is_a623(gpu)) {
> + gpu->ubwc_config.highest_bank_bit = 16;
> + gpu->ubwc_config.amsbc = 1;
This bit causes my question: the patch for msm_mdss states that on the
display side both UBWC encoder and decoder are 4.0, which means that the
UBWC_AMSBC bit won't be set in the UBWC_STATIC register.
> + gpu->ubwc_config.rgb565_predicator = 1;
> + gpu->ubwc_config.uavflagprd_inv = 2;
> + gpu->ubwc_config.macrotile_mode = 1;
> + }
> +
> if (adreno_is_a640_family(gpu))
> gpu->ubwc_config.amsbc = 1;
>
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> index 2c10474ccc95..3222a406d089 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> @@ -1227,7 +1227,7 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
> _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[1],
> &a6xx_state->gmu_registers[1], true);
>
> - if (adreno_is_a621(adreno_gpu))
> + if (adreno_is_a621(adreno_gpu) || adreno_is_a623(adreno_gpu))
> _a6xx_get_gmu_registers(gpu, a6xx_state, &a621_gpucc_reg,
> &a6xx_state->gmu_registers[2], false);
> else
> diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.h b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> index dcf454629ce0..92caba3584da 100644
> --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> @@ -442,6 +442,11 @@ static inline int adreno_is_a621(const struct adreno_gpu *gpu)
> return gpu->info->chip_ids[0] == 0x06020100;
> }
>
> +static inline int adreno_is_a623(const struct adreno_gpu *gpu)
> +{
> + return gpu->info->chip_ids[0] == 0x06020300;
> +}
> +
> static inline int adreno_is_a630(const struct adreno_gpu *gpu)
> {
> return adreno_is_revn(gpu, 630);
>
> --
> 2.45.2
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 23+ messages in thread* Re: [PATCH 2/5] drm/msm/a6xx: Add support for Adreno 623
2025-02-13 16:54 ` Dmitry Baryshkov
@ 2025-02-15 11:49 ` Akhil P Oommen
2025-02-15 15:22 ` Dmitry Baryshkov
0 siblings, 1 reply; 23+ messages in thread
From: Akhil P Oommen @ 2025-02-15 11:49 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Marijn Suijten, David Airlie, Simona Vetter, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, linux-arm-msm,
dri-devel, freedreno, linux-kernel, devicetree, Jie Zhang
On 2/13/2025 10:24 PM, Dmitry Baryshkov wrote:
> On Thu, Feb 13, 2025 at 09:40:07PM +0530, Akhil P Oommen wrote:
>> From: Jie Zhang <quic_jiezh@quicinc.com>
>>
>> Add support for Adreno 623 GPU found in QCS8300 chipsets.
>>
>> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
>> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
>> ---
>> drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 29 +++++++++++++++++++++++++++++
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 ++++++++
>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 +-
>> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 5 +++++
>> 4 files changed, 43 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
>> index edffb7737a97..ac156c8b5af9 100644
>> --- a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
>> +++ b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
>> @@ -879,6 +879,35 @@ static const struct adreno_info a6xx_gpus[] = {
>> { 0, 0 },
>> { 137, 1 },
>> ),
>> + }, {
>> + .chip_ids = ADRENO_CHIP_IDS(0x06020300),
>> + .family = ADRENO_6XX_GEN3,
>> + .fw = {
>> + [ADRENO_FW_SQE] = "a650_sqe.fw",
>> + [ADRENO_FW_GMU] = "a623_gmu.bin",
>> + },
>> + .gmem = SZ_512K,
>> + .inactive_period = DRM_MSM_INACTIVE_PERIOD,
>> + .quirks = ADRENO_QUIRK_HAS_CACHED_COHERENT |
>> + ADRENO_QUIRK_HAS_HW_APRIV,
>> + .init = a6xx_gpu_init,
>> + .a6xx = &(const struct a6xx_info) {
>> + .hwcg = a620_hwcg,
>> + .protect = &a650_protect,
>> + .gmu_cgc_mode = 0x00020200,
>> + .prim_fifo_threshold = 0x00010000,
>> + .bcms = (const struct a6xx_bcm[]) {
>> + { .name = "SH0", .buswidth = 16 },
>> + { .name = "MC0", .buswidth = 4 },
>> + {
>> + .name = "ACV",
>> + .fixed = true,
>> + .perfmode = BIT(3),
>> + },
>> + { /* sentinel */ },
>> + },
>> + },
>> + .address_space_size = SZ_16G,
>> }, {
>> .chip_ids = ADRENO_CHIP_IDS(
>> 0x06030001,
>> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
>> index 0ae29a7c8a4d..1820c167fcee 100644
>> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
>> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
>> @@ -616,6 +616,14 @@ static void a6xx_calc_ubwc_config(struct adreno_gpu *gpu)
>> gpu->ubwc_config.uavflagprd_inv = 2;
>> }
>>
>> + if (adreno_is_a623(gpu)) {
>> + gpu->ubwc_config.highest_bank_bit = 16;
>> + gpu->ubwc_config.amsbc = 1;
>
> This bit causes my question: the patch for msm_mdss states that on the
> display side both UBWC encoder and decoder are 4.0, which means that the
> UBWC_AMSBC bit won't be set in the UBWC_STATIC register.
Not sure, but my guess is that AMSBC encoding is probably implicitly
enabled by MDSS HW when UBWC v4 is configured.
-Akhil
>
>> + gpu->ubwc_config.rgb565_predicator = 1;
>> + gpu->ubwc_config.uavflagprd_inv = 2;
>> + gpu->ubwc_config.macrotile_mode = 1;
>> + }
>> +
>> if (adreno_is_a640_family(gpu))
>> gpu->ubwc_config.amsbc = 1;
>>
>> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
>> index 2c10474ccc95..3222a406d089 100644
>> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
>> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
>> @@ -1227,7 +1227,7 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
>> _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[1],
>> &a6xx_state->gmu_registers[1], true);
>>
>> - if (adreno_is_a621(adreno_gpu))
>> + if (adreno_is_a621(adreno_gpu) || adreno_is_a623(adreno_gpu))
>> _a6xx_get_gmu_registers(gpu, a6xx_state, &a621_gpucc_reg,
>> &a6xx_state->gmu_registers[2], false);
>> else
>> diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.h b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
>> index dcf454629ce0..92caba3584da 100644
>> --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.h
>> +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
>> @@ -442,6 +442,11 @@ static inline int adreno_is_a621(const struct adreno_gpu *gpu)
>> return gpu->info->chip_ids[0] == 0x06020100;
>> }
>>
>> +static inline int adreno_is_a623(const struct adreno_gpu *gpu)
>> +{
>> + return gpu->info->chip_ids[0] == 0x06020300;
>> +}
>> +
>> static inline int adreno_is_a630(const struct adreno_gpu *gpu)
>> {
>> return adreno_is_revn(gpu, 630);
>>
>> --
>> 2.45.2
>>
>
^ permalink raw reply [flat|nested] 23+ messages in thread* Re: [PATCH 2/5] drm/msm/a6xx: Add support for Adreno 623
2025-02-15 11:49 ` Akhil P Oommen
@ 2025-02-15 15:22 ` Dmitry Baryshkov
0 siblings, 0 replies; 23+ messages in thread
From: Dmitry Baryshkov @ 2025-02-15 15:22 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Marijn Suijten, David Airlie, Simona Vetter, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, linux-arm-msm,
dri-devel, freedreno, linux-kernel, devicetree, Jie Zhang
On Sat, 15 Feb 2025 at 13:49, Akhil P Oommen <quic_akhilpo@quicinc.com> wrote:
>
> On 2/13/2025 10:24 PM, Dmitry Baryshkov wrote:
> > On Thu, Feb 13, 2025 at 09:40:07PM +0530, Akhil P Oommen wrote:
> >> From: Jie Zhang <quic_jiezh@quicinc.com>
> >>
> >> Add support for Adreno 623 GPU found in QCS8300 chipsets.
> >>
> >> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
> >> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
> >> ---
> >> drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 29 +++++++++++++++++++++++++++++
> >> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 ++++++++
> >> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 +-
> >> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 5 +++++
> >> 4 files changed, 43 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
> >> index edffb7737a97..ac156c8b5af9 100644
> >> --- a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
> >> +++ b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
> >> @@ -879,6 +879,35 @@ static const struct adreno_info a6xx_gpus[] = {
> >> { 0, 0 },
> >> { 137, 1 },
> >> ),
> >> + }, {
> >> + .chip_ids = ADRENO_CHIP_IDS(0x06020300),
> >> + .family = ADRENO_6XX_GEN3,
> >> + .fw = {
> >> + [ADRENO_FW_SQE] = "a650_sqe.fw",
> >> + [ADRENO_FW_GMU] = "a623_gmu.bin",
> >> + },
> >> + .gmem = SZ_512K,
> >> + .inactive_period = DRM_MSM_INACTIVE_PERIOD,
> >> + .quirks = ADRENO_QUIRK_HAS_CACHED_COHERENT |
> >> + ADRENO_QUIRK_HAS_HW_APRIV,
> >> + .init = a6xx_gpu_init,
> >> + .a6xx = &(const struct a6xx_info) {
> >> + .hwcg = a620_hwcg,
> >> + .protect = &a650_protect,
> >> + .gmu_cgc_mode = 0x00020200,
> >> + .prim_fifo_threshold = 0x00010000,
> >> + .bcms = (const struct a6xx_bcm[]) {
> >> + { .name = "SH0", .buswidth = 16 },
> >> + { .name = "MC0", .buswidth = 4 },
> >> + {
> >> + .name = "ACV",
> >> + .fixed = true,
> >> + .perfmode = BIT(3),
> >> + },
> >> + { /* sentinel */ },
> >> + },
> >> + },
> >> + .address_space_size = SZ_16G,
> >> }, {
> >> .chip_ids = ADRENO_CHIP_IDS(
> >> 0x06030001,
> >> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> >> index 0ae29a7c8a4d..1820c167fcee 100644
> >> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> >> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> >> @@ -616,6 +616,14 @@ static void a6xx_calc_ubwc_config(struct adreno_gpu *gpu)
> >> gpu->ubwc_config.uavflagprd_inv = 2;
> >> }
> >>
> >> + if (adreno_is_a623(gpu)) {
> >> + gpu->ubwc_config.highest_bank_bit = 16;
> >> + gpu->ubwc_config.amsbc = 1;
> >
> > This bit causes my question: the patch for msm_mdss states that on the
> > display side both UBWC encoder and decoder are 4.0, which means that the
> > UBWC_AMSBC bit won't be set in the UBWC_STATIC register.
>
> Not sure, but my guess is that AMSBC encoding is probably implicitly
> enabled by MDSS HW when UBWC v4 is configured.
Ack.
>
> -Akhil
>
> >
> >> + gpu->ubwc_config.rgb565_predicator = 1;
> >> + gpu->ubwc_config.uavflagprd_inv = 2;
> >> + gpu->ubwc_config.macrotile_mode = 1;
> >> + }
> >> +
> >> if (adreno_is_a640_family(gpu))
> >> gpu->ubwc_config.amsbc = 1;
> >>
> >> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> >> index 2c10474ccc95..3222a406d089 100644
> >> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> >> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> >> @@ -1227,7 +1227,7 @@ static void a6xx_get_gmu_registers(struct msm_gpu *gpu,
> >> _a6xx_get_gmu_registers(gpu, a6xx_state, &a6xx_gmu_reglist[1],
> >> &a6xx_state->gmu_registers[1], true);
> >>
> >> - if (adreno_is_a621(adreno_gpu))
> >> + if (adreno_is_a621(adreno_gpu) || adreno_is_a623(adreno_gpu))
> >> _a6xx_get_gmu_registers(gpu, a6xx_state, &a621_gpucc_reg,
> >> &a6xx_state->gmu_registers[2], false);
> >> else
> >> diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.h b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> >> index dcf454629ce0..92caba3584da 100644
> >> --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> >> +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> >> @@ -442,6 +442,11 @@ static inline int adreno_is_a621(const struct adreno_gpu *gpu)
> >> return gpu->info->chip_ids[0] == 0x06020100;
> >> }
> >>
> >> +static inline int adreno_is_a623(const struct adreno_gpu *gpu)
> >> +{
> >> + return gpu->info->chip_ids[0] == 0x06020300;
> >> +}
> >> +
> >> static inline int adreno_is_a630(const struct adreno_gpu *gpu)
> >> {
> >> return adreno_is_revn(gpu, 630);
> >>
> >> --
> >> 2.45.2
> >>
> >
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/5] drm/msm/a6xx: Add support for Adreno 623
2025-02-13 16:10 ` [PATCH 2/5] drm/msm/a6xx: Add support for Adreno 623 Akhil P Oommen
2025-02-13 16:54 ` Dmitry Baryshkov
@ 2025-02-13 17:21 ` Konrad Dybcio
2025-02-25 6:36 ` Akhil P Oommen
1 sibling, 1 reply; 23+ messages in thread
From: Konrad Dybcio @ 2025-02-13 17:21 UTC (permalink / raw)
To: Akhil P Oommen, Rob Clark, Sean Paul, Konrad Dybcio,
Abhinav Kumar, Dmitry Baryshkov, Marijn Suijten, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, devicetree,
Jie Zhang
On 13.02.2025 5:10 PM, Akhil P Oommen wrote:
> From: Jie Zhang <quic_jiezh@quicinc.com>
>
> Add support for Adreno 623 GPU found in QCS8300 chipsets.
>
> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
> ---
> drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 29 +++++++++++++++++++++++++++++
> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 ++++++++
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 +-
> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 5 +++++
> 4 files changed, 43 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
> index edffb7737a97..ac156c8b5af9 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
> @@ -879,6 +879,35 @@ static const struct adreno_info a6xx_gpus[] = {
> { 0, 0 },
> { 137, 1 },
> ),
> + }, {
> + .chip_ids = ADRENO_CHIP_IDS(0x06020300),
> + .family = ADRENO_6XX_GEN3,
> + .fw = {
> + [ADRENO_FW_SQE] = "a650_sqe.fw",
> + [ADRENO_FW_GMU] = "a623_gmu.bin",
> + },
> + .gmem = SZ_512K,
> + .inactive_period = DRM_MSM_INACTIVE_PERIOD,
> + .quirks = ADRENO_QUIRK_HAS_CACHED_COHERENT |
> + ADRENO_QUIRK_HAS_HW_APRIV,
> + .init = a6xx_gpu_init,
> + .a6xx = &(const struct a6xx_info) {
> + .hwcg = a620_hwcg,
On downstream a663 hwcg table is used, with the following differences:
< A620
> A663
< {REG_A6XX_RBBM_CLOCK_CNTL_TP0, 0x02222222},
> {REG_A6XX_RBBM_CLOCK_CNTL_TP0, 0x22222222},
< {REG_A6XX_RBBM_CLOCK_HYST_TEX_FCHE, 0x00000777},
> {REG_A6XX_RBBM_CLOCK_HYST_TEX_FCHE, 0x00000000}
Konrad
^ permalink raw reply [flat|nested] 23+ messages in thread* Re: [PATCH 2/5] drm/msm/a6xx: Add support for Adreno 623
2025-02-13 17:21 ` Konrad Dybcio
@ 2025-02-25 6:36 ` Akhil P Oommen
0 siblings, 0 replies; 23+ messages in thread
From: Akhil P Oommen @ 2025-02-25 6:36 UTC (permalink / raw)
To: Konrad Dybcio, Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Dmitry Baryshkov, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, devicetree,
Jie Zhang
On 2/13/2025 10:51 PM, Konrad Dybcio wrote:
> On 13.02.2025 5:10 PM, Akhil P Oommen wrote:
>> From: Jie Zhang <quic_jiezh@quicinc.com>
>>
>> Add support for Adreno 623 GPU found in QCS8300 chipsets.
>>
>> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
>> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
>> ---
>> drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 29 +++++++++++++++++++++++++++++
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 ++++++++
>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 +-
>> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 5 +++++
>> 4 files changed, 43 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
>> index edffb7737a97..ac156c8b5af9 100644
>> --- a/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
>> +++ b/drivers/gpu/drm/msm/adreno/a6xx_catalog.c
>> @@ -879,6 +879,35 @@ static const struct adreno_info a6xx_gpus[] = {
>> { 0, 0 },
>> { 137, 1 },
>> ),
>> + }, {
>> + .chip_ids = ADRENO_CHIP_IDS(0x06020300),
>> + .family = ADRENO_6XX_GEN3,
>> + .fw = {
>> + [ADRENO_FW_SQE] = "a650_sqe.fw",
>> + [ADRENO_FW_GMU] = "a623_gmu.bin",
>> + },
>> + .gmem = SZ_512K,
>> + .inactive_period = DRM_MSM_INACTIVE_PERIOD,
>> + .quirks = ADRENO_QUIRK_HAS_CACHED_COHERENT |
>> + ADRENO_QUIRK_HAS_HW_APRIV,
>> + .init = a6xx_gpu_init,
>> + .a6xx = &(const struct a6xx_info) {
>> + .hwcg = a620_hwcg,
>
> On downstream a663 hwcg table is used, with the following differences:
>
> < A620
>> A663
>
> < {REG_A6XX_RBBM_CLOCK_CNTL_TP0, 0x02222222},
>> {REG_A6XX_RBBM_CLOCK_CNTL_TP0, 0x22222222},
>
> < {REG_A6XX_RBBM_CLOCK_HYST_TEX_FCHE, 0x00000777},
>> {REG_A6XX_RBBM_CLOCK_HYST_TEX_FCHE, 0x00000000}
Thanks. We ended up reviewing this with HW folks and found that the
downstream code is incorrect too. Will send another revision.
-Akhil.
>
> Konrad
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 3/5] dt-bindings: display/msm/gmu: Add Adreno 623 GMU
2025-02-13 16:10 [PATCH 0/5] EDITME: Support for Adreno 623 GPU Akhil P Oommen
2025-02-13 16:10 ` [PATCH 1/5] drm/msm/a6xx: Fix gpucc register block for A621 Akhil P Oommen
2025-02-13 16:10 ` [PATCH 2/5] drm/msm/a6xx: Add support for Adreno 623 Akhil P Oommen
@ 2025-02-13 16:10 ` Akhil P Oommen
2025-02-14 8:44 ` Krzysztof Kozlowski
2025-02-13 16:10 ` [PATCH 4/5] arm64: dts: qcom: qcs8300: Add gpu and gmu nodes Akhil P Oommen
` (3 subsequent siblings)
6 siblings, 1 reply; 23+ messages in thread
From: Akhil P Oommen @ 2025-02-13 16:10 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Dmitry Baryshkov, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, devicetree,
Jie Zhang, Akhil P Oommen
From: Jie Zhang <quic_jiezh@quicinc.com>
Document Adreno 623 GMU in the dt-binding specification.
Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
---
Documentation/devicetree/bindings/display/msm/gmu.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/msm/gmu.yaml b/Documentation/devicetree/bindings/display/msm/gmu.yaml
index ab884e236429..4392aa7a4ffe 100644
--- a/Documentation/devicetree/bindings/display/msm/gmu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gmu.yaml
@@ -123,6 +123,7 @@ allOf:
compatible:
contains:
enum:
+ - qcom,adreno-gmu-623.0
- qcom,adreno-gmu-635.0
- qcom,adreno-gmu-660.1
- qcom,adreno-gmu-663.0
--
2.45.2
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 3/5] dt-bindings: display/msm/gmu: Add Adreno 623 GMU
2025-02-13 16:10 ` [PATCH 3/5] dt-bindings: display/msm/gmu: Add Adreno 623 GMU Akhil P Oommen
@ 2025-02-14 8:44 ` Krzysztof Kozlowski
0 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-14 8:44 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Dmitry Baryshkov, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, linux-arm-msm,
dri-devel, freedreno, linux-kernel, devicetree, Jie Zhang
On Thu, Feb 13, 2025 at 09:40:08PM +0530, Akhil P Oommen wrote:
> From: Jie Zhang <quic_jiezh@quicinc.com>
>
> Document Adreno 623 GMU in the dt-binding specification.
>
> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
> ---
> Documentation/devicetree/bindings/display/msm/gmu.yaml | 1 +
> 1 file changed, 1 insertion(+)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 4/5] arm64: dts: qcom: qcs8300: Add gpu and gmu nodes
2025-02-13 16:10 [PATCH 0/5] EDITME: Support for Adreno 623 GPU Akhil P Oommen
` (2 preceding siblings ...)
2025-02-13 16:10 ` [PATCH 3/5] dt-bindings: display/msm/gmu: Add Adreno 623 GMU Akhil P Oommen
@ 2025-02-13 16:10 ` Akhil P Oommen
2025-02-13 16:56 ` Dmitry Baryshkov
2025-02-13 16:10 ` [PATCH 5/5] arm64: dts: qcom: qcs8300-ride: Enable Adreno 623 GPU Akhil P Oommen
` (2 subsequent siblings)
6 siblings, 1 reply; 23+ messages in thread
From: Akhil P Oommen @ 2025-02-13 16:10 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Dmitry Baryshkov, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, devicetree,
Jie Zhang, Akhil P Oommen
From: Jie Zhang <quic_jiezh@quicinc.com>
Add gpu and gmu nodes for qcs8300 chipset.
Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
---
arch/arm64/boot/dts/qcom/qcs8300.dtsi | 93 +++++++++++++++++++++++++++++++++++
1 file changed, 93 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
index f1c90db7b0e6..2dc487dcc584 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
@@ -2660,6 +2660,99 @@ serdes0: phy@8909000 {
status = "disabled";
};
+ gpu: gpu@3d00000 {
+ compatible = "qcom,adreno-623.0", "qcom,adreno";
+ reg = <0x0 0x03d00000 0x0 0x40000>,
+ <0x0 0x03d9e000 0x0 0x1000>,
+ <0x0 0x03d61000 0x0 0x800>;
+ reg-names = "kgsl_3d0_reg_memory",
+ "cx_mem",
+ "cx_dbgc";
+ interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
+ iommus = <&adreno_smmu 0 0xc00>,
+ <&adreno_smmu 1 0xc00>;
+ operating-points-v2 = <&gpu_opp_table>;
+ qcom,gmu = <&gmu>;
+ interconnects = <&gem_noc MASTER_GFX3D QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+ interconnect-names = "gfx-mem";
+ #cooling-cells = <2>;
+
+ status = "disabled";
+
+ gpu_zap_shader: zap-shader {
+ memory-region = <&gpu_microcode_mem>;
+ };
+
+ gpu_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-877000000 {
+ opp-hz = /bits/ 64 <877000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
+ opp-peak-kBps = <12484375>;
+ };
+
+ opp-780000000 {
+ opp-hz = /bits/ 64 <780000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
+ opp-peak-kBps = <10687500>;
+ };
+
+ opp-599000000 {
+ opp-hz = /bits/ 64 <599000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
+ opp-peak-kBps = <8171875>;
+ };
+
+ opp-479000000 {
+ opp-hz = /bits/ 64 <479000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
+ opp-peak-kBps = <5285156>;
+ };
+ };
+ };
+
+ gmu: gmu@3d6a000 {
+ compatible = "qcom,adreno-gmu-623.0", "qcom,adreno-gmu";
+ reg = <0x0 0x03d6a000 0x0 0x34000>,
+ <0x0 0x03de0000 0x0 0x10000>,
+ <0x0 0x0b290000 0x0 0x10000>;
+ reg-names = "gmu", "rscc", "gmu_pdc";
+ interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "hfi", "gmu";
+ clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
+ <&gpucc GPU_CC_CXO_CLK>,
+ <&gcc GCC_DDRSS_GPU_AXI_CLK>,
+ <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
+ <&gpucc GPU_CC_AHB_CLK>,
+ <&gpucc GPU_CC_HUB_CX_INT_CLK>,
+ <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>;
+ clock-names = "gmu",
+ "cxo",
+ "axi",
+ "memnoc",
+ "ahb",
+ "hub",
+ "smmu_vote";
+ power-domains = <&gpucc GPU_CC_CX_GDSC>,
+ <&gpucc GPU_CC_GX_GDSC>;
+ power-domain-names = "cx",
+ "gx";
+ iommus = <&adreno_smmu 5 0xc00>;
+ operating-points-v2 = <&gmu_opp_table>;
+
+ gmu_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-200000000 {
+ opp-hz = /bits/ 64 <200000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
+ };
+ };
+ };
+
gpucc: clock-controller@3d90000 {
compatible = "qcom,qcs8300-gpucc";
reg = <0x0 0x03d90000 0x0 0xa000>;
--
2.45.2
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: qcs8300: Add gpu and gmu nodes
2025-02-13 16:10 ` [PATCH 4/5] arm64: dts: qcom: qcs8300: Add gpu and gmu nodes Akhil P Oommen
@ 2025-02-13 16:56 ` Dmitry Baryshkov
2025-02-13 17:16 ` Akhil P Oommen
0 siblings, 1 reply; 23+ messages in thread
From: Dmitry Baryshkov @ 2025-02-13 16:56 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Marijn Suijten, David Airlie, Simona Vetter, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, linux-arm-msm,
dri-devel, freedreno, linux-kernel, devicetree, Jie Zhang
On Thu, Feb 13, 2025 at 09:40:09PM +0530, Akhil P Oommen wrote:
> From: Jie Zhang <quic_jiezh@quicinc.com>
>
> Add gpu and gmu nodes for qcs8300 chipset.
>
> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 93 +++++++++++++++++++++++++++++++++++
> 1 file changed, 93 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
> index f1c90db7b0e6..2dc487dcc584 100644
> --- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi
> +++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
> @@ -2660,6 +2660,99 @@ serdes0: phy@8909000 {
> status = "disabled";
> };
>
> + gpu: gpu@3d00000 {
> + compatible = "qcom,adreno-623.0", "qcom,adreno";
> + reg = <0x0 0x03d00000 0x0 0x40000>,
> + <0x0 0x03d9e000 0x0 0x1000>,
> + <0x0 0x03d61000 0x0 0x800>;
> + reg-names = "kgsl_3d0_reg_memory",
> + "cx_mem",
> + "cx_dbgc";
> + interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
> + iommus = <&adreno_smmu 0 0xc00>,
> + <&adreno_smmu 1 0xc00>;
> + operating-points-v2 = <&gpu_opp_table>;
> + qcom,gmu = <&gmu>;
> + interconnects = <&gem_noc MASTER_GFX3D QCOM_ICC_TAG_ALWAYS
> + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
> + interconnect-names = "gfx-mem";
> + #cooling-cells = <2>;
> +
> + status = "disabled";
> +
> + gpu_zap_shader: zap-shader {
> + memory-region = <&gpu_microcode_mem>;
> + };
> +
> + gpu_opp_table: opp-table {
> + compatible = "operating-points-v2";
> +
> + opp-877000000 {
> + opp-hz = /bits/ 64 <877000000>;
> + opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
> + opp-peak-kBps = <12484375>;
> + };
> +
> + opp-780000000 {
> + opp-hz = /bits/ 64 <780000000>;
> + opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
> + opp-peak-kBps = <10687500>;
> + };
> +
> + opp-599000000 {
> + opp-hz = /bits/ 64 <599000000>;
> + opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
> + opp-peak-kBps = <8171875>;
> + };
> +
> + opp-479000000 {
> + opp-hz = /bits/ 64 <479000000>;
> + opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
> + opp-peak-kBps = <5285156>;
> + };
Does it have no speed bins or are they pending on the nvmem patchset?
> + };
> + };
> +
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 23+ messages in thread* Re: [PATCH 4/5] arm64: dts: qcom: qcs8300: Add gpu and gmu nodes
2025-02-13 16:56 ` Dmitry Baryshkov
@ 2025-02-13 17:16 ` Akhil P Oommen
0 siblings, 0 replies; 23+ messages in thread
From: Akhil P Oommen @ 2025-02-13 17:16 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Marijn Suijten, David Airlie, Simona Vetter, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, linux-arm-msm,
dri-devel, freedreno, linux-kernel, devicetree, Jie Zhang
On 2/13/2025 10:26 PM, Dmitry Baryshkov wrote:
> On Thu, Feb 13, 2025 at 09:40:09PM +0530, Akhil P Oommen wrote:
>> From: Jie Zhang <quic_jiezh@quicinc.com>
>>
>> Add gpu and gmu nodes for qcs8300 chipset.
>>
>> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
>> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
>> ---
>> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 93 +++++++++++++++++++++++++++++++++++
>> 1 file changed, 93 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/qcs8300.dtsi b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
>> index f1c90db7b0e6..2dc487dcc584 100644
>> --- a/arch/arm64/boot/dts/qcom/qcs8300.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/qcs8300.dtsi
>> @@ -2660,6 +2660,99 @@ serdes0: phy@8909000 {
>> status = "disabled";
>> };
>>
>> + gpu: gpu@3d00000 {
>> + compatible = "qcom,adreno-623.0", "qcom,adreno";
>> + reg = <0x0 0x03d00000 0x0 0x40000>,
>> + <0x0 0x03d9e000 0x0 0x1000>,
>> + <0x0 0x03d61000 0x0 0x800>;
>> + reg-names = "kgsl_3d0_reg_memory",
>> + "cx_mem",
>> + "cx_dbgc";
>> + interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
>> + iommus = <&adreno_smmu 0 0xc00>,
>> + <&adreno_smmu 1 0xc00>;
>> + operating-points-v2 = <&gpu_opp_table>;
>> + qcom,gmu = <&gmu>;
>> + interconnects = <&gem_noc MASTER_GFX3D QCOM_ICC_TAG_ALWAYS
>> + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
>> + interconnect-names = "gfx-mem";
>> + #cooling-cells = <2>;
>> +
>> + status = "disabled";
>> +
>> + gpu_zap_shader: zap-shader {
>> + memory-region = <&gpu_microcode_mem>;
>> + };
>> +
>> + gpu_opp_table: opp-table {
>> + compatible = "operating-points-v2";
>> +
>> + opp-877000000 {
>> + opp-hz = /bits/ 64 <877000000>;
>> + opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
>> + opp-peak-kBps = <12484375>;
>> + };
>> +
>> + opp-780000000 {
>> + opp-hz = /bits/ 64 <780000000>;
>> + opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
>> + opp-peak-kBps = <10687500>;
>> + };
>> +
>> + opp-599000000 {
>> + opp-hz = /bits/ 64 <599000000>;
>> + opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
>> + opp-peak-kBps = <8171875>;
>> + };
>> +
>> + opp-479000000 {
>> + opp-hz = /bits/ 64 <479000000>;
>> + opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
>> + opp-peak-kBps = <5285156>;
>> + };
>
> Does it have no speed bins or are they pending on the nvmem patchset?
Product team hasn't shared the details of GPU SKUs or the SKU detection
mechanism yet. The default assumption is single SKU.
-Akhil.
>
>> + };
>> + };
>> +
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 5/5] arm64: dts: qcom: qcs8300-ride: Enable Adreno 623 GPU
2025-02-13 16:10 [PATCH 0/5] EDITME: Support for Adreno 623 GPU Akhil P Oommen
` (3 preceding siblings ...)
2025-02-13 16:10 ` [PATCH 4/5] arm64: dts: qcom: qcs8300: Add gpu and gmu nodes Akhil P Oommen
@ 2025-02-13 16:10 ` Akhil P Oommen
2025-02-13 16:57 ` Dmitry Baryshkov
2025-02-13 16:42 ` [PATCH 0/5] EDITME: Support for " Dmitry Baryshkov
2025-02-19 0:42 ` Rob Herring (Arm)
6 siblings, 1 reply; 23+ messages in thread
From: Akhil P Oommen @ 2025-02-13 16:10 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Dmitry Baryshkov, Marijn Suijten, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, devicetree,
Jie Zhang, Akhil P Oommen
From: Jie Zhang <quic_jiezh@quicinc.com>
Enable GPU for qcs8300-ride platform and provide path for zap
shader.
Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
---
arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
index b5c9f89b3435..5f6c6a1f5965 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
+++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
@@ -285,6 +285,14 @@ queue3 {
};
};
+&gpu {
+ status = "okay";
+};
+
+&gpu_zap_shader {
+ firmware-name = "qcom/qcs8300/a623_zap.mbn";
+};
+
&qupv3_id_0 {
status = "okay";
};
--
2.45.2
^ permalink raw reply related [flat|nested] 23+ messages in thread* Re: [PATCH 5/5] arm64: dts: qcom: qcs8300-ride: Enable Adreno 623 GPU
2025-02-13 16:10 ` [PATCH 5/5] arm64: dts: qcom: qcs8300-ride: Enable Adreno 623 GPU Akhil P Oommen
@ 2025-02-13 16:57 ` Dmitry Baryshkov
0 siblings, 0 replies; 23+ messages in thread
From: Dmitry Baryshkov @ 2025-02-13 16:57 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Marijn Suijten, David Airlie, Simona Vetter, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, linux-arm-msm,
dri-devel, freedreno, linux-kernel, devicetree, Jie Zhang
On Thu, Feb 13, 2025 at 09:40:10PM +0530, Akhil P Oommen wrote:
> From: Jie Zhang <quic_jiezh@quicinc.com>
>
> Enable GPU for qcs8300-ride platform and provide path for zap
> shader.
>
> Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com>
> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 0/5] EDITME: Support for Adreno 623 GPU
2025-02-13 16:10 [PATCH 0/5] EDITME: Support for Adreno 623 GPU Akhil P Oommen
` (4 preceding siblings ...)
2025-02-13 16:10 ` [PATCH 5/5] arm64: dts: qcom: qcs8300-ride: Enable Adreno 623 GPU Akhil P Oommen
@ 2025-02-13 16:42 ` Dmitry Baryshkov
2025-02-13 16:56 ` Akhil P Oommen
2025-02-19 0:42 ` Rob Herring (Arm)
6 siblings, 1 reply; 23+ messages in thread
From: Dmitry Baryshkov @ 2025-02-13 16:42 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Marijn Suijten, David Airlie, Simona Vetter, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, linux-arm-msm,
dri-devel, freedreno, linux-kernel, devicetree, Jie Zhang
On Thu, Feb 13, 2025 at 09:40:05PM +0530, Akhil P Oommen wrote:
Nit: subject needs to be fixed
> This series adds support for A623 GPU found in QCS8300 chipsets. This
> GPU IP is very similar to A621 GPU, except for the UBWC configuration
> and the GMU firmware.
>
> Both DT patches are for Bjorn and rest of the patches for Rob Clark to
> pick up.
>
> ---
> Jie Zhang (5):
> drm/msm/a6xx: Fix gpucc register block for A621
> drm/msm/a6xx: Add support for Adreno 623
> dt-bindings: display/msm/gmu: Add Adreno 623 GMU
> arm64: dts: qcom: qcs8300: Add gpu and gmu nodes
> arm64: dts: qcom: qcs8300-ride: Enable Adreno 623 GPU
>
> .../devicetree/bindings/display/msm/gmu.yaml | 1 +
> arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 8 ++
> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 93 ++++++++++++++++++++++
> drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 29 +++++++
> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 ++
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 13 ++-
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h | 17 ++++
> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 5 ++
> 8 files changed, 171 insertions(+), 3 deletions(-)
> ---
> base-commit: 6a25088d268ce4c2163142ead7fe1975bb687cb7
> change-id: 20250213-a623-gpu-support-f6698603fb85
> prerequisite-change-id: 20250131-b4-branch-gfx-smmu-b03261963064:v5
> prerequisite-patch-id: f8fd1a2020c940e595e58a8bd3c55d00d3d87271
> prerequisite-patch-id: 08a0540f75b0f95fd2018b38c9ed5c6f96433b4d
>
> Best regards,
> --
> Akhil P Oommen <quic_akhilpo@quicinc.com>
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 23+ messages in thread* Re: [PATCH 0/5] EDITME: Support for Adreno 623 GPU
2025-02-13 16:42 ` [PATCH 0/5] EDITME: Support for " Dmitry Baryshkov
@ 2025-02-13 16:56 ` Akhil P Oommen
0 siblings, 0 replies; 23+ messages in thread
From: Akhil P Oommen @ 2025-02-13 16:56 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
Marijn Suijten, David Airlie, Simona Vetter, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, linux-arm-msm,
dri-devel, freedreno, linux-kernel, devicetree, Jie Zhang
On 2/13/2025 10:12 PM, Dmitry Baryshkov wrote:
> On Thu, Feb 13, 2025 at 09:40:05PM +0530, Akhil P Oommen wrote:
>
> Nit: subject needs to be fixed
That escaped my eyes. Will fix in the next rev.
-Akhil
>
>> This series adds support for A623 GPU found in QCS8300 chipsets. This
>> GPU IP is very similar to A621 GPU, except for the UBWC configuration
>> and the GMU firmware.
>>
>> Both DT patches are for Bjorn and rest of the patches for Rob Clark to
>> pick up.
>>
>> ---
>> Jie Zhang (5):
>> drm/msm/a6xx: Fix gpucc register block for A621
>> drm/msm/a6xx: Add support for Adreno 623
>> dt-bindings: display/msm/gmu: Add Adreno 623 GMU
>> arm64: dts: qcom: qcs8300: Add gpu and gmu nodes
>> arm64: dts: qcom: qcs8300-ride: Enable Adreno 623 GPU
>>
>> .../devicetree/bindings/display/msm/gmu.yaml | 1 +
>> arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 8 ++
>> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 93 ++++++++++++++++++++++
>> drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 29 +++++++
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 ++
>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 13 ++-
>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h | 17 ++++
>> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 5 ++
>> 8 files changed, 171 insertions(+), 3 deletions(-)
>> ---
>> base-commit: 6a25088d268ce4c2163142ead7fe1975bb687cb7
>> change-id: 20250213-a623-gpu-support-f6698603fb85
>> prerequisite-change-id: 20250131-b4-branch-gfx-smmu-b03261963064:v5
>> prerequisite-patch-id: f8fd1a2020c940e595e58a8bd3c55d00d3d87271
>> prerequisite-patch-id: 08a0540f75b0f95fd2018b38c9ed5c6f96433b4d
>>
>> Best regards,
>> --
>> Akhil P Oommen <quic_akhilpo@quicinc.com>
>>
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 0/5] EDITME: Support for Adreno 623 GPU
2025-02-13 16:10 [PATCH 0/5] EDITME: Support for Adreno 623 GPU Akhil P Oommen
` (5 preceding siblings ...)
2025-02-13 16:42 ` [PATCH 0/5] EDITME: Support for " Dmitry Baryshkov
@ 2025-02-19 0:42 ` Rob Herring (Arm)
6 siblings, 0 replies; 23+ messages in thread
From: Rob Herring (Arm) @ 2025-02-19 0:42 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Jie Zhang, Simona Vetter, devicetree, Sean Paul, Conor Dooley,
Dmitry Baryshkov, Maarten Lankhorst, Thomas Zimmermann,
linux-kernel, Krzysztof Kozlowski, dri-devel, Rob Clark,
freedreno, Konrad Dybcio, linux-arm-msm, Marijn Suijten,
David Airlie, Bjorn Andersson, Abhinav Kumar, Maxime Ripard
On Thu, 13 Feb 2025 21:40:05 +0530, Akhil P Oommen wrote:
> This series adds support for A623 GPU found in QCS8300 chipsets. This
> GPU IP is very similar to A621 GPU, except for the UBWC configuration
> and the GMU firmware.
>
> Both DT patches are for Bjorn and rest of the patches for Rob Clark to
> pick up.
>
> ---
> Jie Zhang (5):
> drm/msm/a6xx: Fix gpucc register block for A621
> drm/msm/a6xx: Add support for Adreno 623
> dt-bindings: display/msm/gmu: Add Adreno 623 GMU
> arm64: dts: qcom: qcs8300: Add gpu and gmu nodes
> arm64: dts: qcom: qcs8300-ride: Enable Adreno 623 GPU
>
> .../devicetree/bindings/display/msm/gmu.yaml | 1 +
> arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 8 ++
> arch/arm64/boot/dts/qcom/qcs8300.dtsi | 93 ++++++++++++++++++++++
> drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 29 +++++++
> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 ++
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 13 ++-
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h | 17 ++++
> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 5 ++
> 8 files changed, 171 insertions(+), 3 deletions(-)
> ---
> base-commit: 6a25088d268ce4c2163142ead7fe1975bb687cb7
> change-id: 20250213-a623-gpu-support-f6698603fb85
> prerequisite-change-id: 20250131-b4-branch-gfx-smmu-b03261963064:v5
> prerequisite-patch-id: f8fd1a2020c940e595e58a8bd3c55d00d3d87271
> prerequisite-patch-id: 08a0540f75b0f95fd2018b38c9ed5c6f96433b4d
>
> Best regards,
> --
> Akhil P Oommen <quic_akhilpo@quicinc.com>
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20250213-a623-gpu-support-v1-0-993c65c39fd2@quicinc.com:
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:0: 'gcc_gpu_memnoc_gfx_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:1: 'gcc_gpu_snoc_dvm_gfx_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:2: 'gpu_cc_ahb_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:3: 'gpu_cc_hlos1_vote_gpu_smmu_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:4: 'gpu_cc_cx_gmu_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
arch/arm64/boot/dts/qcom/qcs8300-ride.dtb: iommu@3da0000: clock-names:5: 'gpu_cc_hub_cx_int_clk' was expected
from schema $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
^ permalink raw reply [flat|nested] 23+ messages in thread