public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] drm/msm: Add support for the WHERE_AM_I opcode
@ 2020-09-14 22:40 Jordan Crouse
  2020-09-14 22:40 ` [PATCH 1/3] drm/msm: Allow a5xx to mark the RPTR shadow as privileged Jordan Crouse
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jordan Crouse @ 2020-09-14 22:40 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: Akhil P Oommen, AngeloGioacchino Del Regno, Ben Dooks,
	Bjorn Andersson, Brian Masney, Daniel Vetter, David Airlie,
	Emil Velikov, Eric Anholt, Greg Kroah-Hartman, Jonathan Marek,
	Rob Clark, Sean Paul, Sharat Masetty, Shawn Guo, Wambui Karuga,
	dri-devel, freedreno, linux-kernel

The microcode in linux-firmware has been updated to 1.87.01 for a5xx
1.77.01 for a6xx [1]. These microcode versions support a new opcode called
WHERE_AM_I that takes the place of the hardware RPTR shadow and enables the
microcode to update the RPTR shadow in privileged memory so it is protected
against the user.

This patch series re-enables the RPTR shadow and preemption for a5xx and older
versions of a6xx if the WHERE_AM_I opcode is available. Newer a6xx targets
(starting with a650) have automatic privileged protection so the hardware RPTR
shadow can be renabled for those targets too. If any of the needed dependencies
aren't met then the RPTR shadow will remain disabled (along with preemption on
5xx).

This stack is bsed on https://gitlab.freedesktop.org/drm/msm.git msm-next-pgtables
as there are some minor dependencies on the reorganized code in the pgtable
stack.

Jordan

[1] https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=f48fec44127f88ce83ea1bcaf5824de4146ca2f9

Jordan Crouse (3):
  drm/msm: Allow a5xx to mark the RPTR shadow as privileged
  drm/msm: a6xx: Use WHERE_AM_I for eligible targets
  drm/msm: Get rid of the REG_ADRENO offsets

 drivers/gpu/drm/msm/adreno/a2xx_gpu.c       |  65 +++++++++---
 drivers/gpu/drm/msm/adreno/a3xx_gpu.c       |  77 +++++++++++---
 drivers/gpu/drm/msm/adreno/a4xx_gpu.c       |  82 +++++++++++----
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c       | 108 ++++++++++++++++----
 drivers/gpu/drm/msm/adreno/a5xx_gpu.h       |  12 +++
 drivers/gpu/drm/msm/adreno/a5xx_power.c     |   2 +-
 drivers/gpu/drm/msm/adreno/a5xx_preempt.c   |   5 +-
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c       | 100 +++++++++++++++---
 drivers/gpu/drm/msm/adreno/a6xx_gpu.h       |   9 ++
 drivers/gpu/drm/msm/adreno/adreno_gpu.c     |  81 +--------------
 drivers/gpu/drm/msm/adreno/adreno_gpu.h     |  81 +--------------
 drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h |   1 +
 drivers/gpu/drm/msm/msm_gpu.h               |   1 +
 13 files changed, 377 insertions(+), 247 deletions(-)

-- 
2.25.1


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

end of thread, other threads:[~2020-09-14 22:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-14 22:40 [PATCH 0/3] drm/msm: Add support for the WHERE_AM_I opcode Jordan Crouse
2020-09-14 22:40 ` [PATCH 1/3] drm/msm: Allow a5xx to mark the RPTR shadow as privileged Jordan Crouse
2020-09-14 22:40 ` [PATCH 2/3] drm/msm: a6xx: Use WHERE_AM_I for eligible targets Jordan Crouse
2020-09-14 22:40 ` [PATCH 3/3] drm/msm: Get rid of the REG_ADRENO offsets Jordan Crouse

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