[PATCH v3 0/6] drm/etnaviv: add pci device driver support

From: Sui Jingfeng
Date: Wed Mar 29 2023 - 16:51:51 EST


From: Sui Jingfeng <suijingfeng@xxxxxxxxxxx>

There is a Vivante GC1000(v5037) in LS2K1000 and LS7A1000, the gpu is a
PCI device and it has 2D and 3D core in the same gpu device. Therefore,
this patch trying to add PCI device driver support on the great works
already done by etnaviv folks.

LS7A1000 is a bridge chip for LS3A5000(4 core 2.5Ghz loongarch cpu) and
LS3A4000(4 core 1.8gHz Mips64r5 cpu), While LS2K1000 is just a slow SoC
(2 core 1.0Ghz mips64r2). Loongson CPU support cached coherent caching
mode, both the GPU and DC device snoop CPU cache by default firmware
configuration.

Sui Jingfeng (6):
drm/etnaviv: add a dedicate function to register irq handler for the
gpu
drm/etnaviv: add a dedicate function to get clock
drm/etnaviv: add dedicate functions to create and destroy platform
device
drm/etnaviv: add helpers for private data construction and destruction
drm/etnaviv: expand driver support for the pci devices
drm/etnaviv: allow usperspace create cached coherent bo

drivers/gpu/drm/etnaviv/Makefile | 1 +
drivers/gpu/drm/etnaviv/etnaviv_drv.c | 183 +++++++++++++------
drivers/gpu/drm/etnaviv/etnaviv_drv.h | 7 +
drivers/gpu/drm/etnaviv/etnaviv_gem.c | 22 ++-
drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c | 9 +-
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 185 ++++++++++++++------
drivers/gpu/drm/etnaviv/etnaviv_gpu.h | 13 ++
drivers/gpu/drm/etnaviv/etnaviv_pci_drv.c | 88 ++++++++++
drivers/gpu/drm/etnaviv/etnaviv_pci_drv.h | 10 ++
include/uapi/drm/etnaviv_drm.h | 11 +-
10 files changed, 415 insertions(+), 114 deletions(-)
create mode 100644 drivers/gpu/drm/etnaviv/etnaviv_pci_drv.c
create mode 100644 drivers/gpu/drm/etnaviv/etnaviv_pci_drv.h

--
2.25.1