New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 668636 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Closed: Dec 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Dashed corruption present on udl screen when changing layout from extended to dock mode

Reported by adam.kal...@displaylink.com, Nov 25 2016

Issue description

Chrome 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.
 
extendMode.jpg
121 KB View Download
dockMode1.png
742 KB View Download
dockMode.png
667 KB View Download
Note this is also affecting evdi, so DisplayLink DL3 devices are also showing similar symptoms.
Cc: h...@chromium.org gurcheta...@chromium.org
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.
Owner: gurcheta...@chromium.org
Taking a look...
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 9 2016

Labels: merge-merged-chromeos-4.4
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

Project Member

Comment 5 by bugdroid1@chromium.org, 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

Project Member

Comment 6 by bugdroid1@chromium.org, Dec 9 2016

Labels: merge-merged-chromeos-3.18
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

Project Member

Comment 7 by bugdroid1@chromium.org, Dec 9 2016

Labels: merge-merged-chromeos-3.18
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

Project Member

Comment 8 by bugdroid1@chromium.org, Dec 9 2016

Labels: merge-merged-chromeos-3.8
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

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 9 2016

Labels: merge-merged-chromeos-3.8
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

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 9 2016

Labels: merge-merged-chromeos-3.10
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

Project Member

Comment 11 by bugdroid1@chromium.org, 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

Project Member

Comment 12 by bugdroid1@chromium.org, Dec 9 2016

Labels: merge-merged-chromeos-3.14
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

Project Member

Comment 13 by bugdroid1@chromium.org, 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

Status: Fixed (was: Unconfirmed)

Comment 15 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

Comment 16 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 17 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 19 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment