[PATCH 00/23] Add support AMD GPU virtualization soultion

Xiangliang Yu Xiangliang.Yu at amd.com
Sat Dec 17 16:16:22 UTC 2016


This patch series will enable AMD GPU virtualization and wires it
into amdgpu modules.

The code design is base on below ideas:
1. Make virtualization code independent;
2. Self-maintain related GPU virtualization codes;
3. Easy to maintain virtualization codes;
4. Reduce the influence on other amdgpu components;
5. Easy to support different chips;

According to above ideas, make the following changes: 
1. Create a new directory for virtualization and put all of
   related virtualization code into it;
2. Create new IP block to support different virtual features. 
3. Create new file for each different hardware;

In the end, the patch series is support serval virtualization
features:
1. Support CSA feature;
2. Support Mailbox communication with GPU hypervisor;
3. Support KIQ feature;

Xiangliang Yu (23):
  drm/amdgpu: add support kernel interface queue(KIQ)
  drm/amdgpu: add kiq into compiling
  drm/amdgpu: export KIQ interfaces
  drm/amdgpu: add new structure for KIQ memory allcation
  drm/amdgpu/gfx8: add support KIQ for FIJI/TONGA chips
  drm/amdgpu/gfx8: correct KIQ hdp flush
  drm/amdgpu: create new directory for GPU virtualization
  drm/amdgpu: add new flag for virtual function
  drm/amdgpu: enable virtualization feature for FIJI/TONGA
  drm/amdgpu: export gem va update interface
  drm/amdgpu: implement context save area(CSA) feature
  drm/amdgpu: Insert meta data during submitting IB
  drm/amdgpu/mxgpu: add support for mailbox communication
  drm/amdgpu: export two mailbox interface to amdgpu
  drm/amdgpu/mxgpu: implement register access function with KIQ
  drm/amdgpu: add flag to indicate VF runtime state
  drm/amdgpu: export vi common ip block
  drm/amdgpu: add new maroc to identify virtualization ip block
  drm/amdgpu/mxgpu: add implementation of GPU virtualization of VI
  drm/amdgpu/mxgpu: enable VI virtualization
  drm/amdgpu: change golden register program sequence of virtualization
  drm/amdgpu: do not reset gpu for virtualization
  drm/amdgpu/mxgpu: add Makefie and Kconfig for GPU virtualization

 drivers/gpu/drm/amd/amdgpu/Makefile        |   9 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu.h        |  35 +++
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |  14 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c    |   4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c    |   6 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c     |   2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_kiq.c    | 436 ++++++++++++++++++++++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c    |   4 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h   |  34 ++-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c     |   8 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h     |   4 +
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c      | 240 ++++++++++++++-
 drivers/gpu/drm/amd/amdgpu/vi.c            |   8 +-
 drivers/gpu/drm/amd/amdgpu/vi.h            |   2 +-
 drivers/gpu/drm/amd/amdgpu/vid.h           |   2 +
 drivers/gpu/drm/amd/include/amd_shared.h   |   2 +
 drivers/gpu/drm/amd/mxgpu/Kconfig          |  13 +
 drivers/gpu/drm/amd/mxgpu/Makefile         |  11 +
 drivers/gpu/drm/amd/mxgpu/amd_mxgpu.c      | 105 +++++++
 drivers/gpu/drm/amd/mxgpu/amd_mxgpu.h      |  93 ++++++
 drivers/gpu/drm/amd/mxgpu/mxgpu_csa.c      | 297 ++++++++++++++++++
 drivers/gpu/drm/amd/mxgpu/mxgpu_kiq.c      | 110 +++++++
 drivers/gpu/drm/amd/mxgpu/mxgpu_mb.c       | 159 ++++++++++
 drivers/gpu/drm/amd/mxgpu/mxgpu_vi.c       | 472 +++++++++++++++++++++++++++++
 24 files changed, 2058 insertions(+), 12 deletions(-)
 create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_kiq.c
 create mode 100644 drivers/gpu/drm/amd/mxgpu/Kconfig
 create mode 100644 drivers/gpu/drm/amd/mxgpu/Makefile
 create mode 100644 drivers/gpu/drm/amd/mxgpu/amd_mxgpu.c
 create mode 100644 drivers/gpu/drm/amd/mxgpu/amd_mxgpu.h
 create mode 100644 drivers/gpu/drm/amd/mxgpu/mxgpu_csa.c
 create mode 100644 drivers/gpu/drm/amd/mxgpu/mxgpu_kiq.c
 create mode 100644 drivers/gpu/drm/amd/mxgpu/mxgpu_mb.c
 create mode 100644 drivers/gpu/drm/amd/mxgpu/mxgpu_vi.c

-- 
2.7.4



More information about the amd-gfx mailing list