drm/etnaviv: add pci device driver support for gpu in LS7A1000 and LS2K1000

Sui Jingfeng 15330273260 at 189.cn
Sat Nov 20 07:59:22 UTC 2021


  There is a Vivante GC1000 V5037 in LS2K1000 and LS7A1000,
  the gpu is a PCI device and it have 2D and 3D in the same core.
  Therefore, this patch try to provide PCI device driver wrapper
  for it by mimic the platform counterpart.

  LS7A1000 is a bridge chip, this bridge chip typically use
  with LS3A4000 (4 core 1.8gHz, Mips64r5) and LS3A5000 (4 core
  loongarch 2.5Ghz). While LS2K1000 is a double core 1.0Ghz
  Mips64r2 SoC.

  loongson CPU's cache coherency is maintained by the hardware.

  Both LS7A1000 and LS2K1000 have a display controller integrated,
  named lsdc. The drm driver of this display controller is not
  upstream yet, but we have a demo version and it works.
  By using KMS-RO framework, lsdc and gc1000 made a compatible pair.

suijingfeng (4):
  dt-bindings: ls2k1000: add gpu device node
  drm/etnaviv: add pci device driver support
  loongson3_defconfig: enable etnaviv drm driver on default
  loongson2_defconfig: enable etnaviv drm driver on default

 .../boot/dts/loongson/loongson64-2k1000.dtsi  |  11 +
 arch/mips/configs/loongson2k_defconfig        |   1 +
 arch/mips/configs/loongson3_defconfig         |   1 +
 drivers/gpu/drm/etnaviv/Kconfig               |  12 ++
 drivers/gpu/drm/etnaviv/Makefile              |   2 +
 drivers/gpu/drm/etnaviv/etnaviv_drv.c         | 113 +++++++---
 drivers/gpu/drm/etnaviv/etnaviv_drv.h         |   8 +
 drivers/gpu/drm/etnaviv/etnaviv_gem.c         |  28 ++-
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c         |  94 +++++---
 drivers/gpu/drm/etnaviv/etnaviv_gpu.h         |   6 +
 drivers/gpu/drm/etnaviv/etnaviv_pci_drv.c     | 203 ++++++++++++++++++
 include/uapi/drm/etnaviv_drm.h                |  11 +-
 12 files changed, 422 insertions(+), 68 deletions(-)
 create mode 100644 drivers/gpu/drm/etnaviv/etnaviv_pci_drv.c

-- 
2.20.1



More information about the dri-devel mailing list