Add patch to quiet i915 driver on long hdps
This commit is contained in:
parent
4cfebd637a
commit
d95ce40d26
|
@ -0,0 +1,54 @@
|
|||
From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
|
||||
Date: Fri, 28 Nov 2014 06:52:01 +1000
|
||||
Subject: [PATCH] drm/i915: Ignore long hpds on eDP ports
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Turning vdd on/off can generate a long hpd pulse on eDP ports. In order
|
||||
to handle hpd we would need to turn on vdd to perform aux transfers.
|
||||
This would lead to an endless cycle of
|
||||
"vdd off -> long hpd -> vdd on -> detect -> vdd off -> ..."
|
||||
|
||||
So ignore long hpd pulses on eDP ports. eDP panels should be physically
|
||||
tied to the machine anyway so they should not actually disappear and
|
||||
thus don't need long hpd handling. Short hpds are still needed for link
|
||||
re-train and whatnot so we can't just turn off the hpd interrupt
|
||||
entirely for eDP ports. Perhaps we could turn it off whenever the panel
|
||||
is disabled, but just ignoring the long hpd seems sufficient.
|
||||
|
||||
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
||||
Cc: stable@vger.kernel.org
|
||||
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
||||
Reviewed-by: Todd Previte <tprevite@gmail.com>
|
||||
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
|
||||
---
|
||||
drivers/gpu/drm/i915/intel_dp.c | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
|
||||
index cff7f2e04de2..a6fb06cc6cf0 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_dp.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_dp.c
|
||||
@@ -4082,6 +4082,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 %d - %s\n", intel_dig_port->port,
|
||||
long_hpd ? "long" : "short");
|
||||
|
||||
--
|
||||
1.9.3
|
||||
|
|
@ -744,6 +744,8 @@ Patch26072: drm-radeon-initialize-sadb-to-NULL-in-the-audio-code.patch
|
|||
#rhbz 1094048
|
||||
Patch26073: Input-xpad-use-proper-endpoint-type.patch
|
||||
|
||||
Patch26074: drm-i915-Ignore-long-hpds-on-eDP-ports.patch
|
||||
|
||||
# git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel
|
||||
Patch30000: kernel-arm64.patch
|
||||
|
||||
|
@ -1459,6 +1461,8 @@ ApplyPatch drm-radeon-initialize-sadb-to-NULL-in-the-audio-code.patch
|
|||
#rhbz 1094048
|
||||
ApplyPatch Input-xpad-use-proper-endpoint-type.patch
|
||||
|
||||
ApplyPatch drm-i915-Ignore-long-hpds-on-eDP-ports.patch
|
||||
|
||||
%if 0%{?aarch64patches}
|
||||
ApplyPatch kernel-arm64.patch
|
||||
%ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does.
|
||||
|
@ -2278,6 +2282,7 @@ fi
|
|||
# || ||
|
||||
%changelog
|
||||
* Mon Dec 01 2014 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
- Add patch to quiet i915 driver on long hdps
|
||||
- Add patch to fix oops when using xpad (rhbz 1094048)
|
||||
|
||||
* Thu Nov 27 2014 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
|
|
Loading…
Reference in New Issue