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

Issue 707716 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

External monitor only works with 1280x720 or lower

Reported by bepib...@gmail.com, Apr 3 2017

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS x86_64 9334.28.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.40 Safari/537.36
Platform: 9334.28.0 (Official Build) beta-channel cave

Steps to reproduce the problem:
1. Connect Asus Chromebook Flip 302 to Dell U2515H with HDMI to USB-C through Dell adapter
2. Settings show starting resolution 2048x1152(Best), but external screen is black and goes in sleep mode
3. Tried lower resolutions, starting at 640x480 and most work, up to 1280x720.

What is the expected behavior?
The external monitor has a maximum resolution of 2560x1440. Chromebook advises 2048x1152. That is what I would expect to work.

What went wrong?
Only low resolution 1280x720 works, showing a very grainy image on the 25" external monitor.

Did this work before? N/A 

Chrome version: 58.0.3029.40  Channel: beta
OS Version: 9334.28.0
Flash Version: 25.0.0.127 /opt/google/chrome/pepper/libpepflashplayer.so
 

Comment 1 by vsu...@chromium.org, Apr 19 2017

Cc: rjahagir@chromium.org ka...@chromium.org
Components: OS>Kernel>Display

Comment 2 by ka...@chromium.org, Apr 19 2017

bepibott@, can you file feedback report(Shift+alt+i) at time you reproduce the issue with resolution when external screen does not display? Please put your email in the report(and this issue id 707716).
Most importantly, we need one piece which feedback doesn't provide: what is the exact type of typeC-HDMI adapter you are using? If you have a model number or an amazon link that's perfect, that way we can order the same exact one etc.

Comment 4 by bepib...@gmail.com, Apr 19 2017

Thanks for your feedback! Unfortunately I'm not able to reproduce the same problem at the moment, since I gave the computer to an employee.
She will use it with a different monitor and adapter next week. I'll try to obtain information about possible issues with her setup.

When I tried in my office on April 3rd, the adapter was a Dell Model DA200: http://accessories.euro.dell.com/sna/products/Station_daccueil/productdetail.aspx?c=lu&l=fr&s=pad&cs=RC1078540&sku=470-ABRY&baynote_bnrank=0&baynote_irrank=1&~ck=dellSearch

Hope this helps.

Comment 5 by ka...@chromium.org, Apr 19 2017

Cc: pgangishetty@chromium.org sontis@chromium.org
We have this Dell typeC dongle and will try to reproduce.
Labels: M-58
Status: Untriaged (was: Unconfirmed)
1. Was able to reproduce the issue on Cave with version 58.0.3029.78/9334.52.0 with similar HP monitor with optimal mode 2560 x 1440 (image attached) and with Dell type C adapter
2. Anything above 1440 x 900 did not work (see attached screenshot)

Logs and screenshots: https://pantheon.corp.google.com/storage/browser/chromiumos-test-logs/bugfiles/cr/707716/
Cc: dbehr@chromium.org
Owner: marc...@chromium.org
Status: Started (was: Untriaged)
This dongle doesn't work with hi-speed lanes, so we will have to cap it to low speed.
Project Member

Comment 8 by bugdroid1@chromium.org, Apr 25 2017

Labels: merge-merged-chromeos-3.18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e828361d6b4326bb7321779205d5dd12e32838ad

commit e828361d6b4326bb7321779205d5dd12e32838ad
Author: Stéphane Marchesin <marcheu@chromium.org>
Date: Tue Apr 25 08:45:41 2017

CHROMIUM: drm/i915: Detect DELL DA200 dongle

This dongle has a single lane, sadly that lane doesn't work
above 2.7G. So let's cap it at that.

BUG= chromium:707716 
TEST=run on samus with DELL DA200 and an external monitor

Change-Id: Iafc259338820de82be6a0d51307abfe4ec3ad287
Reviewed-on: https://chromium-review.googlesource.com/484959
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/e828361d6b4326bb7321779205d5dd12e32838ad/include/drm/drm_dp_helper.h
[modify] https://crrev.com/e828361d6b4326bb7321779205d5dd12e32838ad/drivers/gpu/drm/i915/intel_drv.h
[modify] https://crrev.com/e828361d6b4326bb7321779205d5dd12e32838ad/drivers/gpu/drm/i915/intel_dp.c

Project Member

Comment 9 by bugdroid1@chromium.org, Apr 25 2017

Labels: merge-merged-chromeos-3.14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b90879e2c235132898cc8a30d3910d46242e9dda

commit b90879e2c235132898cc8a30d3910d46242e9dda
Author: Stéphane Marchesin <marcheu@chromium.org>
Date: Tue Apr 25 08:45:39 2017

CHROMIUM: drm/i915: Detect DELL DA200 dongle

This dongle has a single lane, sadly that lane doesn't work
above 2.7G. So let's cap it at that.

BUG= chromium:707716 
TEST=run on samus with DELL DA200 and an external monitor

Change-Id: I1d2595da5e4c32f81a7f01ed00bf874284636ae1
Reviewed-on: https://chromium-review.googlesource.com/483937
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/b90879e2c235132898cc8a30d3910d46242e9dda/include/drm/drm_dp_helper.h
[modify] https://crrev.com/b90879e2c235132898cc8a30d3910d46242e9dda/drivers/gpu/drm/i915/intel_drv.h
[modify] https://crrev.com/b90879e2c235132898cc8a30d3910d46242e9dda/drivers/gpu/drm/i915/intel_dp.c

Status: Fixed (was: Started)

Comment 11 by bepib...@gmail.com, Apr 28 2017

Thank you so much. Now I'm a bit upset with Dell...I discovered that also my 5510 workstation wasn't using the full resolution of my monitor. Not 1280x720, but not the maximum either.

Do you have any information about this dongle here? They mention "video 4K2K"...
https://www.amazon.it/gp/product/B01NBIA2ID/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1

Kind regards,
Giuseppe
Verified on Cave with version 58.03029.112/9334.69.0 stable-channel that resolution 1440x900 or below only works with DELL type C dongle.    
Status: Verified (was: Fixed)
Project Member

Comment 14 by bugdroid1@chromium.org, Jan 13 2018

Labels: merge-merged-chromeos-4.4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/aa8fcbadbd81cbba510115b237e652d38e4090e9

commit aa8fcbadbd81cbba510115b237e652d38e4090e9
Author: Jani Nikula <jani.nikula@intel.com>
Date: Sat Jan 13 06:37:37 2018

UPSTREAM: drm/i915/dp: reduce link M/N parameters

Several major vendor USB-C->HDMI converters, in particular the DA200,
fail to recover a 5.4 GHz 1 lane signal if the link N is greater than
0x80000.

The link M and N depend on the pixel clock and link clock ratio. With
current code link N exceeds 0x80000 only when link clock >= 540000
kHz. Except for the eDP intermediate link clocks, at least the four
least significant bits are always zero. Just one bit shift right would
be enough to bring even the DP 1.4 810000 kHz link clock under 0x80000
link N. The pixel clock for modes that require a link clock >= 540000
kHz would also have several least significant bits zero. Unless the user
provides a mode with an odd pixel clock value, we can reduce the numbers
to reach the goal, with no loss in precision.

The DP spec even mentions sources making choices that "allow for static
and relatively small Mvid and Nvid values", thus reducing the link M/N
regardless of the sink in question seems justified.

Everything here is based on the work and information gathered by Clint
Taylor <clinton.a.taylor@intel.com>. This is just an iteration to reduce
the parameters regardless of lane count, link rate, or sink.

BUG=b:66452192, chromium:707716 
TEST=connect external monitor to Eve via DELL DA200
CQ-DEPEND=I27f904b25c2fed5dcdd9283b31e623abfb37b27d

Reference: http://patchwork.freedesktop.org/patch/msgid/1490225256-11667-1-git-send-email-clinton.a.taylor@intel.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93578
Tested-by: Mads <mads@ab3.no>
Tested-by: PJ <foobar@pjmodos.net>
Tested-by: Franois Guerraz <kubrick@fgv6.net>
Tested-by: Lev Popov <leo@nabam.net>
Tested-by: Igor Krivenko <igor.s.krivenko@gmail.com>
Tested-by: Clint Taylor <clinton.a.taylor@intel.com>
Reviewed-by: Clint Taylor <clinton.a.taylor@intel.com>
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Clint Taylor <clinton.a.taylor@intel.com>
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Cc: Ville Syrjl <ville.syrjala@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1490614405-23337-1-git-send-email-jani.nikula@intel.com
(cherry picked from commit 9a86cda07af2c63649932f0a4fc757701ef54c42)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I31b26d46b7edbe47f6617bd4e12163f5c52121fa
Reviewed-on: https://chromium-review.googlesource.com/864886
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/aa8fcbadbd81cbba510115b237e652d38e4090e9/drivers/gpu/drm/i915/intel_display.c

Project Member

Comment 15 by bugdroid1@chromium.org, Jan 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/0fb6fde520e20e9d15029fd69d366ab6a286df1e

commit 0fb6fde520e20e9d15029fd69d366ab6a286df1e
Author: Jani Nikula <jani.nikula@intel.com>
Date: Sat Jan 13 06:37:39 2018

BACKPORT: drm/dp: add helper for reading DP sink/branch device desc from DPCD

Backport: context differences.

BUG=b:66452192, chromium:707716 
TEST=connect external monitor to Eve via DELL DA200

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/acba54da7d80eafea9e59a893e27e3c31028c0ba.1495105635.git.jani.nikula@intel.com
(cherry picked from commit 118b90f3f18e733c99f0e8b98ea31a815ffc4d14)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: If0d13f50723153ae8b62b3f65be8f7776f2dbadd
Reviewed-on: https://chromium-review.googlesource.com/864887
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/0fb6fde520e20e9d15029fd69d366ab6a286df1e/drivers/gpu/drm/drm_dp_helper.c
[modify] https://crrev.com/0fb6fde520e20e9d15029fd69d366ab6a286df1e/include/drm/drm_dp_helper.h

Project Member

Comment 16 by bugdroid1@chromium.org, Jan 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/264881671032110c31a3b0900a892a18519aec64

commit 264881671032110c31a3b0900a892a18519aec64
Author: Jani Nikula <jani.nikula@intel.com>
Date: Sat Jan 13 06:37:40 2018

BACKPORT: drm/dp: start a DPCD based DP sink/branch device quirk database

Face the fact, there are Display Port sink and branch devices out there
in the wild that don't follow the Display Port specifications, or they
have bugs, or just otherwise require special treatment. Start a common
quirk database the drivers can query based on the DP device
identification. At least for now, we leave the workarounds for the
drivers to implement as they see fit.

For starters, add a branch device that can't handle full 24-bit main
link Mdiv and Ndiv main link attributes properly. Naturally, the
workaround of reducing main link attributes for all devices ended up in
regressions for other devices. So here we are.

v2: Rebase on DRM DP desc read helpers

v3: Fix the OUI memcmp blunder (Clint)

Backport: context conflicts.

BUG=b:66452192, chromium:707716 
TEST=connect external monitor to Eve via DELL DA200

Cc: Ville Syrjl <ville.syrjala@linux.intel.com>
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Cc: Clint Taylor <clinton.a.taylor@intel.com>
Cc: Adam Jackson <ajax@redhat.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Tested-by: Clinton Taylor <clinton.a.taylor@intel.com>
Reviewed-by: Clinton Taylor <clinton.a.taylor@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> # v2
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/91ec198dd95258dbf3bee2f6be739e0da73b4fdd.1495105635.git.jani.nikula@intel.com
(cherry picked from commit 76fa998acd86b6b40d0217e12af39c2406bdcd2b)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Id407f48f4ee6293c360ffac972105e1102f794ee
Reviewed-on: https://chromium-review.googlesource.com/864888
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/264881671032110c31a3b0900a892a18519aec64/drivers/gpu/drm/drm_dp_helper.c
[modify] https://crrev.com/264881671032110c31a3b0900a892a18519aec64/include/drm/drm_dp_helper.h

Project Member

Comment 17 by bugdroid1@chromium.org, Jan 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/56e243b5c67743737f5a8e73e39094993abbae40

commit 56e243b5c67743737f5a8e73e39094993abbae40
Author: Jani Nikula <jani.nikula@intel.com>
Date: Sat Jan 13 06:37:41 2018

BACKPORT: drm/i915: use drm DP helper to read DPCD desc

Switch to using the common DP helpers instead of using our own.

v2: also remove leftover struct intel_dp_desc (Daniel)

Backport: conflict changes, missing intel_lpscon.c

BUG=b:66452192, chromium:707716 
TEST=connect external monitor to Eve via DELL DA200

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
(cherry picked from commit 84c367533bd24108e5392b355280647a4a2893ac)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: If4246b424b4b1183db9627c31ff231871e48d519
Reviewed-on: https://chromium-review.googlesource.com/864889
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/56e243b5c67743737f5a8e73e39094993abbae40/drivers/gpu/drm/i915/intel_drv.h
[modify] https://crrev.com/56e243b5c67743737f5a8e73e39094993abbae40/drivers/gpu/drm/i915/intel_dp.c

Project Member

Comment 18 by bugdroid1@chromium.org, Jan 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/250d58ec74cee41b4f22c66fe6aa84d083285f48

commit 250d58ec74cee41b4f22c66fe6aa84d083285f48
Author: Jani Nikula <jani.nikula@intel.com>
Date: Sat Jan 13 06:37:43 2018

UPSTREAM: drm/i915: Detect USB-C specific dongles before reducing M and N

The Analogix 7737 DP to HDMI converter requires reduced M and N values
when to operate correctly at HBR2. We tried to reduce the M/N values for
all devices in commit 9a86cda07af2 ("drm/i915/dp: reduce link M/N
parameters"), but that regressed some other sinks. Detect this IC by its
OUI value of 0x0022B9 via the DPCD quirk list, and only reduce the M/N
values for that.

v2 by Jani: Rebased on the DP quirk database

v3 by Jani: Rebased on the reworked DP quirk database

v4 by Jani: Improve commit message (Daniel)

BUG=b:66452192, chromium:707716 
TEST=connect external monitor to Eve via DELL DA200

Fixes: 9a86cda07af2 ("drm/i915/dp: reduce link M/N parameters")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93578
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100755
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Cc: Ville Syrjl <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/2d2e30f8f47d3f28c9b74ca2612336a54585c3ec.1495105635.git.jani.nikula@intel.com
(cherry picked from commit b31e85eda38c58cae986162ae2c462b53b0a2065)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I27f904b25c2fed5dcdd9283b31e623abfb37b27d
Reviewed-on: https://chromium-review.googlesource.com/864890
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/250d58ec74cee41b4f22c66fe6aa84d083285f48/drivers/gpu/drm/i915/intel_display.c
[modify] https://crrev.com/250d58ec74cee41b4f22c66fe6aa84d083285f48/drivers/gpu/drm/i915/i915_drv.h
[modify] https://crrev.com/250d58ec74cee41b4f22c66fe6aa84d083285f48/drivers/gpu/drm/i915/intel_dp_mst.c
[modify] https://crrev.com/250d58ec74cee41b4f22c66fe6aa84d083285f48/drivers/gpu/drm/i915/intel_dp.c

Project Member

Comment 19 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/903e68156ca0e790e440f504a374715eca85d6b3

commit 903e68156ca0e790e440f504a374715eca85d6b3
Author: Jani Nikula <jani.nikula@intel.com>
Date: Thu Feb 08 12:01:48 2018

UPSTREAM: drm/i915/dp: reduce link M/N parameters

Several major vendor USB-C->HDMI converters, in particular the DA200,
fail to recover a 5.4 GHz 1 lane signal if the link N is greater than
0x80000.

The link M and N depend on the pixel clock and link clock ratio. With
current code link N exceeds 0x80000 only when link clock >= 540000
kHz. Except for the eDP intermediate link clocks, at least the four
least significant bits are always zero. Just one bit shift right would
be enough to bring even the DP 1.4 810000 kHz link clock under 0x80000
link N. The pixel clock for modes that require a link clock >= 540000
kHz would also have several least significant bits zero. Unless the user
provides a mode with an odd pixel clock value, we can reduce the numbers
to reach the goal, with no loss in precision.

The DP spec even mentions sources making choices that "allow for static
and relatively small Mvid and Nvid values", thus reducing the link M/N
regardless of the sink in question seems justified.

Everything here is based on the work and information gathered by Clint
Taylor <clinton.a.taylor@intel.com>. This is just an iteration to reduce
the parameters regardless of lane count, link rate, or sink.

BUG=b:66452192, chromium:707716 ,b:72666587
TEST=connect external monitor to Eve via DELL DA200
CQ-DEPEND=CL:903425

Reference: http://patchwork.freedesktop.org/patch/msgid/1490225256-11667-1-git-send-email-clinton.a.taylor@intel.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93578
Tested-by: Mads <mads@ab3.no>
Tested-by: PJ <foobar@pjmodos.net>
Tested-by: Franois Guerraz <kubrick@fgv6.net>
Tested-by: Lev Popov <leo@nabam.net>
Tested-by: Igor Krivenko <igor.s.krivenko@gmail.com>
Tested-by: Clint Taylor <clinton.a.taylor@intel.com>
Reviewed-by: Clint Taylor <clinton.a.taylor@intel.com>
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Clint Taylor <clinton.a.taylor@intel.com>
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Cc: Ville Syrjl <ville.syrjala@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1490614405-23337-1-git-send-email-jani.nikula@intel.com
(cherry picked from commit 9a86cda07af2c63649932f0a4fc757701ef54c42)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I31b26d46b7edbe47f6617bd4e12163f5c52121fa
Reviewed-on: https://chromium-review.googlesource.com/864886
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stphane Marchesin <marcheu@chromium.org>
Signed-off-by: Vincente Tsou <vincente.tsou@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/903424
Commit-Ready: Kaiyen Chang <kaiyen.chang@intel.com>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/903e68156ca0e790e440f504a374715eca85d6b3/drivers/gpu/drm/i915/intel_display.c

Project Member

Comment 20 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e496c1d537f2c2b205bdd5f47d99016e614c4b3a

commit e496c1d537f2c2b205bdd5f47d99016e614c4b3a
Author: Jani Nikula <jani.nikula@intel.com>
Date: Thu Feb 08 12:01:50 2018

UPSTREAM: drm/i915: Detect USB-C specific dongles before reducing M and N

The Analogix 7737 DP to HDMI converter requires reduced M and N values
when to operate correctly at HBR2. We tried to reduce the M/N values for
all devices in commit 9a86cda07af2 ("drm/i915/dp: reduce link M/N
parameters"), but that regressed some other sinks. Detect this IC by its
OUI value of 0x0022B9 via the DPCD quirk list, and only reduce the M/N
values for that.

v2 by Jani: Rebased on the DP quirk database

v3 by Jani: Rebased on the reworked DP quirk database

v4 by Jani: Improve commit message (Daniel)

BUG=b:66452192, chromium:707716 ,b:72666587
TEST=connect external monitor to Eve via DELL DA200
CQ-DEPEND=CL:903428

Fixes: 9a86cda07af2 ("drm/i915/dp: reduce link M/N parameters")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93578
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100755
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Cc: Ville Syrjl <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/2d2e30f8f47d3f28c9b74ca2612336a54585c3ec.1495105635.git.jani.nikula@intel.com
(cherry picked from commit b31e85eda38c58cae986162ae2c462b53b0a2065)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: I27f904b25c2fed5dcdd9283b31e623abfb37b27d
Reviewed-on: https://chromium-review.googlesource.com/864890
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stphane Marchesin <marcheu@chromium.org>
Signed-off-by: Vincente Tsou <vincente.tsou@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/903425
Commit-Ready: Kaiyen Chang <kaiyen.chang@intel.com>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/e496c1d537f2c2b205bdd5f47d99016e614c4b3a/drivers/gpu/drm/i915/intel_display.c
[modify] https://crrev.com/e496c1d537f2c2b205bdd5f47d99016e614c4b3a/drivers/gpu/drm/i915/i915_drv.h
[modify] https://crrev.com/e496c1d537f2c2b205bdd5f47d99016e614c4b3a/drivers/gpu/drm/i915/intel_dp_mst.c
[modify] https://crrev.com/e496c1d537f2c2b205bdd5f47d99016e614c4b3a/drivers/gpu/drm/i915/intel_dp.c

Project Member

Comment 21 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/449109dc9881f9e505de1f1ff125d020a2c7e953

commit 449109dc9881f9e505de1f1ff125d020a2c7e953
Author: Vincente Tsou <vincente.tsou@intel.com>
Date: Thu Feb 08 12:01:53 2018

BACKPORT: drm/dp: add helper for reading DP sink/branch device desc from DPCD

Backport: context differences.

BUG=b:66452192, chromium:707716 ,b:72666587
TEST=connect external monitor to Eve via DELL DA200
CQ-DEPEND=CL:903427

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/acba54da7d80eafea9e59a893e27e3c31028c0ba.1495105635.git.jani.nikula@intel.com
(cherry picked from commit 118b90f3f18e733c99f0e8b98ea31a815ffc4d14)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: If0d13f50723153ae8b62b3f65be8f7776f2dbadd
Reviewed-on: https://chromium-review.googlesource.com/864887
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stphane Marchesin <marcheu@chromium.org>
Signed-off-by: Vincente Tsou <vincente.tsou@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/903426
Commit-Ready: Kaiyen Chang <kaiyen.chang@intel.com>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/449109dc9881f9e505de1f1ff125d020a2c7e953/drivers/gpu/drm/drm_dp_helper.c
[modify] https://crrev.com/449109dc9881f9e505de1f1ff125d020a2c7e953/include/drm/drm_dp_helper.h

Project Member

Comment 22 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6e1158e5c96a7cafa9688db38ea19c4fdbdc589f

commit 6e1158e5c96a7cafa9688db38ea19c4fdbdc589f
Author: Jani Nikula <jani.nikula@intel.com>
Date: Thu Feb 08 12:01:55 2018

BACKPORT: drm/dp: start a DPCD based DP sink/branch device quirk database

Face the fact, there are Display Port sink and branch devices out there
in the wild that don't follow the Display Port specifications, or they
have bugs, or just otherwise require special treatment. Start a common
quirk database the drivers can query based on the DP device
identification. At least for now, we leave the workarounds for the
drivers to implement as they see fit.

For starters, add a branch device that can't handle full 24-bit main
link Mdiv and Ndiv main link attributes properly. Naturally, the
workaround of reducing main link attributes for all devices ended up in
regressions for other devices. So here we are.

v2: Rebase on DRM DP desc read helpers

v3: Fix the OUI memcmp blunder (Clint)

Backport: context conflicts.

BUG=b:66452192, chromium:707716 ,b:72666587
TEST=connect external monitor to Eve via DELL DA200
CQ-DEPEND=CL:903428

Cc: Ville Syrjl <ville.syrjala@linux.intel.com>
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Cc: Clint Taylor <clinton.a.taylor@intel.com>
Cc: Adam Jackson <ajax@redhat.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Tested-by: Clinton Taylor <clinton.a.taylor@intel.com>
Reviewed-by: Clinton Taylor <clinton.a.taylor@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> # v2
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/91ec198dd95258dbf3bee2f6be739e0da73b4fdd.1495105635.git.jani.nikula@intel.com
(cherry picked from commit 76fa998acd86b6b40d0217e12af39c2406bdcd2b)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: Id407f48f4ee6293c360ffac972105e1102f794ee
Reviewed-on: https://chromium-review.googlesource.com/864888
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stphane Marchesin <marcheu@chromium.org>
Signed-off-by: Vincente Tsou <vincente.tsou@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/903427
Commit-Ready: Kaiyen Chang <kaiyen.chang@intel.com>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/6e1158e5c96a7cafa9688db38ea19c4fdbdc589f/drivers/gpu/drm/drm_dp_helper.c
[modify] https://crrev.com/6e1158e5c96a7cafa9688db38ea19c4fdbdc589f/include/drm/drm_dp_helper.h

Project Member

Comment 23 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/cf970e38e9a36ae9f70ce91ff9dbda9bf37dc9be

commit cf970e38e9a36ae9f70ce91ff9dbda9bf37dc9be
Author: Jani Nikula <jani.nikula@intel.com>
Date: Thu Feb 08 12:01:57 2018

BACKPORT: drm/i915: use drm DP helper to read DPCD desc

Switch to using the common DP helpers instead of using our own.

v2: also remove leftover struct intel_dp_desc (Daniel)

Backport: conflict changes, missing intel_lpscon.c

BUG=b:66452192, chromium:707716 ,b:72666587
TEST=connect external monitor to Eve via DELL DA200

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
(cherry picked from commit 84c367533bd24108e5392b355280647a4a2893ac)
Signed-off-by: Dominik Behr <dbehr@chromium.org>

Change-Id: If4246b424b4b1183db9627c31ff231871e48d519
Reviewed-on: https://chromium-review.googlesource.com/864889
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Stphane Marchesin <marcheu@chromium.org>
Signed-off-by: Vincente Tsou <vincente.tsou@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/903428
Commit-Ready: Kaiyen Chang <kaiyen.chang@intel.com>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/cf970e38e9a36ae9f70ce91ff9dbda9bf37dc9be/drivers/gpu/drm/i915/intel_drv.h
[modify] https://crrev.com/cf970e38e9a36ae9f70ce91ff9dbda9bf37dc9be/drivers/gpu/drm/i915/intel_dp.c

Sign in to add a comment