Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [PATCH v2 00/14] GMU-less A6xx support (A610, A619_holi)
@ 2023-02-14 17:31 Konrad Dybcio
  2023-02-14 17:31 ` [PATCH v2 01/14] drm/msm/a6xx: De-staticize sptprac en/disable functions Konrad Dybcio
                   ` (13 more replies)
  0 siblings, 14 replies; 42+ messages in thread
From: Konrad Dybcio @ 2023-02-14 17:31 UTC (permalink / raw)
  To: linux-arm-msm, andersson, agross; +Cc: marijn.suijten, Konrad Dybcio

v1 -> v2:
- Fix A630 values in [2/14]
- Fix [6/14] for GMU-equipped GPUs

Link to v1: https://lore.kernel.org/linux-arm-msm/20230126151618.225127-1-konrad.dybcio@linaro.org/

This series concludes my couple-weeks-long suffering of figuring out
the ins and outs of the "non-standard" A6xx GPUs which feature no GMU.

The GMU functionality is essentially emulated by parting out a
"GMU wrapper" region, which is essentially just a register space
within the GPU. It's modeled to be as similar to the actual GMU
as possible while staying as unnecessary as we can make it - there's
no IRQs, communicating with a microcontroller, no RPMh communication
etc. etc. I tried to reuse as much code as possible without making
a mess where every even line is used for GMU and every odd line is
used for GMU wrapper..

This series contains:
- plumbing for non-GMU operation, if-ing out GMU calls based on
  GMU presence
- GMU wrapper support
- A610 support (w/ speedbin)
- A619 support (w/ speedbin)
- couple of minor fixes and improvements
- VDDCX/VDDGX scaling fix for non-GMU GPUs (concerns more than just
  A6xx)
- Enablement of opp interconnect properties

A619_holi works perfectly fine using the already-present A619 support
in mesa. A610 needs more work on that front, but can already replay
command traces captures on downstream.

NOTE: the "drm/msm/a6xx: Add support for A619_holi" patch contains
two occurences of 0x18 used in place of a register #define, as it's
supposed to be RBBM_GPR0_CNTL, but that will only be present after
mesa-side changes are merged and headers are synced from there.

Speedbin patches depend on:
https://lore.kernel.org/linux-arm-msm/20230120172233.1905761-1-konrad.dybcio@linaro.org/


Konrad Dybcio (14):
  drm/msm/a6xx: De-staticize sptprac en/disable functions
  drm/msm/a6xx: Extend UBWC config
  drm/msm/a6xx: Introduce GMU wrapper support
  drm/msm/a6xx: Remove both GBIF and RBBM GBIF halt on hw init
  drm/msm/adreno: Disable has_cached_coherent for A610/A619_holi
  drm/msm/gpu: Use dev_pm_opp_set_rate for non-GMU GPUs
  drm/msm/a6xx: Add support for A619_holi
  drm/msm/a6xx: Add A610 support
  drm/msm/a6xx: Fix some A619 tunables
  drm/msm/a6xx: Fix up A6XX protected registers
  drm/msm/a6xx: Enable optional icc voting from OPP tables
  drm/msm/a6xx: Use "else if" in GPU speedbin rev matching
  drm/msm/a6xx: Add A619_holi speedbin support
  drm/msm/a6xx: Add A610 speedbin support

 drivers/gpu/drm/msm/adreno/a6xx_gmu.c       |  55 ++-
 drivers/gpu/drm/msm/adreno/a6xx_gmu.h       |   2 +
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c       | 427 +++++++++++++++++---
 drivers/gpu/drm/msm/adreno/a6xx_gpu.h       |   1 +
 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c |  14 +-
 drivers/gpu/drm/msm/adreno/adreno_device.c  |  34 +-
 drivers/gpu/drm/msm/adreno/adreno_gpu.c     |   4 +
 drivers/gpu/drm/msm/adreno/adreno_gpu.h     |  19 +-
 drivers/gpu/drm/msm/msm_gpu_devfreq.c       |   2 +-
 9 files changed, 492 insertions(+), 66 deletions(-)

-- 
2.39.1


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

end of thread, other threads:[~2023-02-20 10:45 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-14 17:31 [PATCH v2 00/14] GMU-less A6xx support (A610, A619_holi) Konrad Dybcio
2023-02-14 17:31 ` [PATCH v2 01/14] drm/msm/a6xx: De-staticize sptprac en/disable functions Konrad Dybcio
2023-02-17 20:41   ` Dmitry Baryshkov
2023-02-14 17:31 ` [PATCH v2 02/14] drm/msm/a6xx: Extend UBWC config Konrad Dybcio
2023-02-17 20:46   ` Dmitry Baryshkov
2023-02-17 20:51     ` Konrad Dybcio
2023-02-14 17:31 ` [PATCH v2 03/14] drm/msm/a6xx: Introduce GMU wrapper support Konrad Dybcio
2023-02-17 21:37   ` Dmitry Baryshkov
2023-02-17 21:41     ` Konrad Dybcio
2023-02-17 21:44       ` Dmitry Baryshkov
2023-02-17 21:45         ` Konrad Dybcio
2023-02-14 17:31 ` [PATCH v2 04/14] drm/msm/a6xx: Remove both GBIF and RBBM GBIF halt on hw init Konrad Dybcio
2023-02-14 17:31 ` [PATCH v2 05/14] drm/msm/adreno: Disable has_cached_coherent for A610/A619_holi Konrad Dybcio
2023-02-17 20:54   ` Dmitry Baryshkov
2023-02-14 17:31 ` [PATCH v2 06/14] drm/msm/gpu: Use dev_pm_opp_set_rate for non-GMU GPUs Konrad Dybcio
2023-02-17 21:07   ` Dmitry Baryshkov
2023-02-18 11:04     ` Konrad Dybcio
2023-02-18 16:47       ` Dmitry Baryshkov
2023-02-20  9:59         ` Konrad Dybcio
2023-02-20 10:12           ` Konrad Dybcio
2023-02-20 10:45           ` Dmitry Baryshkov
2023-02-14 17:31 ` [PATCH v2 07/14] drm/msm/a6xx: Add support for A619_holi Konrad Dybcio
2023-02-17 21:19   ` Dmitry Baryshkov
2023-02-17 21:21     ` Konrad Dybcio
2023-02-18 13:04       ` Dmitry Baryshkov
2023-02-14 17:31 ` [PATCH v2 08/14] drm/msm/a6xx: Add A610 support Konrad Dybcio
2023-02-17 21:42   ` Dmitry Baryshkov
2023-02-14 17:31 ` [PATCH v2 09/14] drm/msm/a6xx: Fix some A619 tunables Konrad Dybcio
2023-02-17 21:42   ` Dmitry Baryshkov
2023-02-14 17:31 ` [PATCH v2 10/14] drm/msm/a6xx: Fix up A6XX protected registers Konrad Dybcio
2023-02-14 21:56   ` Rob Clark
2023-02-15  0:10     ` Dmitry Baryshkov
2023-02-15  0:38       ` Konrad Dybcio
2023-02-15  1:28         ` Rob Clark
2023-02-14 17:31 ` [PATCH v2 11/14] drm/msm/a6xx: Enable optional icc voting from OPP tables Konrad Dybcio
2023-02-17 21:19   ` Dmitry Baryshkov
2023-02-14 17:31 ` [PATCH v2 12/14] drm/msm/a6xx: Use "else if" in GPU speedbin rev matching Konrad Dybcio
2023-02-17 21:20   ` Dmitry Baryshkov
2023-02-14 17:31 ` [PATCH v2 13/14] drm/msm/a6xx: Add A619_holi speedbin support Konrad Dybcio
2023-02-17 21:25   ` Dmitry Baryshkov
2023-02-14 17:31 ` [PATCH v2 14/14] drm/msm/a6xx: Add A610 " Konrad Dybcio
2023-02-17 21:25   ` Dmitry Baryshkov

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