On Mon, Feb 21, 2022 at 5:23 PM Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxx> wrote: > > Add support for the Adreno 619 GPU, as found in Snapdragon 690 (SM6350), > 480 (SM4350) and 750G (SM7225). > > Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 11 ++-- > drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 70 +++++++++++++++++++++- > drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 66 +++++++++++++++++++- > drivers/gpu/drm/msm/adreno/adreno_device.c | 14 +++++ > drivers/gpu/drm/msm/adreno/adreno_gpu.h | 13 +++- > 5 files changed, 166 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > index 3e325e2a2b1b..e8d4cca6cd46 100644 > --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > @@ -527,6 +527,8 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu) > pdc_in_aop = true; > else if (adreno_is_a618(adreno_gpu) || adreno_is_a640_family(adreno_gpu)) > pdc_address_offset = 0x30090; > + else if (adreno_is_a619(adreno_gpu)) > + pdc_address_offset = 0x300a0; > else > pdc_address_offset = 0x30080; > > @@ -601,7 +603,8 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu) > > pdc_write(pdcptr, REG_A6XX_PDC_GPU_TCS3_CMD0_MSGID + 4, 0x10108); > pdc_write(pdcptr, REG_A6XX_PDC_GPU_TCS3_CMD0_ADDR + 4, 0x30000); > - if (adreno_is_a618(adreno_gpu) || adreno_is_a650_family(adreno_gpu)) > + if (adreno_is_a618(adreno_gpu) || adreno_is_a619(adreno_gpu) || > + adreno_is_a650_family(adreno_gpu)) > pdc_write(pdcptr, REG_A6XX_PDC_GPU_TCS3_CMD0_DATA + 4, 0x2); > else > pdc_write(pdcptr, REG_A6XX_PDC_GPU_TCS3_CMD0_DATA + 4, 0x3); > @@ -1537,7 +1540,7 @@ int a6xx_gmu_init(struct a6xx_gpu *a6xx_gpu, struct device_node *node) > SZ_16M - SZ_16K, 0x04000, "icache"); > if (ret) > goto err_memory; > - } else if (adreno_is_a640_family(adreno_gpu)) { > + } else { Was this intended? It would result in extra/unneeded memory allocations on a615/a618/a630..