Merge tag 'drm-intel-fixes-2014-11-19' into drm-intel-next-queued
So with all the code movement and extraction in intel_pm.c in -next
git is hopelessly confused with
commit 2208d655a9
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Fri Nov 14 09:25:29 2014 +0100
drm/i915: drop WaSetupGtModeTdRowDispatch:snb
from -fixes. Worse even small changes in -next move around the
conflict context so rerere is equally useless. Let's just backmerge
and be done with it.
Conflicts:
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/intel_pm.c
Except for git getting lost no tricky conflicts really.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cette révision appartient à :
@@ -2649,6 +2649,13 @@ intel_dp_dpcd_read_wake(struct drm_dp_aux *aux, unsigned int offset,
|
||||
ssize_t ret;
|
||||
int i;
|
||||
|
||||
/*
|
||||
* Sometime we just get the same incorrect byte repeated
|
||||
* over the entire buffer. Doing just one throw away read
|
||||
* initially seems to "solve" it.
|
||||
*/
|
||||
drm_dp_dpcd_read(aux, DP_DPCD_REV, buffer, 1);
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
ret = drm_dp_dpcd_read(aux, offset, buffer, size);
|
||||
if (ret == size)
|
||||
@@ -3593,9 +3600,10 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
|
||||
}
|
||||
}
|
||||
|
||||
/* Training Pattern 3 support */
|
||||
/* Training Pattern 3 support, both source and sink */
|
||||
if (intel_dp->dpcd[DP_DPCD_REV] >= 0x12 &&
|
||||
intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED) {
|
||||
intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED &&
|
||||
(IS_HASWELL(dev_priv) || INTEL_INFO(dev_priv)->gen >= 8)) {
|
||||
intel_dp->use_tps3 = true;
|
||||
DRM_DEBUG_KMS("Displayport TPS3 supported\n");
|
||||
} else
|
||||
@@ -4419,6 +4427,18 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd)
|
||||
if (intel_dig_port->base.type != INTEL_OUTPUT_EDP)
|
||||
intel_dig_port->base.type = INTEL_OUTPUT_DISPLAYPORT;
|
||||
|
||||
if (long_hpd && intel_dig_port->base.type == INTEL_OUTPUT_EDP) {
|
||||
/*
|
||||
* vdd off can generate a long pulse on eDP which
|
||||
* would require vdd on to handle it, and thus we
|
||||
* would end up in an endless cycle of
|
||||
* "vdd off -> long hpd -> vdd on -> detect -> vdd off -> ..."
|
||||
*/
|
||||
DRM_DEBUG_KMS("ignoring long hpd on eDP port %c\n",
|
||||
port_name(intel_dig_port->port));
|
||||
return false;
|
||||
}
|
||||
|
||||
DRM_DEBUG_KMS("got hpd irq on port %c - %s\n",
|
||||
port_name(intel_dig_port->port),
|
||||
long_hpd ? "long" : "short");
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur