Re: [PATCH 1/2] drm/amdgpu: fix VRAM partially encroached issue in GDDR6 memory training(V2)

2020-01-20 Thread Christian König
Am 21.01.20 um 03:22 schrieb Tianci Yin: From: "Tianci.Yin" [why] In GDDR6 BIST training, a certain mount of bottom VRAM will be encroached by UMC, that causes problems(like GTT corrupted and page fault observed). [how] Saving the content of this bottom VRAM to system memory before training, a

Re: [PATCH 2/2] drm/amdgpu: fix VRAM partially encroached issue in GDDR6 memory training

2020-01-20 Thread Yin, Tianci (Rico)
[AMD Official Use Only - Internal Distribution Only] Thanks very much Christian! Please review again. Rico From: Christian König Sent: Monday, January 20, 2020 19:58 To: Yin, Tianci (Rico) ; amd-gfx@lists.freedesktop.org Cc: Long, Gang ; Xu, Feifei ; Wang, Ke

[PATCH 2/2] Revert "drm/amdgpu: fix modprobe failure of the secondary GPU when GDDR6 training enabled(V5)"

2020-01-20 Thread Tianci Yin
From: "Tianci.Yin" This reverts commit 2ad857d7b82081736c078997ba0542acfdd50099. The patch will be replaced with a better solution, revert it. --- drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h | 5 - drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 27 + 2 files changed, 1 inser

[PATCH 1/2] drm/amdgpu: fix VRAM partially encroached issue in GDDR6 memory training(V2)

2020-01-20 Thread Tianci Yin
From: "Tianci.Yin" [why] In GDDR6 BIST training, a certain mount of bottom VRAM will be encroached by UMC, that causes problems(like GTT corrupted and page fault observed). [how] Saving the content of this bottom VRAM to system memory before training, and restoring it after training to avoid VRA

Re: [PATCH 3/3] drm/amdgpu: Improve Vega20 XGMI TLB flush workaround

2020-01-20 Thread shaoyunl
I see.  So this change Reviewed-by: shaoyun liu On 2020-01-20 1:40 p.m., Felix Kuehling wrote: On 2020-01-20 1:28 p.m., shaoyunl wrote: On 2020-01-20 12:58 p.m., Felix Kuehling wrote: On 2020-01-20 12:47 p.m., shaoyunl wrote: comments in line . On 2020-01-17 8:37 p.m., Felix Kuehling wro

Re: [PATCH 3/3] drm/amdgpu: Improve Vega20 XGMI TLB flush workaround

2020-01-20 Thread Felix Kuehling
On 2020-01-20 1:28 p.m., shaoyunl wrote: On 2020-01-20 12:58 p.m., Felix Kuehling wrote: On 2020-01-20 12:47 p.m., shaoyunl wrote: comments in line . On 2020-01-17 8:37 p.m., Felix Kuehling wrote: Using a heavy-weight TLB flush once is not sufficient. Concurrent memory accesses in the same T

Re: [PATCH 3/3] drm/amdgpu: Improve Vega20 XGMI TLB flush workaround

2020-01-20 Thread shaoyunl
On 2020-01-20 12:58 p.m., Felix Kuehling wrote: On 2020-01-20 12:47 p.m., shaoyunl wrote: comments in line . On 2020-01-17 8:37 p.m., Felix Kuehling wrote: Using a heavy-weight TLB flush once is not sufficient. Concurrent memory accesses in the same TLB cache line can re-populate TLB entries

Re: [PATCH 3/3] drm/amdgpu: Improve Vega20 XGMI TLB flush workaround

2020-01-20 Thread Felix Kuehling
On 2020-01-20 12:47 p.m., shaoyunl wrote: comments in line . On 2020-01-17 8:37 p.m., Felix Kuehling wrote: Using a heavy-weight TLB flush once is not sufficient. Concurrent memory accesses in the same TLB cache line can re-populate TLB entries from stale texture cache (TC) entries while the he

Re: [PATCH 3/3] drm/amdgpu: Improve Vega20 XGMI TLB flush workaround

2020-01-20 Thread shaoyunl
comments in line . On 2020-01-17 8:37 p.m., Felix Kuehling wrote: Using a heavy-weight TLB flush once is not sufficient. Concurrent memory accesses in the same TLB cache line can re-populate TLB entries from stale texture cache (TC) entries while the heavy-weight TLB flush is in progress. To fix

Re: [PATCH] drm/amdgpu: fix doc by clarifying sched_list definition

2020-01-20 Thread Luben Tuikov
That looks excellent--thank you for submitting it. Hopefully, the documentation would be more accessible to everyone, so that everyone would contribute. Regards, Luben On 2020-01-20 11:35 a.m., Nirmoy Das wrote: > expand sched_list definition for better understanding. > Also fix a typo atleast -

RE: [PATCH 3/3] drm/amdgpu: Improve Vega20 XGMI TLB flush workaround

2020-01-20 Thread Zeng, Oak
[AMD Official Use Only - Internal Distribution Only] Hi Felix/Shaoyun, Is this HW issue fixed on MI100? Regards, Oak -Original Message- From: amd-gfx On Behalf Of Felix Kuehling Sent: Friday, January 17, 2020 8:38 PM To: amd-gfx@lists.freedesktop.org Cc: Liu, Shaoyun Subject: [PATCH

RE: [PATCH 2/3] drm/amdgpu: Use the correct flush_type in flush_gpu_tlb_pasid

2020-01-20 Thread Zeng, Oak
[AMD Official Use Only - Internal Distribution Only] Reviewed-by: Oak Zeng Regards, Oak -Original Message- From: amd-gfx On Behalf Of Felix Kuehling Sent: Friday, January 17, 2020 8:38 PM To: amd-gfx@lists.freedesktop.org Subject: [PATCH 2/3] drm/amdgpu: Use the correct flush_type in

[PATCH] drm/amdgpu: fix doc by clarifying sched_list definition

2020-01-20 Thread Nirmoy Das
expand sched_list definition for better understanding. Also fix a typo atleast -> at least Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 2 +- include/drm/gpu_scheduler.h | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpu

Re: [PATCH 1/3] drm/amdgpu: Fix TLB invalidation request when using semaphore

2020-01-20 Thread Yong Zhao
Reviewed-by: Yong Zhao On 2020-01-17 8:37 p.m., Felix Kuehling wrote: Use a more meaningful variable name for the invalidation request that is distinct from the tmp variable that gets overwritten when acquiring the invalidation semaphore. Fixes: 00f607f38d82 ("drm/amdgpu: invalidate mmhub sema

Re: [PATCH v3 22/22] drm: Remove legacy version of get_scanout_position()

2020-01-20 Thread Ville Syrjälä
On Mon, Jan 20, 2020 at 09:23:14AM +0100, Thomas Zimmermann wrote: > The legacy version of get_scanout_position() was only useful while > drivers still used drm_driver.get_scanout_position(). With no such > drivers left, the related typedef and code can be removed > > Signed-off-by: Thomas Zimmerm

Re: [PATCH] drm/scheduler: fix documentation by replacing rq_list with sched_list

2020-01-20 Thread Luben Tuikov
On 2020-01-17 5:59 a.m., Nirmoy wrote: > Hi Luben, > > On 1/16/20 6:13 PM, Luben Tuikov wrote: >>> - * Note: the rq_list should have atleast one element to schedule >>> + * Note: the sched_list should have atleast one element to schedule >> "atleast" --> "at least". > Always a tricky one to catch,

Re: [Intel-gfx] [PATCH v3 03/22] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs

2020-01-20 Thread Ville Syrjälä
On Mon, Jan 20, 2020 at 09:22:55AM +0100, Thomas Zimmermann wrote: > The callback get_vblank_timestamp() is currently located in struct > drm_driver, but really belongs into struct drm_crtc_funcs. Add an > equivalent there. Driver will be converted in separate patches. > > The default implementati

Re: [PATCH] drm/amdgpu: fix a typo atleast -> at least

2020-01-20 Thread Christian König
Am 20.01.20 um 14:36 schrieb Nirmoy Das: Fixes: b8c8b23f58c71 (drm/scheduler: fix documentation by replacing rq_list with sched_list) Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/scheduler/sched_entity.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)

[PATCH] drm/amdgpu: fix a typo atleast -> at least

2020-01-20 Thread Nirmoy Das
Fixes: b8c8b23f58c71 (drm/scheduler: fix documentation by replacing rq_list with sched_list) Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/sche

[PATCH] drm/amdgpu: remove unnecessary conversion to bool

2020-01-20 Thread Nirmoy Das
Better clean that up before some automation starts to complain about it Signed-off-by: Nirmoy Das Acked-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c| 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd/amdgpu/athub_v1_0.c| 4 ++-- drivers/g

Re: [PATCH] drm/amdgpu: remove unnecessary conversion to bool

2020-01-20 Thread Christian König
Well that's rather nice to have, but I would add something like the following as commit message: "Better clean that up before some automation starts to complain about it." Am 20.01.20 um 13:58 schrieb Nirmoy Das: Signed-off-by: Nirmoy Das With the commit message changed the patch is Acked-b

Re: [RFC PATCH] drm/amdgpu: allocate entities on demand

2020-01-20 Thread Christian König
Am 20.01.20 um 14:05 schrieb Nirmoy: Hi Christian, On 11/26/19 10:45 AM, Christian König wrote: It looks like a start, but there numerous things which needs to be fixed. Question number one is: What's that good for? Entities are not the problem here. The real issue is the fence ring and the

Re: [RFC PATCH] drm/amdgpu: allocate entities on demand

2020-01-20 Thread Nirmoy
Hi Christian, On 11/26/19 10:45 AM, Christian König wrote: It looks like a start, but there numerous things which needs to be fixed. Question number one is: What's that good for? Entities are not the problem here. The real issue is the fence ring and the rq_list. The rq_list could actually b

[PATCH] drm/amdgpu: remove unnecessary conversion to bool

2020-01-20 Thread Nirmoy Das
Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c| 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd/amdgpu/athub_v1_0.c| 4 ++-- drivers/gpu/drm/amd/amdgpu/athub_v2_0.c| 4 ++-- drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 4 ++-- d

Re: [PATCH v3 06/22] drm/gma500: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Patrik Jakobsson
On Mon, Jan 20, 2020 at 9:23 AM Thomas Zimmermann wrote: > > VBLANK callbacks in struct drm_driver are deprecated in favor of > their equivalents in struct drm_crtc_funcs. Convert gma500 over. > > Signed-off-by: Thomas Zimmermann Looks good. For this patch: Acked-by: Patrik Jakobsson > --- >

Re: [PATCH v3 20/22] drm/vmwgfx: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Hellstrom
On 1/20/20 9:23 AM, Thomas Zimmermann wrote: > VBLANK callbacks in struct drm_driver are deprecated in favor of > their equivalents in struct drm_crtc_funcs. Convert vmwgfx over. > > v2: > * remove accidental whitespace fixes > > Signed-off-by: Thomas Zimmermann > --- > drivers/gpu/drm/vmwg

Re: [PATCH 2/2] drm/amdgpu: fix VRAM partially encroached issue in GDDR6 memory training

2020-01-20 Thread Christian König
Am 20.01.20 um 12:08 schrieb Tianci Yin: From: "Tianci.Yin" [why] In GDDR6 BIST training, a certain mount of bottom VRAM will be encroached by UMC, that causes problems(like GTT corrupted and page fault observed). [how] Saving the content of this bottom VRAM to system memory before training, a

[PATCH 2/2] drm/amdgpu: fix VRAM partially encroached issue in GDDR6 memory training

2020-01-20 Thread Tianci Yin
From: "Tianci.Yin" [why] In GDDR6 BIST training, a certain mount of bottom VRAM will be encroached by UMC, that causes problems(like GTT corrupted and page fault observed). [how] Saving the content of this bottom VRAM to system memory before training, and restoring it after training to avoid VRA

[PATCH 1/2] Revert "drm/amdgpu: fix modprobe failure of the secondary GPU when GDDR6 training enabled(V5)"

2020-01-20 Thread Tianci Yin
From: "Tianci.Yin" This reverts commit 2ad857d7b82081736c078997ba0542acfdd50099. The patch will be replaced with a better solution, revert it. --- drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h | 5 - drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 27 + 2 files changed, 1 inser

[PATCH v3 22/22] drm: Remove legacy version of get_scanout_position()

2020-01-20 Thread Thomas Zimmermann
The legacy version of get_scanout_position() was only useful while drivers still used drm_driver.get_scanout_position(). With no such drivers left, the related typedef and code can be removed Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/drm_vblank.c| 27 +++ d

[PATCH v3 21/22] drm: Clean-up VBLANK-related callbacks in struct drm_driver

2020-01-20 Thread Thomas Zimmermann
All non-legacy users of VBLANK functions in struct drm_driver have been converted to use the respective interfaces in struct drm_crtc_funcs. The remaining users of VBLANK callbacks in struct drm_driver are legacy drivers with userspace modesetting. All users of struct drm_driver.get_scanout_positi

[PATCH v3 16/22] drm/sti: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert sti over. v2: * remove unnecessary include of sti_crtc.h from sti_drv.c Signed-off-by: Thomas Zimmermann Acked-by: Benjamin Gaignard --- drivers/gpu/drm/sti/sti_crtc.c |

[PATCH v3 14/22] drm/stm: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-20 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert stm over. Signed-off-by: Thomas Zimmermann Tested-by: Yannick Fertré --- drivers/gpu/drm/stm/drv.c | 1 - drivers/gpu/drm/stm/ltdc.c | 65 ++

[PATCH v3 19/22] drm/vkms: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert vkms over. Signed-off-by: Thomas Zimmermann Reviewed-by: Rodrigo Siqueira Tested-by: Rodrigo Siqueira --- drivers/gpu/drm/vkms/vkms_crtc.c | 9 ++--- drivers/gpu/drm/vkms/vk

[PATCH v3 11/22] drm/radeon: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert radeon over. Signed-off-by: Thomas Zimmermann Reviewed-by: Alex Deucher --- drivers/gpu/drm/radeon/radeon_display.c | 12 -- drivers/gpu/drm/radeon/radeon_drv.c | 7

[PATCH v3 12/22] drm/msm: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-20 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert mem over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 67 +++ drivers/gpu/drm/msm/disp/mdp5/mdp5_k

[PATCH v3 10/22] drm/radeon: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-20 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert radeon over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/radeon/atombios_crtc.c | 1 + drivers/gpu/drm/radeon/radeon_display.c | 13

[PATCH v3 17/22] drm/vc4: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-20 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert vc4 over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/vc4/vc4_crtc.c | 12 +++- drivers/gpu/drm/vc4/vc4_drv.c | 1 - drivers/gpu/drm/vc4

[PATCH v3 18/22] drm/vc4: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert vc4 over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/vc4/vc4_crtc.c | 1 + drivers/gpu/drm/vc4/vc4_drv.c | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff -

[PATCH v3 20/22] drm/vmwgfx: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert vmwgfx over. v2: * remove accidental whitespace fixes Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 3 --- drivers/gpu/drm/vmwgfx/vmwgfx_drv

[PATCH v3 13/22] drm/msm: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert msm over. Signed-off-by: Thomas Zimmermann Tested-by: Yannick Fertré --- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 ++ drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 2 ++ dri

[PATCH v3 08/22] drm/nouveau: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-20 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert nouveau over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/nouveau/dispnv04/crtc.c | 1 + drivers/gpu/drm/nouveau/dispnv50/head.c | 1 + driv

[PATCH v3 03/22] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs

2020-01-20 Thread Thomas Zimmermann
The callback get_vblank_timestamp() is currently located in struct drm_driver, but really belongs into struct drm_crtc_funcs. Add an equivalent there. Driver will be converted in separate patches. The default implementation is drm_calc_vbltimestamp_from_scanoutpos(). The patch adds drm_crtc_vblank

[PATCH v3 06/22] drm/gma500: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert gma500 over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/gma500/cdv_intel_display.c | 3 +++ drivers/gpu/drm/gma500/psb_drv.c | 4 drivers/gpu/drm/gma500

[PATCH v3 02/22] drm: Add get_scanout_position() to struct drm_crtc_helper_funcs

2020-01-20 Thread Thomas Zimmermann
The new callback get_scanout_position() reads the current location of the scanout process. The operation is currently located in struct drm_driver, but really belongs to the CRTC. Drivers will be converted in separate patches. To help with the conversion, the timestamp calculation has been moved f

[PATCH v3 00/22] drm: Clean up VBLANK callbacks in struct drm_driver

2020-01-20 Thread Thomas Zimmermann
VBLANK handlers in struct drm_driver are deprecated. Only legacy, non-KMS drivers are supposed to used them. DRM drivers with kernel modesetting are supposed to use VBLANK callbacks of the CRTC infrastructure. This patchset converts all DRM drivers to CRTC VBLANK callbacks and cleans up struct drm

[PATCH v3 09/22] drm/nouveau: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert nouvean over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/nouveau/dispnv04/crtc.c | 3 +++ drivers/gpu/drm/nouveau/dispnv50/head.c | 4 drivers/gpu/drm/nouveau

[PATCH v3 15/22] drm/stm: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert stm over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/stm/drv.c | 1 - drivers/gpu/drm/stm/ltdc.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/dri

[PATCH v3 07/22] drm/i915: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert i915 over. The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). i915 doesn't use CRTC helpers. Instea

[PATCH v3 04/22] drm/amdgpu: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-20 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert amdgpu over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 12 drivers/gpu/drm/amd/amdgpu/amdgpu_dr

[PATCH v3 05/22] drm/amdgpu: Convert to CRTC VBLANK callbacks

2020-01-20 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert amdgpu over. v2: * don't wrap existing functions; change signature instead Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 6 +++---

[PATCH v3 01/22] drm: Remove internal setup of struct drm_device.vblank_disable_immediate

2020-01-20 Thread Thomas Zimmermann
VBLANK interrupts can be disabled immediately or with a delay, where the latter is the default. The former option can be selected by setting get_vblank_timestamp and enabling vblank_disable_immediate in struct drm_device. Simplify the code in preparation of the removal of struct drm_device.get_vbla