mirror of
https://github.com/torvalds/linux.git
synced 2024-12-25 20:32:22 +00:00
drm/i915: Disable CPU underruns around eDP port and vdd enable on ILK-IVB
We sometimes get a spurious CPU pipe underrun somewhere between enabling port A and enabling vdd for the panel. Observed on both ILK and IVB with port A eDP. Suppress FIFO underrun reporting around the port and vdd enable to avoid the dmesg errors. Not sure if port D eDP would suffer from the same issue, but assume that it doesn't until proven differently. Testcase: igt/kms_setmode Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1448050160-14124-2-git-send-email-ville.syrjala@linux.intel.com Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
3860b2ecfc
commit
7864578a70
@ -2697,6 +2697,15 @@ static void intel_enable_dp(struct intel_encoder *encoder)
|
||||
if (IS_VALLEYVIEW(dev))
|
||||
vlv_init_panel_power_sequencer(intel_dp);
|
||||
|
||||
/*
|
||||
* We get an occasional spurious underrun between the port
|
||||
* enable and vdd enable, when enabling port A eDP.
|
||||
*
|
||||
* FIXME: Not sure if this applies to (PCH) port D eDP as well
|
||||
*/
|
||||
if (port == PORT_A)
|
||||
intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, false);
|
||||
|
||||
intel_dp_enable_port(intel_dp);
|
||||
|
||||
if (port == PORT_A && IS_GEN5(dev_priv)) {
|
||||
@ -2714,6 +2723,9 @@ static void intel_enable_dp(struct intel_encoder *encoder)
|
||||
edp_panel_on(intel_dp);
|
||||
edp_panel_vdd_off(intel_dp, true);
|
||||
|
||||
if (port == PORT_A)
|
||||
intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, true);
|
||||
|
||||
pps_unlock(intel_dp);
|
||||
|
||||
if (IS_VALLEYVIEW(dev)) {
|
||||
|
Loading…
Reference in New Issue
Block a user