[PATCH 1/2] drm/amdgpu: add vega20 sriov capability detection

2018-09-18 Thread Xiangliang Yu
From: Frank Min Add sriov capability detection for vega20, then can check if device is virtual device. Signed-off-by: Frank Min Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/nbio_v7_4.c | 15 +-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers

[PATCH 2/2] drm/amdgpu: Exclude MM engines for vega20 virtual device

2018-09-18 Thread Xiangliang Yu
From: Frank Min Temporary disable UVD/VCE block if is virtual device Signed-off-by: Frank Min Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/soc15.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm

[PATCH 1/3] drm/amdgpu/psp: Get psp fw version through reading register

2018-12-04 Thread Xiangliang Yu
If PSP FW is running already, driver will not load PSP FW again and skip it. So psp fw version is not correct if reading it from FW binary file, need to get right version from register. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/psp_v11_0.c | 4 +++- 1 file changed, 3

[PATCH 3/3] drm/amdgpu/psp: Destroy psp ring when doing gpu reset

2018-12-04 Thread Xiangliang Yu
PSP ring need to be destroy before starting reinit for vf. This patche move it from hypervisor driver into guest. Signed-off-by: Xiangliang Yu Signed-off-by: Frank Min --- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu

[PATCH 2/3] drm/amdgpu/psp: Add support VMR ring for VF

2018-12-04 Thread Xiangliang Yu
PSP only support VMR ring for SRIOV vf since v45 and all commands will be send to VMR ring for executing. VMR ring use C2PMSG 101 ~ 103 instead of C2PMSG 64 ~ 71. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 18 +-- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 1

[PATCH 2/2] drm/amdgpu/psp: Fix can't detect psp INVOKE command failed

2018-12-12 Thread Xiangliang Yu
There isn't ucode when executing INVOKE command, so current code can't check the failure of INVOKE command. Remove the ucode check. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 11 +++ 1 file changed, 7 insertions(+), 4 deletions(-) diff --git

[PATCH 1/2] drm/amdgpu/psp: Fix to get wrong xgmi session id

2018-12-12 Thread Xiangliang Yu
xGMI session id should get from response buffer, correct it. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c index 8fab0d6..2f126ea7

[PATCH] drm/amdgpu/virt: rename fieldes of virtualization structure

2017-01-07 Thread Xiangliang Yu
Use acronym to rename fields to make easy to spell out. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu.h| 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 14 +++--- drivers/gpu/drm/amd/amdgpu/cik.c

[PATCH 1/2] drm/amdgpu/vi: move virtualization detection forward

2017-01-07 Thread Xiangliang Yu
Move the detection forward into vi_set_ip_blocks function, then add ip blocks virtualization need if device is VF. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/vi.c | 17 - 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu

[PATCH 2/2] drm/amdgpu: remove detect_hw_virtualization interface

2017-01-07 Thread Xiangliang Yu
Don't use the interface anymore, remove it. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 -- drivers/gpu/drm/amd/amdgpu/cik.c| 7 --- drivers/gpu/drm/amd/amdgpu/si.c | 7 --- 3 files changed, 16 deletions(-) diff --git a/drivers/gpu/drm/amd/a

[V2 1/2] drm/amdgpu/vi: move virtualization detection forward

2017-01-08 Thread Xiangliang Yu
Move the detection forward into vi_set_ip_blocks function, then add ip blocks virtualization need if device is VF. V2: add ip blocks according to asic type. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/vi.c | 24 +--- 1 file changed, 13 insertions(+), 11

[V2 2/2] drm/amdgpu: remove detect_hw_virtualization interface

2017-01-08 Thread Xiangliang Yu
Call detection function driectly, so remove the interface. V2: ci and si also need to call the detec function. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 -- drivers/gpu/drm/amd/amdgpu/cik.c| 3 ++- drivers/gpu/drm/amd/amdgpu/si.c | 3 ++- 3 files changed

[V2 00/11] Add support AMD GPU virtualization soultion

2017-01-10 Thread Xiangliang Yu
as monk will submit it; Xiangliang Yu (11): drm/amdgpu/ring: add two interfaces to support r/w registers with kiq drm/amdgpu/gfx8: implement emit_rreg/wreg function drm/amdgpu/virt: add runtime flag drm/amdgpu/virt: use kiq to access registers drm/amdgpu/virt: add high level interfaces

[V2 05/11] drm/amdgpu/virt: add high level interfaces for virt

2017-01-10 Thread Xiangliang Yu
Add high level interfaces that is not relate to specific asic. So asic files just need to implement the interfaces to support virtualization. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 57 drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h

[V2 01/11] drm/amdgpu/ring: add two interfaces to support r/w registers with kiq

2017-01-10 Thread Xiangliang Yu
During virtual runtime, need to send command to kiq ring to read/write GPU registers. Add two interface to support the two actions. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 2 ++ 2 files changed, 4 insertions

[V2 02/11] drm/amdgpu/gfx8: implement emit_rreg/wreg function

2017-01-10 Thread Xiangliang Yu
Implement emit_rreg/wreg function for kiq ring. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 3 ++- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c| 37 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd

[V2 06/11] drm/amdgpu/virt: implement VI virt operation interfaces

2017-01-10 Thread Xiangliang Yu
VI has asic specific virt support, which including mailbox and golden registers init. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/Makefile | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 3 + drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c| 592

[V2 07/11] drm/amdgpu: request/release full gpu access if device is vf

2017-01-10 Thread Xiangliang Yu
For gpu vf device, first need to request full gpu access before accessing gpu registers, and release full gpu access after the access is done. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 9 + drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c| 6 ++ 2

[V2 09/11] drm/amdgpu/virt: enable virtual display

2017-01-10 Thread Xiangliang Yu
Virtual display is default setting for virtualization, enable it. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c index f32a789

[V2 10/11] drm/amdgpu/virt: disable dc

2017-01-10 Thread Xiangliang Yu
Virtualization don't need the dc, disable it. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 03d28a1..a6d828c 1

[V2 03/11] drm/amdgpu/virt: add runtime flag

2017-01-10 Thread Xiangliang Yu
Add new flag to define gpu runtime that is out of full gpu access. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h index a6524bb

[V2 08/11] drm/amdgpu/vi: add support virtualization

2017-01-10 Thread Xiangliang Yu
Call VI virtualization functions if device is Vf. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/vi.c | 34 -- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c index

[V2 11/11] drm/amdgpu: do not reset gpu for virtualization

2017-01-10 Thread Xiangliang Yu
Current job timeout setting is not fit for virtualization, so it will cause job timeout sometimes. Add workaround for this when timeout happen. Signed-off-by: Monk Liu Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +++ 1 file changed, 3 insertions(+) diff

[V2 04/11] drm/amdgpu/virt: use kiq to access registers

2017-01-10 Thread Xiangliang Yu
For virtualization, it is must for driver to use KIQ to access registers when it is out of GPU full access mode. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/Makefile| 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c

[V3 02/11] drm/amdgpu/gfx8: implement emit_rreg/wreg function

2017-01-11 Thread Xiangliang Yu
Implement emit_rreg/wreg function for kiq ring. Signed-off-by: Xiangliang Yu Signed-off-by: Monk Liu --- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 3 ++- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c| 37 2 files changed, 39 insertions(+), 1 deletion(-) diff

[V3 05/11] drm/amdgpu/virt: add high level interfaces for virt

2017-01-11 Thread Xiangliang Yu
Add high level interfaces that is not relate to specific asic. So asic files just need to implement the interfaces to support virtualization. Signed-off-by: Xiangliang Yu Signed-off-by: Monk Liu --- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 57 drivers/gpu/drm

[V3 03/11] drm/amdgpu/virt: add runtime flag

2017-01-11 Thread Xiangliang Yu
Add new flag to define gpu runtime that is out of full gpu access. Signed-off-by: Xiangliang Yu Signed-off-by: Monk Liu --- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h b/drivers/gpu/drm/amd/amdgpu

[V3 06/11] drm/amdgpu/virt: implement VI virt operation interfaces

2017-01-11 Thread Xiangliang Yu
VI has asic specific virt support, which including mailbox and golden registers init. Signed-off-by: Xiangliang Yu Signed-off-by: Monk Liu Signed-off-by: shaoyunl --- drivers/gpu/drm/amd/amdgpu/Makefile | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 9 +- drivers/gpu/drm/amd

[V3 01/11] drm/amdgpu/ring: add two interfaces to support r/w registers with kiq

2017-01-11 Thread Xiangliang Yu
During virtual runtime, need to send command to kiq ring to read/write GPU registers. Add two interface to support the two actions. Signed-off-by: Xiangliang Yu Signed-off-by: Monk Linu --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 2 ++ 2

[V3 00/11] Add support AMD GPU virtualization soultion

2017-01-11 Thread Xiangliang Yu
asic specific file to support specific asic; 3. not include KIQ patch as it has been merged into kernel; 4. not include CSA patch as monk will submit it; Xiangliang Yu (11): drm/amdgpu/ring: add two interfaces to support r/w registers with kiq drm/amdgpu/gfx8: implement emit_rreg/wreg function

[V3 04/11] drm/amdgpu/virt: use kiq to access registers

2017-01-11 Thread Xiangliang Yu
For virtualization, it is must for driver to use KIQ to access registers when it is out of GPU full access mode. Signed-off-by: Xiangliang Yu Signed-off-by: Monk Liu --- drivers/gpu/drm/amd/amdgpu/Makefile| 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +++ drivers/gpu/drm/amd

[V3 07/11] drm/amdgpu: request/release full gpu access if device is vf

2017-01-11 Thread Xiangliang Yu
For gpu vf device, first need to request full gpu access before accessing gpu registers, and release full gpu access after the access is done. Signed-off-by: Xiangliang Yu Signed-off-by: Monk Liu --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 9 + drivers/gpu/drm/amd/amdgpu

[V3 08/11] drm/amdgpu/vi: add support virtualization

2017-01-11 Thread Xiangliang Yu
Call VI virtualization functions if device is Vf. Signed-off-by: Xiangliang Yu Signed-off-by: Monk Liu --- drivers/gpu/drm/amd/amdgpu/vi.c | 34 -- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm

[V3 10/11] drm/amdgpu/virt: disable dc

2017-01-11 Thread Xiangliang Yu
Virtualization don't need the dc, disable it. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 03d28a1..a6d828c 1

[V3 09/11] drm/amdgpu/virt: enable virtual display

2017-01-11 Thread Xiangliang Yu
Virtual display is default setting for virtualization, enable it. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c index 4e7df8e

[V3 11/11] drm/amdgpu: do not reset gpu for virtualization

2017-01-11 Thread Xiangliang Yu
Current amdgpu reset process only works on bare-metal and for SRIOV many inside it need re-work to adapt to vf device. This is a temporary workaround to skip gpu reset. Signed-off-by: Monk Liu Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +++ 1 file changed

[PATCH 2/2] drm/amdgpu/vi: fix mailbox irq mistake

2017-01-17 Thread Xiangliang Yu
For virt, freed mailbox irq should be handled in hw fini, not hw init. Correct it. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/vi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c index

[PATCH 1/2] drm/amdgpu: fix reboot failure issue for virtualization

2017-01-17 Thread Xiangliang Yu
Reboot process will call HW fini functions of IP blocks. For virt, need to send event three before hw fini and send event four after hw fini. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/amd

[PATCH 1/1] drm/amdgpu: fix unload driver issue for virtual display

2017-01-18 Thread Xiangliang Yu
Virtual display doesn't allocate amdgpu_encoder when initializing, so will get invaild pointer if try to free amdgpu_encoder when unloading driver. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --

[PATCH] drm/amdgpu/virt: increase mailbox timeout value

2017-01-19 Thread Xiangliang Yu
If start all VFs at same time, the GPU hypervisor need more time to handle mailbox access. Set it to five seconds according to test experience. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/mxgpu_vi.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu

[PATCH 1/3] drm/amdgpu: change pointer of mqd_ptr to void

2017-02-15 Thread Xiangliang Yu
vi_mqd is only used by VI family but mqd_ptr is common for all ASIC, so change the pointer to void. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 2 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c| 26 +- 2 files changed, 18 insertions(+), 10

[PATCH 3/3] drm/amdgpu/gfx: free memory of mqd backup

2017-02-15 Thread Xiangliang Yu
Need to free mqd backup when destroying ring. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index 2202f02..23cf6fa 100644 --- a/drivers

[PATCH 2/3] drm/amdgpu/virt: fix typo

2017-02-15 Thread Xiangliang Yu
When send messages to hypervior, the messages format should be is idh_request, not idh_event. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c b

[PATCH] drm/amdgpu/gfx8: move CE&DE meta data structure to vi_structs.h

2017-03-05 Thread Xiangliang Yu
Because different HWs have different definition for CE & DE meta data, follow mqd design to move the structures to vi_structs.h. And change the prefix from amdgpu to vi as the structures is only for VI family. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c|

[PATCH 1/2] drm/amdgpu/psp: add check sOS sign

2017-03-29 Thread Xiangliang Yu
Confirm if sys driver and sOS are already been loaded through sOS sign register, skip loading sys driver and sOS if finding the sign. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 18 -- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a

[PATCH 2/2] drm/amdgpu/soc15: enable psp block for SRIOV

2017-03-29 Thread Xiangliang Yu
SRIOV can support for loading ucode with PSP block, enable it. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/soc15.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c index 660b13b

[PATCH 3/5] drm/amdgpu/vce4: workaround multi vce engine encoding hang issue

2017-04-09 Thread Xiangliang Yu
For SRIOV, multi vce engine will hang when encoding. Add VMHUB flush to workaround it, will continue to find the root cause later. Signed-off-by: Xiangliang Yu Signed-off-by: Frank Min --- drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a

[PATCH 4/5] drm/amdgpu/vce4: workaround VCE ring test slow issue

2017-04-09 Thread Xiangliang Yu
Add VCE ring test slow workaround for SRIOV. Signed-off-by: Xiangliang Yu Signed-off-by: Frank Min --- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu

[PATCH 1/5] drm/amdgpu/vce4: update VCE initialization sequence for SRIOV

2017-04-09 Thread Xiangliang Yu
Update the initialization sequence of VCE to make VCE work. Signed-off-by: Xiangliang Yu Signed-off-by: Frank Min --- drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c b/drivers/gpu/drm/amd

[PATCH 2/5] drm/amdgpu/gmc9: add separate vmhub flush function

2017-04-09 Thread Xiangliang Yu
Add separate vmhub flush function so that other components can reuse it. Signed-off-by: Xiangliang Yu Signed-off-by: Frank Min --- drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 77 +-- drivers/gpu/drm/amd/amdgpu/gmc_v9_0.h | 3 ++ 2 files changed, 49 insertions

[PATCH 5/5] drm/amdgpu/vce4: enable ring & ib test for sriov

2017-04-09 Thread Xiangliang Yu
Now VCE block can work for SRIOV, enable ring & ib test. Signed-off-by: Xiangliang Yu Signed-off-by: Frank Min --- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 8 1 file changed, 8 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/am

[PATCH 0/5] enable VCE for SRIOV

2017-04-09 Thread Xiangliang Yu
the series patch will enable VCE function for SRIOV. Xiangliang Yu (5): drm/amdgpu/vce4: update VCE initialization sequence for SRIOV drm/amdgpu/gmc9: add separate vmhub flush function drm/amdgpu/vce4: workaround multi vce engine encoding hang issue drm/amdgpu/vce4: workaround VCE ring

[PATCH 1/3] drm/amdgpu/vce4: update VCE initialization sequence for SRIOV

2017-04-11 Thread Xiangliang Yu
Update the initialization sequence of VCE to make VCE work. Signed-off-by: Frank Min --- drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c b/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c index 8dde83f

[PATCH 3/3] drm/amdgpu/vce4: enable ring & ib test for sriov

2017-04-11 Thread Xiangliang Yu
Now VCE block can work for SRIOV, enable ring & ib test. Signed-off-by: Frank Min --- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 8 1 file changed, 8 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c index cdff938..6ccd244 10064

[PATCH 2/3] drm/amdgpu/vce4: workaround VCE ring test slow issue

2017-04-11 Thread Xiangliang Yu
Add VCE ring test slow workaround for SRIOV. Signed-off-by: Frank Min Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu

[PATCH 2/2] drm/amdgpu/gfx9: bypass clockgating setting

2017-04-18 Thread Xiangliang Yu
For SRIOV doesn't need clockgating, bypass it. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c index f6b2329..ca77e33 100644 --- a/dr

[PATCH 1/2] drm/amdgpu/mmhub_v1: bypass clockgating setting

2017-04-18 Thread Xiangliang Yu
For SRIOV doesn't need CG, so bypass it. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c index 6268451..dbfe48d 100644 --- a/dr

[PATCH 01/11] drm/amdgpu/virt: bypass cg and pg setting for SRIOV

2017-04-23 Thread Xiangliang Yu
GPU hypervisor cover all settings of CG and PG, so guest doesn't need to do anything. Bypass it. Signed-off-by: Frank Min Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt

[PATCH 02/11] drm/amdgpu/virt: change the place of virt_init_setting

2017-04-23 Thread Xiangliang Yu
Change place of virt_init_setting function so that can cover the cg and pg flags configuration. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/soc15.c | 10 +- drivers/gpu/drm/amd/amdgpu/vi.c| 10 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git

[PATCH 00/11] Enable UVD and PSP loading for SRIOV

2017-04-23 Thread Xiangliang Yu
/soc15: enable UVD code path for sriov drm/amdgpu/uvd7: add sriov uvd initialization sequences drm/amdgpu/uvd7: add uvd doorbell initialization for sriov drm/amdgpu/uvd7: add UVD hw init sequences for sriov Xiangliang Yu (4): drm/amdgpu/virt: bypass cg and pg setting for SRIOV drm/amdgpu

[PATCH 05/11] drm/amdgpu/vce4: move mm table constructions functions into mmsch header file

2017-04-23 Thread Xiangliang Yu
From: Frank Min Move mm table construction functions into mmsch header file so that UVD can reuse it. Signed-off-by: Frank Min Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/mmsch_v1_0.h | 57 + drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 57

[PATCH 08/11] drm/amdgpu/vce4: replaced with virt_alloc_mm_table

2017-04-23 Thread Xiangliang Yu
Used virt_alloc_mm_table function to allocate MM table memory. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 20 +++- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c b/drivers/gpu/drm/amd/amdgpu

[PATCH 07/11] drm/amdgpu/virt: add two functions for MM table

2017-04-23 Thread Xiangliang Yu
Add two functions to allocate & free MM table memory. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 46 drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 2 ++ 2 files changed, 48 insertions(+) diff --git a/drivers/gpu/drm/amd/am

[PATCH 06/11] drm/amdgpu/soc15: enable UVD code path for sriov

2017-04-23 Thread Xiangliang Yu
From: Frank Min Enable UVD block for SRIOV. Signed-off-by: Frank Min Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/soc15.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c index

[PATCH 09/11] drm/amdgpu/uvd7: add sriov uvd initialization sequences

2017-04-23 Thread Xiangliang Yu
From: Frank Min Add UVD initialization for SRIOV. Signed-off-by: Frank Min Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 246 ++ 1 file changed, 246 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c b/drivers/gpu/drm

[PATCH 04/11] drm/amdgpu/vce4: fix a PSP loading VCE issue

2017-04-23 Thread Xiangliang Yu
From: Daniel Wang Fixed PSP loading issue for sriov. Signed-off-by: Daniel Wang Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 18 +++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c b/drivers/gpu

[PATCH 10/11] drm/amdgpu/uvd7: add uvd doorbell initialization for sriov

2017-04-23 Thread Xiangliang Yu
From: Frank Min Add UVD doorbell for SRIOV. Signed-off-by: Frank Min Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 19 +++ 1 file changed, 19 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c b/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c

[PATCH 11/11] drm/amdgpu/uvd7: add UVD hw init sequences for sriov

2017-04-24 Thread Xiangliang Yu
From: Frank Min Add UVD hw init. Signed-off-by: Frank Min Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 92 --- 1 file changed, 54 insertions(+), 38 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c b/drivers/gpu/drm

[PATCH 03/11] drm/amdgpu/psp: skip loading SDMA/RLCG under SRIOV VF

2017-04-24 Thread Xiangliang Yu
From: Daniel Wang Now GPU hypervisor will load SDMA and RLCG ucode, so skip it in guest. Signed-off-by: Daniel Wang Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b

[PATCH 2/6] drm/amdgpu: reset GDW, GWS and OA software copy to update them

2017-05-03 Thread Xiangliang Yu
From: Pixel Ding Reset GDW, GWS and OA when SRIOV do reset. Signed-off-by: Pixel Ding Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b

[PATCH 3/6] drm/amdgpu: don't clean the framebuffer for VF

2017-05-03 Thread Xiangliang Yu
From: Pixel Ding The SRIOV host driver cleans framebuffer for each VF, guest driver needn't this action which costs much time on some virtualization platform, otherwise it might get timeout to initialize. Signed-off-by: Pixel Ding Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/a

[PATCH 1/6] drm/amdgpu: fix mutex list null pointer reference

2017-05-03 Thread Xiangliang Yu
From: Pixel Ding Fix NULL pointer reference. Signed-off-by: Pixel Ding Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu

[PATCH 4/6] drm/amdgpu/psp: Do not load asd for SRIOV

2017-05-03 Thread Xiangliang Yu
If psp version doesn't match asd version, asd loading will be failed. Add workaround to bypass it for sriov. Signed-off-by: Daniel Wang Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/drivers/gpu/drm/amd/a

[PATCH 6/6] drm/amdgpu: clean doorbell after sending init table to mmsch

2017-05-03 Thread Xiangliang Yu
From: Frank Min According to HW design, need to clean doorbell after setup MMSCH table. Signed-off-by: Frank Min Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 1 + drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers

[PATCH 5/6] drm/amdgpu/virt: change AI ack-irq message to debug level

2017-05-03 Thread Xiangliang Yu
Change message to debug level as VI does. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c index e967a7b..96139ec 100644 --- a

[PATCH] drm/amdgpu: correct clock info for SRIOV

2017-06-03 Thread Xiangliang Yu
rs. So use amdgpu default clk value for SRIOV and non-dpm cases. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c ind

[PATCH 1/2] amdgpu: fix firmware loading failure

2016-11-20 Thread Xiangliang Yu
For virtualization, firmware loading need the firmware version info, and will load the right firmware. So, transfer fw_version to toc. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers

[PATCH 2/2] amdgpu: remove error message when loading driver

2016-11-20 Thread Xiangliang Yu
Forget to check UCODE_ID_STORAGE case and will cause to print error message when loading driver, corret it. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c

[Patch v2 2/2] drm/amdgpu: remove error message when loading driver

2016-11-21 Thread Xiangliang Yu
Forget to check UCODE_ID_STORAGE case and will cause to print error message when loading driver, corret it. v2: use "drm/amdgpu" as the prefix for patch tile. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 6 -- 1 file changed, 4 insertions(+), 2

[Patch v2 1/2] drm/amd/powerplay: fix firmware loading failure

2016-11-21 Thread Xiangliang Yu
For virtualization, firmware loading need the firmware version info, and will load the right firmware. So, transfer fw_version to toc. v2: use "drm/amd/powerplay" as the prefix for patch title. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 2

[PATCH 1/6] drm/amdgpu: drop redundant vi_mqd define

2016-11-29 Thread Xiangliang Yu
Vi_structs.h has defined vi_mqd, drop redundant vi_mqd define. Signed-off-by: Monk Linu Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 266 +- 1 file changed, 3 insertions(+), 263 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu

[PATCH 3/6] drm/amd/powerplay: Ignore smu buffer usage

2016-11-29 Thread Xiangliang Yu
SMU buffer is used for power feature, but for virtualization, the power is controlled by hypervisor. Ignore it. Signed-off-by: Xiangliang Yu Signed-off-by: Monk Liu --- drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 15 --- 1 file changed, 12 insertions(+), 3 deletions

[PATCH 5/6] drm/amdgpu: Don't touch GFX hw during HW fini

2016-11-29 Thread Xiangliang Yu
For SR-IOV client, driver shouldn't touch the GFX hw during HW fini, otherwise, gfx will fail to start after rebooting guest os. Signed-off-by: shaoyunl Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 4 1 file changed, 4 insertions(+) diff --git a/driver

[PATCH 6/6] drm/amd/powerplay: Fix potential NULL pointer issue

2016-11-29 Thread Xiangliang Yu
If doesn't enable dpm, the powerplay will not allocate memory for hw management. So, hw_init_power_state_table function will reference NULL pointer when resetting. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 4 ++-- 1 file changed, 2 insertions(

[PATCH 0/6] drm/amdgpu: add support SR-IOV initialization

2016-11-29 Thread Xiangliang Yu
As SR-IOV initialization is difference from bare metal, the series patch will change code path of intialization according to HW design. And the fourth and fifth patch is fix loading/unloading guest driver issue. Xiangliang Yu (6): drm/amdgpu: drop redundant vi_mqd define drm/amd/powerplay

[PATCH 4/6] drm/amdgpu: Avoid use KIQ in VM fault ISR for SRIOV support

2016-11-29 Thread Xiangliang Yu
Schedule a workqueue for VM fault handler on GMC V8.0 for SRIOV support. Signed-off-by: shaoyunl Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 40 ++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd

[PATCH 2/6] drm/amd/powerplay: cut digest part

2016-11-29 Thread Xiangliang Yu
For virtualization, FW size need to cut its digest part. Signed-off-by: Frank Min Signed-off-by: Monk Liu Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/amd/powerplay/smumgr

[V2 3/6] drm/amd/powerplay: Ignore smu buffer usage

2016-12-01 Thread Xiangliang Yu
SMU buffer is used for power feature, but for virtualization, the power is controlled by hypervisor. Ignore it. Signed-off-by: Xiangliang Yu Signed-off-by: Monk Liu --- drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff

[V2 0/6] drm/amdgpu: add support SR-IOV initialization

2016-12-01 Thread Xiangliang Yu
As SR-IOV initialization is difference from bare metal, the series patch will change code path of initialization according to HW design. Changes in V2: 1. Remove VM fault patch; 2. Split out the third patch into two patches to make more clear; Xiangliang Yu (6): drm/amdgpu: drop redundant

[V2 4/6] drm/amd/powerplay: Adjust the position of data size initial

2016-12-01 Thread Xiangliang Yu
Put the initial part close to memory allocate, it will make code more clear. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c b/drivers/gpu

[V2 5/6] drm/amdgpu: Don't touch GFX hw during HW fini

2016-12-01 Thread Xiangliang Yu
For SR-IOV client, driver shouldn't touch the GFX hw during HW fini, otherwise, gfx will fail to start after rebooting guest os. Signed-off-by: shaoyunl Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 4 1 file changed, 4 insertions(+) diff --git a/driver

[V2 1/6] drm/amdgpu: drop redundant vi_mqd define

2016-12-01 Thread Xiangliang Yu
Vi_structs.h has defined vi_mqd, drop redundant vi_mqd define. Signed-off-by: Monk Liu Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 266 +- 1 file changed, 3 insertions(+), 263 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu

[V2 2/6] drm/amd/powerplay: cut digest part

2016-12-01 Thread Xiangliang Yu
For virtualization, FW size need to cut its digest part. Signed-off-by: Frank Min Signed-off-by: Monk Liu Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/amd/powerplay/smumgr

[V2 6/6] drm/amd/powerplay: Fix potential NULL pointer issue

2016-12-01 Thread Xiangliang Yu
If doesn't enable dpm, the powerplay will not allocate memory for hw management. So, hw_init_power_state_table function will reference NULL pointer when resetting. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 4 ++-- 1 file changed, 2 insertions(

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

2016-12-17 Thread Xiangliang Yu
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

[PATCH 03/23] drm/amdgpu: export KIQ interfaces

2016-12-17 Thread Xiangliang Yu
Export KIQ interfaces so that others components can use the interfaces to setup queues. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 20 1 file changed, 20 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd

[PATCH 02/23] drm/amdgpu: add kiq into compiling

2016-12-17 Thread Xiangliang Yu
Add support KIQ in Makefile to make it into module. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/Makefile b/drivers/gpu/drm/amd/amdgpu/Makefile index dd0b6db..635ff94 100644

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

2016-12-17 Thread Xiangliang Yu
: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 3 +- drivers/gpu/drm/amd/mxgpu/amd_mxgpu.c| 104 +++ drivers/gpu/drm/amd/mxgpu/amd_mxgpu.h| 37 +++ 4 files changed, 145 insertions(+), 1

[PATCH 08/23] drm/amdgpu: add new flag for virtual function

2016-12-17 Thread Xiangliang Yu
Add new flag to identify chips that is support virtualization. Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/include/amd_shared.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h index c02469a

[PATCH 10/23] drm/amdgpu: export gem va update interface

2016-12-17 Thread Xiangliang Yu
Context Save Area feature need to update va info so that hardware can save state into correct area. So export it. Signed-off-by: Monk Liu Signed-off-by: Xiangliang Yu --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 6 +++--- 2 files changed, 6

  1   2   >