mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support
@ 2025-11-21 16:13 Dmitry Baryshkov
  2025-11-21 16:13 ` [PATCH 1/2] drm/msm/a2xx: fix pixel shader start on A225 Dmitry Baryshkov
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2025-11-21 16:13 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Konrad Dybcio, Dmitry Baryshkov,
	Abhinav Kumar, Jessica Zhang, Marijn Suijten, David Airlie,
	Simona Vetter, Jordan Crouse, Jonathan Marek
  Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel

Add two remaining bits necessary to enable Adreno A225 support.
Note, this wasn't tested on the actual hardware and is purely based on
the old KGSL driver from msm-3.0. For example, running on MSM8960 might
require adjusting PM_OVERRIDE[12] registers.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Dmitry Baryshkov (2):
      drm/msm/a2xx: fix pixel shader start on A225
      drm/msm/a2xx: add A225 entry to catalog

 drivers/gpu/drm/msm/adreno/a2xx_catalog.c | 12 ++++++++++++
 drivers/gpu/drm/msm/adreno/a2xx_gpu.c     |  5 ++++-
 2 files changed, 16 insertions(+), 1 deletion(-)
---
base-commit: b179ce312bafcb8c68dc718e015aee79b7939ff0
change-id: 20251121-a225-196020e562c2

Best regards,
-- 
With best wishes
Dmitry


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/2] drm/msm/a2xx: fix pixel shader start on A225
  2025-11-21 16:13 [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support Dmitry Baryshkov
@ 2025-11-21 16:13 ` Dmitry Baryshkov
  2025-11-22 13:26   ` Konrad Dybcio
  2025-11-21 16:13 ` [PATCH 2/2] drm/msm/a2xx: add A225 entry to catalog Dmitry Baryshkov
  2025-11-21 19:36 ` [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support Konrad Dybcio
  2 siblings, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2025-11-21 16:13 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Konrad Dybcio, Dmitry Baryshkov,
	Abhinav Kumar, Jessica Zhang, Marijn Suijten, David Airlie,
	Simona Vetter, Jordan Crouse, Jonathan Marek
  Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel

A225 has a different PixelShader start address, write correct address
while initializing GPU.

Fixes: 21af872cd8c6 ("drm/msm/adreno: add a2xx")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 drivers/gpu/drm/msm/adreno/a2xx_gpu.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/adreno/a2xx_gpu.c b/drivers/gpu/drm/msm/adreno/a2xx_gpu.c
index ec38db45d8a366e75acddbacd4810d7b7a80926f..cdc24b3b7b81cce6b01aa14a74bd8e512cd8be90 100644
--- a/drivers/gpu/drm/msm/adreno/a2xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a2xx_gpu.c
@@ -77,7 +77,10 @@ static bool a2xx_me_init(struct msm_gpu *gpu)
 
 	/* Vertex and Pixel Shader Start Addresses in instructions
 	 * (3 DWORDS per instruction) */
-	OUT_RING(ring, 0x80000180);
+	if (adreno_is_a225(adreno_gpu))
+		OUT_RING(ring, 0x80000300);
+	else
+		OUT_RING(ring, 0x80000180);
 	/* Maximum Contexts */
 	OUT_RING(ring, 0x00000001);
 	/* Write Confirm Interval and The CP will wait the

-- 
2.47.3


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 2/2] drm/msm/a2xx: add A225 entry to catalog
  2025-11-21 16:13 [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support Dmitry Baryshkov
  2025-11-21 16:13 ` [PATCH 1/2] drm/msm/a2xx: fix pixel shader start on A225 Dmitry Baryshkov
@ 2025-11-21 16:13 ` Dmitry Baryshkov
  2025-11-21 19:37   ` Konrad Dybcio
  2025-11-21 19:36 ` [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support Konrad Dybcio
  2 siblings, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2025-11-21 16:13 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Konrad Dybcio, Dmitry Baryshkov,
	Abhinav Kumar, Jessica Zhang, Marijn Suijten, David Airlie,
	Simona Vetter, Jordan Crouse, Jonathan Marek
  Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel

Add catalog entry for Adreno A225.6 as present on MSM8960v3. Most of the
pieces were already contributed by Jonathan Marek in commit 21af872cd8c6
("drm/msm/adreno: add a2xx"), but weren't enabled because there was no
GPU entry.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 drivers/gpu/drm/msm/adreno/a2xx_catalog.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/msm/adreno/a2xx_catalog.c b/drivers/gpu/drm/msm/adreno/a2xx_catalog.c
index 5ddd015f930d9a7dd04e2d2035daa0b2f5ff3f27..9ee4c9c4dcf7575a4fdfe24a14cd6acc99f5de1c 100644
--- a/drivers/gpu/drm/msm/adreno/a2xx_catalog.c
+++ b/drivers/gpu/drm/msm/adreno/a2xx_catalog.c
@@ -42,6 +42,18 @@ static const struct adreno_info a2xx_gpus[] = {
 		.gmem  = SZ_512K,
 		.inactive_period = DRM_MSM_INACTIVE_PERIOD,
 		.init  = a2xx_gpu_init,
+	}, {
+		/* Only for msm8960v3, v2 required a special firmware */
+		.chip_ids = ADRENO_CHIP_IDS(0x02020506),
+		.family = ADRENO_2XX_GEN2,
+		.revn  = 225,
+		.fw = {
+			[ADRENO_FW_PM4] = "a225_pm4.fw",
+			[ADRENO_FW_PFP] = "a225_pfp.fw",
+		},
+		.gmem  = SZ_512K,
+		.inactive_period = DRM_MSM_INACTIVE_PERIOD,
+		.init  = a2xx_gpu_init,
 	}
 };
 DECLARE_ADRENO_GPULIST(a2xx);

-- 
2.47.3


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support
  2025-11-21 16:13 [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support Dmitry Baryshkov
  2025-11-21 16:13 ` [PATCH 1/2] drm/msm/a2xx: fix pixel shader start on A225 Dmitry Baryshkov
  2025-11-21 16:13 ` [PATCH 2/2] drm/msm/a2xx: add A225 entry to catalog Dmitry Baryshkov
@ 2025-11-21 19:36 ` Konrad Dybcio
  2025-11-21 20:38   ` Dmitry Baryshkov
  2 siblings, 1 reply; 8+ messages in thread
From: Konrad Dybcio @ 2025-11-21 19:36 UTC (permalink / raw)
  To: Dmitry Baryshkov, Rob Clark, Sean Paul, Konrad Dybcio,
	Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Marijn Suijten,
	David Airlie, Simona Vetter, Jordan Crouse, Jonathan Marek
  Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel

On 11/21/25 5:13 PM, Dmitry Baryshkov wrote:
> Add two remaining bits necessary to enable Adreno A225 support.
> Note, this wasn't tested on the actual hardware and is purely based on
> the old KGSL driver from msm-3.0. For example, running on MSM8960 might
> require adjusting PM_OVERRIDE[12] registers.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Dmitry Baryshkov (2):
>       drm/msm/a2xx: fix pixel shader start on A225
>       drm/msm/a2xx: add A225 entry to catalog

Not sure that's enough, a2xx_drawctxt_draw_workaround looks scary

https://github.com/AdrianDC/android_kernel_sony_msm8960t/blob/lineage-18.1/drivers/gpu/msm/adreno_a2xx.c

Konrad

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] drm/msm/a2xx: add A225 entry to catalog
  2025-11-21 16:13 ` [PATCH 2/2] drm/msm/a2xx: add A225 entry to catalog Dmitry Baryshkov
@ 2025-11-21 19:37   ` Konrad Dybcio
  0 siblings, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2025-11-21 19:37 UTC (permalink / raw)
  To: Dmitry Baryshkov, Rob Clark, Sean Paul, Konrad Dybcio,
	Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Marijn Suijten,
	David Airlie, Simona Vetter, Jordan Crouse, Jonathan Marek
  Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel

On 11/21/25 5:13 PM, Dmitry Baryshkov wrote:
> Add catalog entry for Adreno A225.6 as present on MSM8960v3. Most of the
> pieces were already contributed by Jonathan Marek in commit 21af872cd8c6
> ("drm/msm/adreno: add a2xx"), but weren't enabled because there was no
> GPU entry.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support
  2025-11-21 19:36 ` [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support Konrad Dybcio
@ 2025-11-21 20:38   ` Dmitry Baryshkov
  2025-11-22 13:26     ` Konrad Dybcio
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2025-11-21 20:38 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Rob Clark, Sean Paul, Konrad Dybcio, Dmitry Baryshkov,
	Abhinav Kumar, Jessica Zhang, Marijn Suijten, David Airlie,
	Simona Vetter, Jordan Crouse, Jonathan Marek, linux-arm-msm,
	dri-devel, freedreno, linux-kernel

On Fri, Nov 21, 2025 at 08:36:08PM +0100, Konrad Dybcio wrote:
> On 11/21/25 5:13 PM, Dmitry Baryshkov wrote:
> > Add two remaining bits necessary to enable Adreno A225 support.
> > Note, this wasn't tested on the actual hardware and is purely based on
> > the old KGSL driver from msm-3.0. For example, running on MSM8960 might
> > require adjusting PM_OVERRIDE[12] registers.
> > 
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> > ---
> > Dmitry Baryshkov (2):
> >       drm/msm/a2xx: fix pixel shader start on A225
> >       drm/msm/a2xx: add A225 entry to catalog
> 
> Not sure that's enough, a2xx_drawctxt_draw_workaround looks scary
> 
> https://github.com/AdrianDC/android_kernel_sony_msm8960t/blob/lineage-18.1/drivers/gpu/msm/adreno_a2xx.c

Yep. msm-3.0 does some other things for a200 / a220, which we don't
perform. I don't know which parts actually apply to our stack and which
don't.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] drm/msm/a2xx: fix pixel shader start on A225
  2025-11-21 16:13 ` [PATCH 1/2] drm/msm/a2xx: fix pixel shader start on A225 Dmitry Baryshkov
@ 2025-11-22 13:26   ` Konrad Dybcio
  0 siblings, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2025-11-22 13:26 UTC (permalink / raw)
  To: Dmitry Baryshkov, Rob Clark, Sean Paul, Konrad Dybcio,
	Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Marijn Suijten,
	David Airlie, Simona Vetter, Jordan Crouse, Jonathan Marek
  Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel

On 11/21/25 5:13 PM, Dmitry Baryshkov wrote:
> A225 has a different PixelShader start address, write correct address
> while initializing GPU.
> 
> Fixes: 21af872cd8c6 ("drm/msm/adreno: add a2xx")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support
  2025-11-21 20:38   ` Dmitry Baryshkov
@ 2025-11-22 13:26     ` Konrad Dybcio
  0 siblings, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2025-11-22 13:26 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Rob Clark, Sean Paul, Konrad Dybcio, Dmitry Baryshkov,
	Abhinav Kumar, Jessica Zhang, Marijn Suijten, David Airlie,
	Simona Vetter, Jordan Crouse, Jonathan Marek, linux-arm-msm,
	dri-devel, freedreno, linux-kernel

On 11/21/25 9:38 PM, Dmitry Baryshkov wrote:
> On Fri, Nov 21, 2025 at 08:36:08PM +0100, Konrad Dybcio wrote:
>> On 11/21/25 5:13 PM, Dmitry Baryshkov wrote:
>>> Add two remaining bits necessary to enable Adreno A225 support.
>>> Note, this wasn't tested on the actual hardware and is purely based on
>>> the old KGSL driver from msm-3.0. For example, running on MSM8960 might
>>> require adjusting PM_OVERRIDE[12] registers.
>>>
>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>>> ---
>>> Dmitry Baryshkov (2):
>>>       drm/msm/a2xx: fix pixel shader start on A225
>>>       drm/msm/a2xx: add A225 entry to catalog
>>
>> Not sure that's enough, a2xx_drawctxt_draw_workaround looks scary
>>
>> https://github.com/AdrianDC/android_kernel_sony_msm8960t/blob/lineage-18.1/drivers/gpu/msm/adreno_a2xx.c
> 
> Yep. msm-3.0 does some other things for a200 / a220, which we don't
> perform. I don't know which parts actually apply to our stack and which
> don't.

Right, this patchset at least fixes up the obvious errors and those
interested can poke at it more

Konrad

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-11-22 13:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-21 16:13 [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support Dmitry Baryshkov
2025-11-21 16:13 ` [PATCH 1/2] drm/msm/a2xx: fix pixel shader start on A225 Dmitry Baryshkov
2025-11-22 13:26   ` Konrad Dybcio
2025-11-21 16:13 ` [PATCH 2/2] drm/msm/a2xx: add A225 entry to catalog Dmitry Baryshkov
2025-11-21 19:37   ` Konrad Dybcio
2025-11-21 19:36 ` [PATCH 0/2] drm/msm/a2xx: enable Adreno A225 support Konrad Dybcio
2025-11-21 20:38   ` Dmitry Baryshkov
2025-11-22 13:26     ` Konrad Dybcio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®