[PATCH v2 0/7] Add support for Adreno 508/509/512

kholk11
2020-09-28T20:47:14Z

In this patch series, we are adding support for lower end Adreno 5
series GPUs, such as A508, A509 and A512 that we have found in the
Qualcomm SDM630, SDM636 and SDM660 SoCs.

On a note, adding support for these three units, also adds 99% of
the required "things" for another two GPUs, A505 and A506 but, even
if adding them requires literally two lines of code, noone of us has
got any SoC equipped with these ones hence we wouldn't be able to
test. Even though there is basically no reason for them to not work
correctly, kernel side, I chose to avoid adding the two "magic" lines.

Anyway, this patchset also addresses some issues that we've found in
the A5XX part of the Adreno driver, regarding a logic mistake in one
of the VPC protect values and a forced overwrite of the register named
A5XX_PC_DBG_ECO_CNTL, forcing the setting of vtxFifo and primFifo
thresholds that was valid only for higher end GPUs.

This patch series has been tested on the following devices:
- Sony Xperia XA2 Ultra (SDM630 Nile Discovery)
- Sony Xperia 10 (SDM630 Ganges Kirin)
- Sony Xperia 10 Plus (SDM636 Ganges Mermaid)

Changes in v2:
- Define REG_A5XX_UCHE_MODE_CNTL and fix open-coded
REG_A5XX_VPC_DBG_ECO_CNTL in the all flat shading optimization
disablement commit, as requested by Rob Clark.

AngeloGioacchino Del Regno (4):
drm/msm/a5xx: Remove overwriting A5XX_PC_DBG_ECO_CNTL register
drm/msm/a5xx: Separate A5XX_PC_DBG_ECO_CNTL write from main branch
drm/msm/a5xx: Add support for Adreno 508, 509, 512 GPUs
drm/msm/a5xx: Reset VBIF before PC only on A510 and A530

Konrad Dybcio (3):
drm/msm/a5xx: Fix VPC protect value in gpu_write()
drm/msm/a5xx: Disable flat shading optimization
drm/msm/a5xx: Disable UCHE global filter

drivers/gpu/drm/msm/adreno/a5xx.xml.h | 2 +
drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 195 ++++++++++++++++++---
drivers/gpu/drm/msm/adreno/a5xx_power.c | 4 +-
drivers/gpu/drm/msm/adreno/adreno_device.c | 60 +++++++
drivers/gpu/drm/msm/adreno/adreno_gpu.h | 15 ++
5 files changed, 249 insertions(+), 27 deletions(-)

--
2.28.0