we should give enough time to IB test.
Change-Id: I92bfbe9b3aa35083f41baed8663907abfa15c8e6
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_i
Before every job runs, we must make sure which's vm is recoverred completely.
Change-Id: Ibe77a3c8f8206def280543fbb4195ad2ab9772e0
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 5 +
d
Add vm client to list tail when creating it, move to head while submit to
scheduler.
Change-Id: I0625092f918853303a5ee97ea2eac87fb790ed69
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 6 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
Change-Id: Ia0378640962eef362569e0bbe090aea1ca083a55
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 24
drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 3 +++
2 files changed, 27 insertions(+)
diff --git a/d
Change-Id: Ibcc3558c2330caad1a2edb9902b3f21bd950d19f
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
b/drivers/gpu/d
Change-Id: I9957e726576289448911f5fb2ff7bcb9311a1906
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 2 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 77 ++
2 files changed, 79 insertions(+)
diff --git a/drive
to use SDMA to copy GTT bo
content to VRAM bo, then page table will be recoveried.
Chunming Zhou (13):
drm/amdgpu: add pd/pt bo shadow
drm/amdgpu: update shadow pt bo while update pt
drm/amdgpu: update pd shadow while updating pd
drm/amdgpu: implement amdgpu_vm_recover_page_table_from_shadow
Change-Id: Icafa90a6625ea7b5ab3e360ba0d73544cda251b0
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 6 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 5 -
drivers/gpu/drm/amd/
the pd/pt shadow bo will be used to backup page table, when gpu reset
happens, we can restore the page table by them.
Change-Id: I31eeb581f203d1db0654a48745ef4e64ed40ed9b
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 3 +++
drivers/gpu/d
Add vm client to list tail when creating it, move to head while submit to
scheduler.
Change-Id: I0625092f918853303a5ee97ea2eac87fb790ed69
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 6 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
Before every job runs, we must make sure which's vm is recoverred completely.
Change-Id: Ibe77a3c8f8206def280543fbb4195ad2ab9772e0
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 5 +
d
Change-Id: Ia0378640962eef362569e0bbe090aea1ca083a55
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 24
drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 3 +++
2 files changed, 27 insertions(+)
diff --git a/d
shadow bo is the shadow of a bo, which is always in GTT,
which can be used to backup the original bo.
Change-Id: Ia27d4225c47ff41d3053eb691276e29fb2d64026
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/
Change-Id: Ibcc3558c2330caad1a2edb9902b3f21bd950d19f
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
b/drivers/gpu/d
Change-Id: I963598ba6eb44bc8620d70e026c0175d1a1de120
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 27 +--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_devic
Before every job runs, we must make sure which's vm is recoverred completely.
Change-Id: Ibe77a3c8f8206def280543fbb4195ad2ab9772e0
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_job.
Change-Id: Ia0378640962eef362569e0bbe090aea1ca083a55
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 24
drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 3 +++
2 files changed, 27 insertions(+)
diff --git a/d
Change-Id: I8245cdad490d2a0b8cf4b9320e53e14db0b6add4
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 16
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
b/drivers/gpu/d
fence_wait in run_job could block scheduler, and the fence itself is
belonged to this scheduler.
Change-Id: I0c69224de5ef1bdb5b0691d668d786858155fe15
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 12
1 file changed, 4 inse
run_job involves mutex, which could sleep.
Change-Id: Ieddf954af492836bdac56fe0f277dca905c30f28
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/d
To lock adev->vm_list.
Change-Id: I74d309eca9c22d190dd4072c69d26fa7fdea8884
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 +
dr
From: Rex Zhu
This is a workaround to let VCE soft reset work.
RB1_BUSY bit is always set, so remove its checking now, and we
will depend on RB0_BUSY currently.
After we find the root cause of RB1_BUSY, we can add it back.
Change-Id: I0a4b622d8bc50f75d1a4187324cd2e9079c95013
Change-Id: I83a1cd8b19cbffc09c4e9b679b88cd65147446d5
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c
b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c
index 1
Change-Id: Ia3f60107f7257f834be961128793af9b8a0389da
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 -
drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 3 ---
2 files changed, 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/
VCE is always busy is since RB1_BUSY is always busy, now remove it.
And enable VCE soft reset.
Chunming Zhou (2):
drm/amdgpu: fix harvest config checking in vce3 check_soft_reset
drm/amdgpu: enable VCE soft reset
Rex Zhu (1):
drm/amdgpu: remove RB1_BUSY bit checking
drivers/gpu/drm/amd
Change-Id: I64c3d8c56f7955e885cad242fd06a8676f278363
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
Reviewed-by: Christian König <christian.koe...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 76 --
1 file changed, 46 insertions(+),
The pd/pt shadow bo will be used to backup page table, when gpu reset
happens, we can restore the page table by them.
V2:
Free shadow bo.
Change-Id: I28e4a9178f59eccb215f7977b5475d36e593ee5f
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
Reviewed-by: Christian König <christian.koe..
Change-Id: Iba210e0d007a249a90f955f5ac9c3803cc40def2
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 7 ++-
drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/g
Indicate if need to sync between bo and shadow, where sync to where.
V2:
Rename to backup_shadow
Change-Id: I74994dfad141da5c23a3598bb2e3df1253a195f7
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 8
1 file changed, 8 insertions(+)
Change-Id: I33b31cbe794c1c83b8e02e3069159c8204ac03e3
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 108 +
1 file changed, 69 insertions(+), 39 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_v
Change-Id: Id1bcb6701f1663e409b8ebe533ea9f8e7194227b
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 11 ++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/d
shadow bo is the shadow of a bo, which is always in GTT,
which can be used to backup the original bo.
V2:
reference shadow parent, shadow bo will be freed by who allocted him.
Change-Id: Ia27d4225c47ff41d3053eb691276e29fb2d64026
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drive
Change-Id: I76e2552078c9ae11b7f2a1769025230f61733659
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8
2 files changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/am
To lock adev->vm_list.
Change-Id: I74d309eca9c22d190dd4072c69d26fa7fdea8884
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 +
dr
Change-Id: I46783043eecbe9fc9c2ce9230be1085aca3731bd
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 4 +++
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 48 ++
2 files changed, 52 insertions(+)
diff --git a/drive
Add vm client to list tail when creating it, move to head while submit to
scheduler.
Change-Id: I0625092f918853303a5ee97ea2eac87fb790ed69
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 6 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
Change-Id: I68f67da25c482ac9dbd26e186cb953a539555a74
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 9 +++--
drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 1 +
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drive
from shadow.
V3:
Addressed Christian comments for shadow bo part.
Chunming Zhou (18):
drm/amdgpu: add shadow bo support V2
drm/amdgpu: validate shadow as well when validating bo
drm/amdgpu: allocate shadow for pd/pt bo V2
drm/amdgpu: add shadow flag V2
drm/amdgpu: sync bo and shadow
Change-Id: I8d0c625c9f1c9a16b8e2e915831590be5a9a5242
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 73 +++---
2 files changed, 50 insertions(+), 24 deletions(-)
diff
from shadow.
V3:
Addressed Christian comments for shadow bo part.
V4:
Switch back to update page table twice (one of two is for shadow)
Chunming Zhou (10):
drm/amdgpu: add direct submision option for copy_buffer
drm/amdgpu: sync bo and shadow V2
drm/amdgpu: implement vm recovery function
To lock adev->vm_list.
Change-Id: I74d309eca9c22d190dd4072c69d26fa7fdea8884
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 +
dr
Use shadow flag to judge which direction to sync.
V2:
Don't need bo pin, so remove it.
Change-Id: I9b540970d3a24c6aebeaa94c99f66a89134c663d
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 43 ++
drivers/gpu/d
Change-Id: Ief33f9539c24e1ab696935e2bfedd3630c07fc67
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 55 +++---
2 files changed, 38 insertions(+), 18 deletions(-)
diff
Change-Id: I3acdcf24b0ccb86d5f2b0593ffcf3dad8b6ad29f
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 4 ++--
drivers/gpu/d
Change-Id: I963598ba6eb44bc8620d70e026c0175d1a1de120
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 27 ++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_devic
shadow bo is the shadow of a bo, which is always in GTT,
which can be used to backup the original bo.
Change-Id: Ia27d4225c47ff41d3053eb691276e29fb2d64026
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/
Change-Id: Ia0378640962eef362569e0bbe090aea1ca083a55
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 24
drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 3 +++
2 files changed, 27 insertions(+)
diff --git a/d
Change-Id: I963598ba6eb44bc8620d70e026c0175d1a1de120
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 77 +-
1 file changed, 76 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_devic
Change-Id: I33b31cbe794c1c83b8e02e3069159c8204ac03e3
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 108 +
1 file changed, 69 insertions(+), 39 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_v
Change-Id: Iba210e0d007a249a90f955f5ac9c3803cc40def2
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 7 ++-
drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/g
The pd/pt shadow bo will be used to backup page table, when gpu reset
happens, we can restore the page table by them.
Change-Id: I28e4a9178f59eccb215f7977b5475d36e593ee5f
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 6 --
1 file chan
Change-Id: Id1bcb6701f1663e409b8ebe533ea9f8e7194227b
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 11 ++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/d
Change-Id: Ie3d5440dc0d2d3a61d8e785ab08b8b91eda223db
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
b/drivers/gpu/drm/amd/
Indicate if need to sync between bo and shadow, where sync to where.
Change-Id: I74994dfad141da5c23a3598bb2e3df1253a195f7
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 8
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/d
Add vm client to list tail when creating it, move to head while submit to
scheduler.
Change-Id: I0625092f918853303a5ee97ea2eac87fb790ed69
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 6 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
Change-Id: I46783043eecbe9fc9c2ce9230be1085aca3731bd
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 4 +++
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 48 ++
2 files changed, 52 insertions(+)
diff --git a/drive
Change-Id: I64c3d8c56f7955e885cad242fd06a8676f278363
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 76 --
1 file changed, 46 insertions(+), 30 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_c
to use SDMA to copy GTT bo
content to VRAM bo, then page table will be recoveried.
V2:
Shadow bo uses a shadow entity running on normal run queue, after gpu reset,
we need to wait for all shadow jobs finished first, then recovery page table
from shadow.
Chunming Zhou (19):
drm/amdgpu: add shadow
Use shadow flag to judge which direction to sync.
Change-Id: I9b540970d3a24c6aebeaa94c99f66a89134c663d
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 52 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 5
Change-Id: I73aa32cda17cd1039232125afa4aad299b264705
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 30 ++
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
b/d
Change-Id: I76e2552078c9ae11b7f2a1769025230f61733659
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8
2 files changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/am
Change-Id: I9957e726576289448911f5fb2ff7bcb9311a1906
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 2 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 77 ++
2 files changed, 79 insertions(+)
diff --git a/drive
Change-Id: Icafa90a6625ea7b5ab3e360ba0d73544cda251b0
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 68 +++---
2 files changed, 48 insertions(+), 21 deletions(-)
diff
Add vm client to list tail when creating it, move to head while submit to
scheduler.
Change-Id: I0625092f918853303a5ee97ea2eac87fb790ed69
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 6 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
Change-Id: Ibcc3558c2330caad1a2edb9902b3f21bd950d19f
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
b/drivers/gpu/d
to use SDMA to copy GTT bo
content to VRAM bo, then page table will be recoveried.
Chunming Zhou (13):
drm/amdgpu: irq resume should be immediately after gpu resume
drm/amdgpu: add shadow bo support
drm/amdgpu: set shadow flag for pd/pt bo
drm/amdgpu: update shadow pt bo while update pt
drm
recover entities have handled very well for each dependency.
Change-Id: I70a8d0e2753741c4b54d9e01085d00dd708b5c80
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/
Change-Id: Ic74508ec9de0bf1c027313ce9574e6cb8ea9bb1d
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 34 ++
1 file changed, 25 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_devic
every vm uses itself recover entity to recovery page table from shadow.
Change-Id: I93e37666cb3fb511311c96ff172b6e9ebd337547
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.
Change-Id: I74758b9ca84058f3f2db5509822d8aad840d283e
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 40 +
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 6
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
Change-Id: Iad7a90646dbb5df930a8ba177ce6bdc48415ff7d
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_de
Change-Id: I47b132d1ac5ed57f5805f759d5698948c35721ba
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 24
drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 24
2 files changed, 40 insertions(+), 8 del
Since the shadow is in GTT, shadow itslef pte isn't in shadow,
We need to do sync before initialization is completed
Change-Id: I29b433da6c71fc790a32ef202dd85a72ab6b5787
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 +
drivers/gpu/d
Change-Id: Id0e89f350a05f8668ea00e3fff8c0bd6f3049cec
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 40 --
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 3 +++
2 files changed, 30 insertions(+), 13 deletions(-)
allocate gart shadow bo, and using shadow bo to backup gart table.
Change-Id: Ib2beae9cea1ad1314c57f0fcdcc254816f39b9b2
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_gart.
shadow bo is the shadow of a bo, which is always in GTT,
which can be used to backup the original bo.
Change-Id: Ia27d4225c47ff41d3053eb691276e29fb2d64026
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/
the pd/pt shadow bo will be used to backup page table, when gpu reset
happens, we can restore the page table by them.
Change-Id: I31eeb581f203d1db0654a48745ef4e64ed40ed9b
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 2 ++
drivers/gpu/d
Change-Id: Icf64bf5964f0ef66c239ab0679d51275cc272699
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
b/drivers/gpu/drm/amd/
Change-Id: I8245cdad490d2a0b8cf4b9320e53e14db0b6add4
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 16
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
b/drivers/gpu/d
Change-Id: Ie3d5440dc0d2d3a61d8e785ab08b8b91eda223db
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
b/drivers/gpu/drm/amd/
add recovery entity to gart.
Change-Id: Ieb400c8a731ef25619ea3c0b5198a6e7ce56580e
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 +++
drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 18 ++
2 files changed, 21 insertions(+)
Change-Id: I5dc3f9003e706d3a142aadb559bd85f6e0f2a03f
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 4
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +++
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c| 9 +
3 files chang
save gtt info by list, re-bind gtt after gpu reset.
V2:
spinlock instead of mutex.
rename function name.
recover gart table ahead of ring test.
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Change-Id: I3a59f602a4d5ec42c8c184daa14eb8194b0dab9e
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
b/drivers/gpu/drm/amd/
V2:
spin lock instead of mutex for gtt list
Change-Id: I5dc3f9003e706d3a142aadb559bd85f6e0f2a03f
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 4
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +++
drivers/gpu/drm/amd/amdgpu/amdgpu
Change-Id: I8af3b42e1b5d84ca04277f95aeca44cbc534ccb2
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 5 +
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +++
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 14 +-
3 files c
from shadow.
V3:
Addressed Christian comments for shadow bo part.
V4:
Switch back to update page table twice (one of two is for shadow)
V5:
make it be gerneic shadow bo support. Address Christian comments.
Chunming Zhou (8):
drm/amdgpu: add need backup function V2
drm/amdgpu: add direct
Change-Id: Ief33f9539c24e1ab696935e2bfedd3630c07fc67
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
Reviewed-by: Christian König <christian.koe...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 55 +++--
V2:
move shadow parameter to amdgpu_pte_update_params.
Change-Id: Ibc8fb4c5c9be38934ebd6d56f1cbd49cb82d53af
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 16 +++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/d
V2:
add checking if need backup in amdgpu_bo_create.
Change-Id: I76e2552078c9ae11b7f2a1769025230f61733659
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
Reviewed-by: Christian König <christian.koe...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h| 1 +
drivers/gpu/dr
Change-Id: I963598ba6eb44bc8620d70e026c0175d1a1de120
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 60 +-
1 file changed, 59 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_devic
Change-Id: I3acdcf24b0ccb86d5f2b0593ffcf3dad8b6ad29f
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
Reviewed-by: Christian König <christian.koe...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | 3 ++-
drivers
after ctx id is valid in global side, we share semaphore across process based
on BO sharing mechanism.
That means we map semaphore object to a bo, then sharing bo with other process,
the other process can
get the semaphore object from the sharing bo.
Chunming Zhou (4):
amdgpu: use
Change-Id: I69b5c8d86f9e1ed32bb20e899b74ad4146c0e988
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
amdgpu/amdgpu_cs.c | 36 +---
amdgpu/amdgpu_internal.h | 2 ++
2 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/amdgpu/amdgpu_
semaphore just need to store ctx id not context itself,
which will bring convenience for sharing semaphore accross process.
Change-Id: I46cf54c61ee6143a77d18510c3591bcc97fa8b24
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
amdgpu/amdgpu_cs.c | 20 ++--
ctx id will be used across process and across device.
Change-Id: I3f4f99b75f457d60ae0e5c2a9ab126dff6f3418f
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 59 +++--
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3
From: Christian König
Decribes better what this is used for.
Change-Id: I1bd496522fbdd6531d2c1d17434822b53bec06d0
Signed-off-by: Christian König
Reviewed-by: Alex Deucher
---
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
From: Christian König
This way we save passing it through the different functions.
Change-Id: Id94564a70d106b0ef36c7f45de2b25ca176db2d2
Signed-off-by: Christian König
Reviewed-by: Alex Deucher
---
From: Christian König
Needs to be filled with handling.
Change-Id: I04881a2b304a020c259ce85e94b12900a77f1c02
Signed-off-by: Christian König
Reviewed-by: Alex Deucher
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 1
/amdgpu: handle multi level PD during PT updates
drm/amdgpu: add alloc/free for multi level PDs
Chunming Zhou (8):
drm/amdgpu: set page table depth by num_level
drm/amdgpu: block size of multiple level vmpt prefers one page
drm/amdgpu: fix update sub levels
drm/amdgpu: sub levels need
1 - 100 of 674 matches
Mail list logo