转发: [PATCH 07/23] drm/amdgpu: create new directory for GPU virtualization

Submitted by Bridgman, John on Dec. 17, 2016, 4:11 p.m.

Details

Reviewer None
Submitted Dec. 17, 2016, 4:11 p.m.
Last Updated Dec. 20, 2016, 4:23 a.m.
Revision 3

Cover Letter(s)

Revision 1
      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
    

Revisions

SERIES REVISION LOOKS STRANGE. Please double-check patch list and the ordering before proceeding.

Patches download mbox

# Name Submitter State A F R T
[01/23] drm/amdgpu: add support kernel interface queue(KIQ) Yu, Xiangliang New
[02/23] drm/amdgpu: add kiq into compiling Yu, Xiangliang New
[03/23] drm/amdgpu: export KIQ interfaces Yu, Xiangliang New
[04/23] drm/amdgpu: add new structure for KIQ memory allcation Yu, Xiangliang New
[05/23] drm/amdgpu/gfx8: add support KIQ for FIJI/TONGA chips Yu, Xiangliang New
[06/23] drm/amdgpu/gfx8: correct KIQ hdp flush Yu, Xiangliang New
[07/23] drm/amdgpu: create new directory for GPU virtualization Yu, Xiangliang New
[08/23] drm/amdgpu: add new flag for virtual function Yu, Xiangliang New
[09/23] drm/amdgpu: enable virtualization feature for FIJI/TONGA Yu, Xiangliang New
[10/23] drm/amdgpu: export gem va update interface Yu, Xiangliang New
[11/23] drm/amdgpu: implement context save area(CSA) feature Yu, Xiangliang New
[12/23] drm/amdgpu: Insert meta data during submitting IB Yu, Xiangliang New
[13/23] drm/amdgpu/mxgpu: add support for mailbox communication Yu, Xiangliang New
[14/23] drm/amdgpu: export two mailbox interface to amdgpu Yu, Xiangliang New
[15/23] drm/amdgpu/mxgpu: implement register access function with KIQ Yu, Xiangliang New
[16/23] drm/amdgpu: add flag to indicate VF runtime state Yu, Xiangliang New
[17/23] drm/amdgpu: export vi common ip block Yu, Xiangliang New
[18/23] drm/amdgpu: add new maroc to identify virtualization ip block Yu, Xiangliang New
[19/23] drm/amdgpu/mxgpu: add implementation of GPU virtualization of VI Yu, Xiangliang New
[20/23] drm/amdgpu/mxgpu: enable VI virtualization Yu, Xiangliang New
[21/23] drm/amdgpu: change golden register program sequence of virtualization Yu, Xiangliang New
[22/23] drm/amdgpu: do not reset gpu for virtualization Yu, Xiangliang Accepted
[23/23] drm/amdgpu/mxgpu: add Makefie and Kconfig for GPU virtualization Yu, Xiangliang New
SERIES REVISION LOOKS STRANGE. Please double-check patch list and the ordering before proceeding.

Patches download mbox

# Name Submitter State A F R T
[01/23] drm/amdgpu: add support kernel interface queue(KIQ) Yu, Xiangliang New
转发: [PATCH 02/23] drm/amdgpu: add kiq into compiling Liu, Monk New
[03/23] drm/amdgpu: export KIQ interfaces Yu, Xiangliang New
[04/23] drm/amdgpu: add new structure for KIQ memory allcation Yu, Xiangliang New
[05/23] drm/amdgpu/gfx8: add support KIQ for FIJI/TONGA chips Yu, Xiangliang New
[06/23] drm/amdgpu/gfx8: correct KIQ hdp flush Yu, Xiangliang New
[07/23] drm/amdgpu: create new directory for GPU virtualization Yu, Xiangliang New
[08/23] drm/amdgpu: add new flag for virtual function Yu, Xiangliang New
[09/23] drm/amdgpu: enable virtualization feature for FIJI/TONGA Yu, Xiangliang New
[10/23] drm/amdgpu: export gem va update interface Yu, Xiangliang New
[11/23] drm/amdgpu: implement context save area(CSA) feature Yu, Xiangliang New
[12/23] drm/amdgpu: Insert meta data during submitting IB Yu, Xiangliang New
[13/23] drm/amdgpu/mxgpu: add support for mailbox communication Yu, Xiangliang New
[14/23] drm/amdgpu: export two mailbox interface to amdgpu Yu, Xiangliang New
[15/23] drm/amdgpu/mxgpu: implement register access function with KIQ Yu, Xiangliang New
[16/23] drm/amdgpu: add flag to indicate VF runtime state Yu, Xiangliang New
[17/23] drm/amdgpu: export vi common ip block Yu, Xiangliang New
[18/23] drm/amdgpu: add new maroc to identify virtualization ip block Yu, Xiangliang New
[19/23] drm/amdgpu/mxgpu: add implementation of GPU virtualization of VI Yu, Xiangliang New
[20/23] drm/amdgpu/mxgpu: enable VI virtualization Yu, Xiangliang New
[21/23] drm/amdgpu: change golden register program sequence of virtualization Yu, Xiangliang New
[22/23] drm/amdgpu: do not reset gpu for virtualization Yu, Xiangliang Accepted
[23/23] drm/amdgpu/mxgpu: add Makefie and Kconfig for GPU virtualization Yu, Xiangliang New

Patches download mbox

# Name Submitter State A F R T
[01/23] drm/amdgpu: add support kernel interface queue(KIQ) Yu, Xiangliang New
[02/23] drm/amdgpu: add kiq into compiling Bridgman, John New
[03/23] drm/amdgpu: export KIQ interfaces Yu, Xiangliang New
[04/23] drm/amdgpu: add new structure for KIQ memory allcation Yu, Xiangliang New
[05/23] drm/amdgpu/gfx8: add support KIQ for FIJI/TONGA chips Yu, Xiangliang New
[06/23] drm/amdgpu/gfx8: correct KIQ hdp flush Yu, Xiangliang New
[07/23] drm/amdgpu: create new directory for GPU virtualization Yu, Xiangliang New
[08/23] drm/amdgpu: add new flag for virtual function Yu, Xiangliang New
[09/23] drm/amdgpu: enable virtualization feature for FIJI/TONGA Yu, Xiangliang New
[10/23] drm/amdgpu: export gem va update interface Yu, Xiangliang New
[11/23] drm/amdgpu: implement context save area(CSA) feature Yu, Xiangliang New
[12/23] drm/amdgpu: Insert meta data during submitting IB Yu, Xiangliang New
[13/23] drm/amdgpu/mxgpu: add support for mailbox communication Yu, Xiangliang New
[14/23] drm/amdgpu: export two mailbox interface to amdgpu Yu, Xiangliang New
[15/23] drm/amdgpu/mxgpu: implement register access function with KIQ Yu, Xiangliang New
[16/23] drm/amdgpu: add flag to indicate VF runtime state Yu, Xiangliang New
[17/23] drm/amdgpu: export vi common ip block Yu, Xiangliang New
[18/23] drm/amdgpu: add new maroc to identify virtualization ip block Yu, Xiangliang New
[19/23] drm/amdgpu/mxgpu: add implementation of GPU virtualization of VI Yu, Xiangliang New
[20/23] drm/amdgpu/mxgpu: enable VI virtualization Yu, Xiangliang New
[21/23] drm/amdgpu: change golden register program sequence of virtualization Yu, Xiangliang New
[22/23] drm/amdgpu: do not reset gpu for virtualization Yu, Xiangliang Accepted
[23/23] drm/amdgpu/mxgpu: add Makefie and Kconfig for GPU virtualization Yu, Xiangliang New