Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [v4 0/3] Add support for Adreno a6xx
@ 2018-06-04 16:55 Jordan Crouse
       [not found] ` <20180604165514.1226-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Jordan Crouse @ 2018-06-04 16:55 UTC (permalink / raw)
  To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

This is initial version of a6xx support for the Adreno a6xx GPU
family as found on the sdm845 SoC.  This code is ahead of most of the rest of
the sdm845 code that would be needed to actually bring up a device and it is
definitely far in advance of any user side support for the a6xx GPU so this is
mainly just a chance to look over the code structure and get a feel for the
direction that the hardware is going in.

The a6xx GPU is an iteration of the a5xx family so most of the GPU side code
looks pretty close to the same except for the usual register differences. The
big different is in power control.  On the a5xx there was a rudimentary device
called the GMU that did some basic power stuff but left most of the complexity
to the kernel.  On the a6xx the power complexity is being moved to a component
called the GMU (graphics management unit).

This stack has a number of dependencies that are in various stages of being
merged:

https://patchwork.kernel.org/patch/10286375/ - dev_pm_opp_get_of_node()
https://patchwork.kernel.org/patch/10333575/ - command DB
https://patchwork.kernel.org/patch/10301163/ - pm_runtime ops for arm-smmu

[v4 - Add clock parsing helper function and use it for GPU and GMU.  Update
recommended clock gating settings. Fix a bug in the CMD DB parser. Update
register values from updated database ]

[v3 - fix inverted register definition for GMU_SPTPRAC_CLK_STATUS; fix incorrect
register check in a5xx_gmu_gx_is_on(), use dev_pm_opp_get_of_node() from
Rajendra and Viresh to read the qcom,level from the device tree; read qcom,level
from the DT to get the voltage level to pass to the GMU, fix issues
identified by smatch]

[v2 - addressed comments from Lucas Stach; added pm_runtime_get_supplier calls
for accesses to the GMU IOMMU; moved to SPDX headers for new files]

*** BLURB HERE ***

Jordan Crouse (2):
  drm/msm: Add a helper function to parse clock names
  drm/msm: Add A6XX device support

Sharat Masetty (1):
  drm/msm: Add generated headers for A6XX

 drivers/gpu/drm/msm/Makefile               |    3 +
 drivers/gpu/drm/msm/adreno/a6xx.xml.h      | 1784 ++++++++++++++++++++
 drivers/gpu/drm/msm/adreno/a6xx_gmu.c      | 1174 +++++++++++++
 drivers/gpu/drm/msm/adreno/a6xx_gmu.h      |  162 ++
 drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h  |  382 +++++
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c      |  807 +++++++++
 drivers/gpu/drm/msm/adreno/a6xx_gpu.h      |   60 +
 drivers/gpu/drm/msm/adreno/a6xx_hfi.c      |  435 +++++
 drivers/gpu/drm/msm/adreno/a6xx_hfi.h      |  127 ++
 drivers/gpu/drm/msm/adreno/adreno_device.c |   12 +
 drivers/gpu/drm/msm/adreno/adreno_gpu.c    |    2 +-
 drivers/gpu/drm/msm/adreno/adreno_gpu.h    |    4 +
 drivers/gpu/drm/msm/msm_drv.c              |   57 +
 drivers/gpu/drm/msm/msm_drv.h              |    4 +
 drivers/gpu/drm/msm/msm_gpu.c              |   62 +-
 drivers/gpu/drm/msm/msm_gpu.h              |    2 +-
 16 files changed, 5024 insertions(+), 53 deletions(-)
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx.xml.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gmu.c
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gmu.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gpu.c
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gpu.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_hfi.c
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_hfi.h

-- 
2.17.0

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [v3 PATCH 0/3] Add support for Adreno a6xx
@ 2018-03-02 21:43 Jordan Crouse
  2018-03-02 21:43 ` [PATCH 2/3] drm/msm: Add generated headers for A6XX Jordan Crouse
  0 siblings, 1 reply; 6+ messages in thread
From: Jordan Crouse @ 2018-03-02 21:43 UTC (permalink / raw)
  To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: nm-l0cyMroinI0, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
	linux-pm-u79uwXL29TY76Z2rM5mHXA, sboyd-sgV2jX0FEOL9JmXXK+q4OQ,
	vireshk-DgEjT+Ai2ygdnm+yROfE0A

a6xx GPU support for drm/msm - follow along here:
https://patchwork.freedesktop.org/series/37428/

Per suggestions from various folks for the associated device tree changes for
the sdm845 GPU (coming immediately after this) add a new opp function to query
the device tree node for a specific opp so that we can parse out platform
specific properties. For the GPU/GMU the device specific property is
qcom,arc-level which is a lookup value for the cmd-db table. Thanks Stephen
Boyd for the suggestion.

[v3: Add dev_pm_opp_np() and use it to get the per-opp rpmh index. Change the
reg-names and interrupt-names to reflect current standards without the "reg" or
"irq" suffix.  Fix additional bugs in the code that constructs the rpmh votes
for the GMU]

[v2: Addressed comments from Lucas Stach, added pm_runtime_get_supplier calls
for accesses to the GMU IOMMU, moved to SPDX headers for the new files]

Jordan Crouse (2):
  PM / OPP: Add dev_pm_opp_get_np()
  drm/msm: Add A6XX device support

Sharat Masetty (1):
  drm/msm: Add generated headers for A6XX

 drivers/gpu/drm/msm/Makefile               |    3 +
 drivers/gpu/drm/msm/adreno/a6xx.xml.h      | 1600 ++++++++++++++++++++++++++++
 drivers/gpu/drm/msm/adreno/a6xx_gmu.c      | 1226 +++++++++++++++++++++
 drivers/gpu/drm/msm/adreno/a6xx_gmu.h      |  162 +++
 drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h  |  382 +++++++
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c      |  809 ++++++++++++++
 drivers/gpu/drm/msm/adreno/a6xx_gpu.h      |   60 ++
 drivers/gpu/drm/msm/adreno/a6xx_hfi.c      |  435 ++++++++
 drivers/gpu/drm/msm/adreno/a6xx_hfi.h      |  127 +++
 drivers/gpu/drm/msm/adreno/adreno_device.c |   12 +
 drivers/gpu/drm/msm/adreno/adreno_gpu.c    |    2 +-
 drivers/gpu/drm/msm/adreno/adreno_gpu.h    |    5 +-
 drivers/gpu/drm/msm/msm_gpu.c              |    2 +-
 drivers/opp/of.c                           |   20 +
 include/linux/pm_opp.h                     |    6 +
 15 files changed, 4848 insertions(+), 3 deletions(-)
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx.xml.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gmu.c
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gmu.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gpu.c
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gpu.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_hfi.c
 create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_hfi.h

-- 
2.16.1

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

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

end of thread, other threads:[~2018-06-05  1:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-04 16:55 [v4 0/3] Add support for Adreno a6xx Jordan Crouse
     [not found] ` <20180604165514.1226-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-06-04 16:55   ` [PATCH 1/3] drm/msm: Add a helper function to parse clock names Jordan Crouse
     [not found]     ` <20180604165514.1226-2-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-06-05  1:47       ` kbuild test robot
2018-06-04 16:55   ` [PATCH 2/3] drm/msm: Add generated headers for A6XX Jordan Crouse
2018-06-04 16:55   ` [PATCH 3/3] drm/msm: Add A6XX device support Jordan Crouse
  -- strict thread matches above, loose matches on Subject: below --
2018-03-02 21:43 [v3 PATCH 0/3] Add support for Adreno a6xx Jordan Crouse
2018-03-02 21:43 ` [PATCH 2/3] drm/msm: Add generated headers for A6XX Jordan Crouse

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