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