[PATCH 1/1] drm/amd/display: handle nulled pipe context in DCE110's set_drr()

2024-09-16 Thread tjakobi
From: Tobias Jakobi As set_drr() is called from IRQ context, it can happen that the pipe context has been nulled by dc_state_destruct(). Apply the same protection here that is already present for dcn35_set_drr() and dcn10_set_drr(). I.e. fetch the tg pointer first (to avoid a race with dc_state_

[PATCH 0/1] drm/amd: more VRR race fixes during IRQ handling

2024-09-16 Thread tjakobi
From: Tobias Jakobi Hello, this is a follow-up for these (already merged) patches: https://lore.kernel.org/all/cover.1725269643.git.tjak...@math.uni-bielefeld.de/ A user on the GitLab issue tracker pointed out that the problem also manifests itself on DCE110 hardware. This is a straight port o

[PATCH 1/2] drm/amd/display: Avoid race between dcn10_set_drr() and dc_state_destruct()

2024-09-02 Thread tjakobi
From: Tobias Jakobi dc_state_destruct() nulls the resource context of the DC state. The pipe context passed to dcn10_set_drr() is a member of this resource context. If dc_state_destruct() is called parallel to the IRQ processing (which calls dcn10_set_drr() at some point), we can end up using al

[PATCH 2/2] drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_destruct()

2024-09-02 Thread tjakobi
From: Tobias Jakobi dc_state_destruct() nulls the resource context of the DC state. The pipe context passed to dcn35_set_drr() is a member of this resource context. If dc_state_destruct() is called parallel to the IRQ processing (which calls dcn35_set_drr() at some point), we can end up using al

[PATCH 0/2] drm/amd: fix VRR race condition during IRQ handling

2024-09-02 Thread tjakobi
From: Tobias Jakobi Hello, this fixes a nasty race condition in the set_drr() callbacks for DCN10 and DCN35 that has existed now since quite some time, see this GitLab issue for reference. https://gitlab.freedesktop.org/drm/amd/-/issues/3142 The report just focuses von DCN10, but the same prob

[PATCH 2/3] drm/amd: Make amd_ip_funcs static for SDMA v5.2

2024-08-05 Thread tjakobi
From: Tobias Jakobi The struct can be static, as it is only used in this translation unit. Signed-off-by: Tobias Jakobi --- drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 2 +- drivers/gpu/drm/amd/amdgpu/sdma_v5_2.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm

[PATCH 1/3] drm/amd: Make amd_ip_funcs static for SDMA v5.0

2024-08-05 Thread tjakobi
From: Tobias Jakobi The struct can be static, as it is only used in this translation unit. Signed-off-by: Tobias Jakobi --- drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/sdma_v5_0.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm

[PATCH 0/3] drm/amd: some trivial fixes

2024-08-05 Thread tjakobi
From: Tobias Jakobi Nothing serious here, just some bits I noticed when reading code. Tobias Jakobi (3): drm/amd: Make amd_ip_funcs static for SDMA v5.0 drm/amd: Make amd_ip_funcs static for SDMA v5.2 drm/amdgpu/swsmu: fix SMU11 typos (memlk -> memclk) drivers/gpu/drm/amd/amdgpu/sdma_v5_

[PATCH 3/3] drm/amdgpu/swsmu: fix SMU11 typos (memlk -> memclk)

2024-08-05 Thread tjakobi
From: Tobias Jakobi No functional changes. Signed-off-by: Tobias Jakobi --- drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c | 4 ++-- drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/pm/

[PATCH] drm/amd/display: Add MSF panel to DPCD 0x317 patch list

2024-03-10 Thread tjakobi
From: Tobias Jakobi This 8.4 inch panel is integrated in the Ayaneo Kun handheld device. The panel resolution is 2560×1600, i.e. it has portrait dimensions. Decoding the EDID shows: Manufacturer: MSF Model: 4099 Display Product Name: 'TV080WUM-NL0 ' Judging from the product name this might be a