linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] altra workarounds for PCIE_64 with instrumentation
@ 2024-08-27 13:08 Alex Bennée
  2024-08-27 13:08 ` [PATCH 1/3] ampere/arm64: Add a fixup handler for alignment faults in aarch64 code Alex Bennée
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Alex Bennée @ 2024-08-27 13:08 UTC (permalink / raw)
  To: linux-kernel; +Cc: kvm, linux-arm-kernel, kvmarm, maz, arnd, Alex Bennée

While testing virtio-vulkan on the AVA platform we needed to include
some fixups for its PCI handling. As far as I know these have only
been included in various downstream kernel repos:

  https://community.amperecomputing.com/t/gpu-support-for-ampere-altra/274

The initial two patches are as we found them save for a fix to
align_ldst_regoff_simdfp in the alignment handler. The third and new
patch is trace point instrumentation so we could see how often the
workaround is being invoked.

Combined with Sean's PFN patches:

  https://lore.kernel.org/all/20240726235234.228822-1-seanjc@google.com/

And the Vulkan/Venus support for QEMU:

  https://patchew.org/QEMU/20240822185110.1757429-1-dmitry.osipenko@collabora.com/

I was able to test virtio-vulkan running in a Aarch64 KVM guest hosted
on my AVA platform with an AMD Radeon graphics card plugged into the
PCI bus.

I don't know if there is any interest in getting these upstream but I
figured it was worth posting to the lists for wider visibility and
discussion. For now I'll just carry these patches locally on my AVA
until I get a better system for PCI GPU experiments.

Thanks,

Alex.

Alex Bennée (1):
  ampere/arm64: instrument the altra workarounds

D Scott Phillips (2):
  ampere/arm64: Add a fixup handler for alignment faults in aarch64 code
  ampere/arm64: Work around Ampere Altra erratum #82288 PCIE_65

 arch/arm64/Kconfig                 |  22 +-
 arch/arm64/include/asm/insn.h      |   1 +
 arch/arm64/include/asm/io.h        |   3 +
 arch/arm64/include/asm/pgtable.h   |  29 +-
 arch/arm64/mm/Makefile             |   3 +-
 arch/arm64/mm/fault.c              | 726 +++++++++++++++++++++++++++++
 arch/arm64/mm/fault_neon.c         |  59 +++
 arch/arm64/mm/ioremap.c            |  38 ++
 drivers/pci/quirks.c               |   9 +
 include/asm-generic/io.h           |   4 +
 include/trace/events/altra_fixup.h |  57 +++
 mm/ioremap.c                       |   2 +-
 12 files changed, 945 insertions(+), 8 deletions(-)
 create mode 100644 arch/arm64/mm/fault_neon.c
 create mode 100644 include/trace/events/altra_fixup.h

-- 
2.39.2



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

end of thread, other threads:[~2024-08-30  1:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-27 13:08 [PATCH 0/3] altra workarounds for PCIE_64 with instrumentation Alex Bennée
2024-08-27 13:08 ` [PATCH 1/3] ampere/arm64: Add a fixup handler for alignment faults in aarch64 code Alex Bennée
2024-08-27 21:23   ` D Scott Phillips
2024-08-28  8:29     ` Marc Zyngier
2024-08-28  9:47     ` Alex Bennée
2024-08-30  1:43   ` kernel test robot
2024-08-27 13:08 ` [PATCH 2/3] ampere/arm64: Work around Ampere Altra erratum #82288 PCIE_65 Alex Bennée
2024-08-27 13:08 ` [PATCH 3/3] ampere/arm64: instrument the altra workarounds Alex Bennée

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).