]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/bxt: Force port A DDI to use 4 lanes
authorMatt Roper <matthew.d.roper@intel.com>
Thu, 5 Nov 2015 22:53:32 +0000 (14:53 -0800)
committerMatt Roper <matthew.d.roper@intel.com>
Mon, 9 Nov 2015 18:33:02 +0000 (10:33 -0800)
commit5532ea6b2345f4d91fce902b980f11f71bd6d7d3
tree0ce010d7723297df9f2f47c9f8e163f879c34cba
parent191fd73641e256d6b50c6ab4b2fd325e9a1e04d7
drm/i915/bxt: Force port A DDI to use 4 lanes

The bspec indicates that DDI A using four lanes is the only valid
configuration for Broxton (Broxton doesn't have a DDI E to split these
lanes with); the DDI_A_4_LANES bit of port A's DDI_BUF_CTL should always
be set by the BIOS.  However some BIOS versions seem to only be setting
this bit if eDP is actually lit up at boot time; if the BIOS doesn't
turn on the eDP panel because an external display is plugged in, then
this bit is never properly initialized.  The end result of this is that
we wind up calculating a lower max data rate than we should and may wind
up rejecting the native mode for panels that we should be able to drive.

Let's workaround this BIOS bug by just turning the DDI_A_4_LANES bit on
in our driver's internal state if we recognize that we're running on BXT
where it should have been on anyway.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Bob Paauwe <bob.j.paauwe@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com>
Tested-by: Bob Paauwe <bob.j.paauwe@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1446764012-27251-1-git-send-email-matthew.d.roper@intel.com
drivers/gpu/drm/i915/intel_ddi.c