From: Sasha Levin Date: Fri, 29 Sep 2023 13:52:03 +0000 (-0400) Subject: Drop drm-amd-disable-s-g-for-apus-when-64gb-or-more-host-.patch X-Git-Tag: v6.5.6~74 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=08aa67996824dcb6eb5c147e495cb39adb94f1b3;p=thirdparty%2Fkernel%2Fstable-queue.git Drop drm-amd-disable-s-g-for-apus-when-64gb-or-more-host-.patch Signed-off-by: Sasha Levin --- diff --git a/queue-6.5/drm-amd-disable-s-g-for-apus-when-64gb-or-more-host-.patch b/queue-6.5/drm-amd-disable-s-g-for-apus-when-64gb-or-more-host-.patch deleted file mode 100644 index c2a1d86b02a..00000000000 --- a/queue-6.5/drm-amd-disable-s-g-for-apus-when-64gb-or-more-host-.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 74e920410b79e1694a692f5daa73617a0e8b8fe5 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 27 Jul 2023 10:22:20 -0500 -Subject: drm/amd: Disable S/G for APUs when 64GB or more host memory - -From: Mario Limonciello - -[ Upstream commit 70e64c4d522b732e31c6475a3be2349de337d321 ] - -Users report a white flickering screen on multiple systems that -is tied to having 64GB or more memory. When S/G is enabled pages -will get pinned to both VRAM carve out and system RAM leading to -this. - -Until it can be fixed properly, disable S/G when 64GB of memory or -more is detected. This will force pages to be pinned into VRAM. -This should fix white screen flickers but if VRAM pressure is -encountered may lead to black screens. It's a trade-off for now. - -Fixes: 81d0bcf99009 ("drm/amdgpu: make display pinning more flexible (v2)") -Cc: Hamza Mahfooz -Cc: Roman Li -Cc: # 6.1.y: bf0207e172703 ("drm/amdgpu: add S/G display parameter") -Cc: # 6.4.y -Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2735 -Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2354 -Signed-off-by: Mario Limonciello -Reviewed-by: Alex Deucher -Signed-off-by: Alex Deucher -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + - drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 26 +++++++++++++++++++ - .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 5 ++-- - 3 files changed, 29 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -index a3b86b86dc477..6dc950c1b6893 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -1296,6 +1296,7 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev, - void amdgpu_device_pci_config_reset(struct amdgpu_device *adev); - int amdgpu_device_pci_reset(struct amdgpu_device *adev); - bool amdgpu_device_need_post(struct amdgpu_device *adev); -+bool amdgpu_sg_display_supported(struct amdgpu_device *adev); - bool amdgpu_device_pcie_dynamic_switching_supported(void); - bool amdgpu_device_should_use_aspm(struct amdgpu_device *adev); - bool amdgpu_device_aspm_support_quirk(void); -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -index 2168dc92c6704..6e5e4603a51a1 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -@@ -1461,6 +1461,32 @@ bool amdgpu_device_need_post(struct amdgpu_device *adev) - return true; - } - -+/* -+ * On APUs with >= 64GB white flickering has been observed w/ SG enabled. -+ * Disable S/G on such systems until we have a proper fix. -+ * https://gitlab.freedesktop.org/drm/amd/-/issues/2354 -+ * https://gitlab.freedesktop.org/drm/amd/-/issues/2735 -+ */ -+bool amdgpu_sg_display_supported(struct amdgpu_device *adev) -+{ -+ switch (amdgpu_sg_display) { -+ case -1: -+ break; -+ case 0: -+ return false; -+ case 1: -+ return true; -+ default: -+ return false; -+ } -+ if ((totalram_pages() << (PAGE_SHIFT - 10)) + -+ (adev->gmc.real_vram_size / 1024) >= 64000000) { -+ DRM_WARN("Disabling S/G due to >=64GB RAM\n"); -+ return false; -+ } -+ return true; -+} -+ - /* - * Intel hosts such as Raptor Lake and Sapphire Rapids don't support dynamic - * speed switching. Until we have confirmation from Intel that a specific host -diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -index e0d556cf919f7..8d09f262c14a3 100644 ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -@@ -1642,9 +1642,8 @@ static int amdgpu_dm_init(struct amdgpu_device *adev) - } - break; - } -- if (init_data.flags.gpu_vm_support && -- (amdgpu_sg_display == 0)) -- init_data.flags.gpu_vm_support = false; -+ if (init_data.flags.gpu_vm_support) -+ init_data.flags.gpu_vm_support = amdgpu_sg_display_supported(adev); - - if (init_data.flags.gpu_vm_support) - adev->mode_info.gpu_vm_support = true; --- -2.40.1 - diff --git a/queue-6.5/series b/queue-6.5/series index c8ff6dac86b..7704050d7e0 100644 --- a/queue-6.5/series +++ b/queue-6.5/series @@ -110,7 +110,6 @@ i2c-mux-gpio-add-missing-fwnode_handle_put.patch i2c-xiic-correct-return-value-check-for-xiic_reinit.patch drm-amdgpu-set-completion-status-as-preempted-for-th.patch asoc-cs35l56-disable-low-power-hibernation-mode.patch -drm-amd-disable-s-g-for-apus-when-64gb-or-more-host-.patch drm-amd-display-update-dpg-test-pattern-programming.patch drm-amd-display-fix-a-regression-in-blank-pixel-data.patch arm64-dts-qcom-sdm845-db845c-mark-cont-splash-memory.patch