Dashed corruption present on udl screen when changing layout from extended to dock mode
Reported by
adam.kal...@displaylink.com,
Nov 25 2016
|
||||||||||||||||
Issue descriptionChrome Version: 54.0.2840.101 (64-bit) Chrome OS Version: 54.0.2840.101 (64-bit) Chrome OS Platform: 8743.85.0. (Official Build) stable-channel gnawty Steps To Reproduce: (1)Boot up system (2)Attach udl device with external screen to the host; make sure external display is working (3)Change layout from Extended -> Dock mode by closing the lid (4)Change layout from Dock -> Extended by opening the lif Expected Result: Clean layout transition and no corruptions present on external screen after changing between Extended -> Docked -> Extended modes. Actual Result: When changing from Extended to Dock mode (and back to Extended) on udl screen is present corruption in bottom part of the screen. Corruption is represented with dashed lines which density is increasing at the bottom of the screen. How frequently does this problem reproduce? Problem is reproduced always; 100% What is the impact to the user, and is there a workaround? If so, what is it? End user is see corruption on the external udl screen. The workaround is to move the app window around the corruption or force full screen update (like maximizing the browser on screen) Please provide any additional information below. Attach a screen shot or log if possible. The problem is also present with dev channel: 56.0.2920.0 (Official Build) dev (64-bit) 8992.0.0 (Official Build) dev-channel gnawty The problem is not present when same monitor is attached directly via HDMI output available on the Chromebook. Screenshot for corruption (while in dock and extend mode) attached.
,
Nov 29 2016
We don't have anything to handle memory coherency right now. I think we'd need to invalidate the cache for the memory backing the buffer that's allocated by evdi/udl. We have the same problem on ARM devices, and Haixia says we never fixed it.
,
Dec 7 2016
Taking a look...
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e5b3cd730d4df83395fc82a21f85d73edb24104b commit e5b3cd730d4df83395fc82a21f85d73edb24104b Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Dec 08 01:25:24 2016 CHROMIUM: drm/evdi: flush physical pages after allocating evdi_gem_get_pages gets pages which are potentially in the CPU cache with stale contents. This memory incoherency causes corruption which is visible on an external monitor. To fix this, flush pages that are fetched from the cache. This is not an issue for systems that address the cache using virtual memory bits. BUG= chromium:668636 TEST=try-bots Change-Id: I17ebfde23facfe0ea003bea7eb9580e0cf974611 Reviewed-on: https://chromium-review.googlesource.com/418064 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/e5b3cd730d4df83395fc82a21f85d73edb24104b/drivers/gpu/drm/evdi/evdi_gem.c
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6660ba82111ae816a124f6c194898534f66be1c6 commit 6660ba82111ae816a124f6c194898534f66be1c6 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Dec 08 17:20:31 2016 CHROMIUM: drm/udl: flush physical pages after allocating udl_gem_get_pages gets pages which are potentially in the CPU cache with stale contents. This memory incoherency causes corruption which is visible on an external monitor. To fix this, flush pages that are fetched from the cache. This is not an issue for systems that address the cache using virtual memory bits. BUG= chromium:668636 TEST=trybots Change-Id: Ic963c4ade9197733bb1fa4a50c98dec7e2624a59 Reviewed-on: https://chromium-review.googlesource.com/418065 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/6660ba82111ae816a124f6c194898534f66be1c6/drivers/gpu/drm/udl/udl_gem.c
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/7b79a56ef9d5c07bd5a87e86a968059a98ff1562 commit 7b79a56ef9d5c07bd5a87e86a968059a98ff1562 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Dec 08 01:25:24 2016 CHROMIUM: drm/evdi: flush physical pages after allocating evdi_gem_get_pages gets pages which are potentially in the CPU cache with stale contents. This memory incoherency causes corruption which is visible on an external monitor. To fix this, flush pages that are fetched from the cache. This is not an issue for systems that address the cache using virtual memory bits. BUG= chromium:668636 TEST=try-bots Change-Id: Iad487cc6f012969e31f40b356328733ed12fc0cb Reviewed-on: https://chromium-review.googlesource.com/418008 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/7b79a56ef9d5c07bd5a87e86a968059a98ff1562/drivers/gpu/drm/evdi/evdi_gem.c
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/9524fa12a0d2c9870ea52fdabfce22f0137b5fc4 commit 9524fa12a0d2c9870ea52fdabfce22f0137b5fc4 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Dec 08 17:20:31 2016 CHROMIUM: drm/udl: flush physical pages after allocating udl_gem_get_pages gets pages which are potentially in the CPU cache with stale contents. This memory incoherency causes corruption which is visible on an external monitor. To fix this, flush pages that are fetched from the cache. This is not an issue for systems that address the cache using virtual memory bits. BUG= chromium:668636 TEST=trybots Change-Id: Iba90c5be70b6d32982ec7f8822f1e5658d25fbad Reviewed-on: https://chromium-review.googlesource.com/418009 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/9524fa12a0d2c9870ea52fdabfce22f0137b5fc4/drivers/gpu/drm/udl/udl_gem.c
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/2be4be7e4503e30ec129209bb279a564e9b8fa26 commit 2be4be7e4503e30ec129209bb279a564e9b8fa26 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Dec 08 17:10:29 2016 CHROMIUM: drm/evdi: flush physical pages after allocating evdi_gem_get_pages gets pages which are potentially in the CPU cache with stale contents. This memory incoherency causes corruption which is visible on an external monitor. To fix this, flush pages that are fetched from the cache. This is not an issue for systems that address the cache using virtual memory bits. BUG= chromium:668636 TEST=trybots Change-Id: If7dc4f77634ccaa9160764b31f603de3bf172b2d Reviewed-on: https://chromium-review.googlesource.com/417256 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/2be4be7e4503e30ec129209bb279a564e9b8fa26/drivers/gpu/drm/evdi/evdi_gem.c
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6e242a5b1d7eaa8e129bc591eaec28fbc7b9bf7b commit 6e242a5b1d7eaa8e129bc591eaec28fbc7b9bf7b Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Dec 08 01:52:39 2016 CHROMIUM: drm/udl: flush physical pages after allocating udl_gem_get_pages gets pages which are potentially in the CPU cache with stale contents. This memory incoherency causes corruption which is visible on an external monitor. To fix this, flush pages that are fetched from the cache. This is not an issue for systems that address the cache using virtual memory bits. BUG= chromium:668636 TEST=trybots Change-Id: If43ad88d81d3e9332a1913e1803acbf2c5bc4751 Reviewed-on: https://chromium-review.googlesource.com/417257 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/6e242a5b1d7eaa8e129bc591eaec28fbc7b9bf7b/drivers/gpu/drm/udl/udl_gem.c
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/4ce426516733055b4e33c4a492f4acbedc04137b commit 4ce426516733055b4e33c4a492f4acbedc04137b Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Dec 08 01:25:24 2016 CHROMIUM: drm/evdi: flush physical pages after allocating evdi_gem_get_pages gets pages which are potentially in the CPU cache with stale contents. This memory incoherency causes corruption which is visible on an external monitor. To fix this, flush pages that are fetched from the cache. This is not an issue for systems that address the cache using virtual memory bits. BUG= chromium:668636 TEST=With a monitor hooked up via evdi, no corruption after suspend and resume on glimmer. Change-Id: I53603388ce44d629de14e77ce1390531b4a6af2c Reviewed-on: https://chromium-review.googlesource.com/418021 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/4ce426516733055b4e33c4a492f4acbedc04137b/drivers/gpu/drm/evdi/evdi_gem.c
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/bab1d1a45151bcc2a0c2e6843f7c7a1a48049627 commit bab1d1a45151bcc2a0c2e6843f7c7a1a48049627 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Dec 08 01:52:39 2016 CHROMIUM: drm/udl: flush physical pages after allocating udl_gem_get_pages gets pages which are potentially in the CPU cache with stale contents. This memory incoherency causes corruption which is visible on an external monitor. To fix this, flush pages that are fetched from the cache. This is not an issue for systems that address the cache using virtual memory bits. BUG= chromium:668636 TEST=With a monitor hooked up via udl, no corruption after suspend and resume on glimmer. Change-Id: If43ad88d81d3e9332a1913e1803acbf2c5bc4751 Reviewed-on: https://chromium-review.googlesource.com/418022 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/bab1d1a45151bcc2a0c2e6843f7c7a1a48049627/drivers/gpu/drm/udl/udl_gem.c
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/2de26aa05fd29bbb1e56a10f810d0a14a6bad933 commit 2de26aa05fd29bbb1e56a10f810d0a14a6bad933 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Dec 08 01:25:24 2016 CHROMIUM: drm/evdi: flush physical pages after allocating evdi_gem_get_pages gets pages which are potentially in the CPU cache with stale contents. This memory incoherency causes corruption which is visible on an external monitor. To fix this, flush pages that are fetched from the cache. This is not an issue for systems that address the cache using virtual memory bits. BUG= chromium:668636 TEST=try-bots Change-Id: Idb397a75f917878c18bebdd9ae30c9672eb69cc3 Reviewed-on: https://chromium-review.googlesource.com/417719 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/2de26aa05fd29bbb1e56a10f810d0a14a6bad933/drivers/gpu/drm/evdi/evdi_gem.c
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f85047d65876084c41848b64a4b0f71fbc9fcaa3 commit f85047d65876084c41848b64a4b0f71fbc9fcaa3 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Dec 08 17:20:31 2016 CHROMIUM: drm/udl: flush physical pages after allocating udl_gem_get_pages gets pages which are potentially in the CPU cache with stale contents. This memory incoherency causes corruption which is visible on an external monitor. To fix this, flush pages that are fetched from the cache. This is not an issue for systems that address the cache using virtual memory bits. BUG= chromium:668636 TEST=trybots Change-Id: Ie6abb4ce2fd1d0ec73fa3a4d55f8157c5d198174 Reviewed-on: https://chromium-review.googlesource.com/418180 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/f85047d65876084c41848b64a4b0f71fbc9fcaa3/drivers/gpu/drm/udl/udl_gem.c
,
Dec 9 2016
,
Mar 4 2017
,
Apr 17 2017
,
May 30 2017
,
Aug 1 2017
,
Oct 14 2017
|
||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||
Comment 1 by michal.l...@displaylink.com
, Nov 25 2016