<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:jbarnes@virtuousgeek.org" title="Jesse Barnes <jbarnes@virtuousgeek.org>"> <span class="fn">Jesse Barnes</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO - [BYT] No HDMI hotplugging"
href="https://bugs.freedesktop.org/show_bug.cgi?id=89008">bug 89008</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEW
</td>
<td>NEEDINFO
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO - [BYT] No HDMI hotplugging"
href="https://bugs.freedesktop.org/show_bug.cgi?id=89008#c17">Comment # 17</a>
on <a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO - [BYT] No HDMI hotplugging"
href="https://bugs.freedesktop.org/show_bug.cgi?id=89008">bug 89008</a>
from <span class="vcard"><a class="email" href="mailto:jbarnes@virtuousgeek.org" title="Jesse Barnes <jbarnes@virtuousgeek.org>"> <span class="fn">Jesse Barnes</span></a>
</span></b>
<pre>There's probably a nicer way to do this, but it seems like preserving HPD
behavior by default is the right thing to do. Having a runtime way to disable
it would be nice though, or a config option, so if your userspace can handle
the polling we could allow the DISP2D power well to shut down.
Egbert, can you give it a try?
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 92f8300..1ffeef2 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2441,6 +2441,7 @@ struct i915_params {
bool mmio_debug;
bool verbose_state_checks;
bool nuclear_pageflip;
+ bool keep_hpd_enabled;
};
extern struct i915_params i915 __read_mostly;
diff --git a/drivers/gpu/drm/i915/i915_params.c
b/drivers/gpu/drm/i915/i915_params.c
index 44f2262..48acf4b 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -53,6 +53,7 @@ struct i915_params i915 __read_mostly = {
.mmio_debug = 0,
.verbose_state_checks = 1,
.nuclear_pageflip = 0,
+ .keep_hpd_enabled = 1,
};
module_param_named(modeset, i915.modeset, int, 0400);
@@ -183,3 +184,6 @@ MODULE_PARM_DESC(verbose_state_checks,
module_param_named_unsafe(nuclear_pageflip, i915.nuclear_pageflip, bool,
0600);
MODULE_PARM_DESC(nuclear_pageflip,
"Force atomic modeset functionality; only planes work for now
(default: false).");
+
+module_param_named(keep_hpd_enabled, i915.keep_hpd_enabled, bool, 0600);
+MODULE_PARM_DESC(keep_hpd_enabled, "Keep hotplug detection enabled (costs some
power) (default: true)");
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c
b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 6d8e29a..1d45609 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -544,6 +544,9 @@ static void vlv_display_power_well_disable(struct
drm_i915_private *dev_priv,
{
WARN_ON_ONCE(power_well->data != PUNIT_POWER_WELL_DISP2D);
+ if (i915.keep_hpd_enabled)
+ return;
+
spin_lock_irq(&dev_priv->irq_lock);
valleyview_disable_display_irqs(dev_priv);
spin_unlock_irq(&dev_priv->irq_lock);</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>