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

Message ID 20230329205129.1513734-1-15330273260@189.cn
Headers
Series drm/etnaviv: add pci device driver support |

Message

Sui Jingfeng March 29, 2023, 8:51 p.m. UTC
  From: Sui Jingfeng <suijingfeng@loongson.cn>

  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