Forgot to mention, Ville: if you could get me an example of how to get vlv into an infinite loop with these patches I'd appreciate that. I haven't been able to reproduce this at all with the Valleyview machine I've got here.
On Fri, 2016-06-17 at 17:58 -0400, Lyude wrote:
These are a couple of patches intended to fix one of the big problems we have with a lot of chipsets on i915 right now: in the various forms of suspend we use in the driver, many of them break HPD while active and can lead to some seriously confusing situations where they can't get their monitors to turn on.
The patches here for fixing Valleyview need to be used with Ville Syrjälä's patchset for (partially?) preventing valleyview from getting in an infinite hpd detect loop when doing polling:
https://patchwork.freedesktop.org/series/5884/
It should also be noted some of these are resends, since the original patches never got picked up by patchwork
Lyude (3): drm/i915/vlv: Make intel_crt_reset() per-encoder drm/i915/vlv: Reset the ADPA in vlv_display_power_well_init() drm/i915: Enable polling when we don't have hpd
Cc: stable@vger.kernel.org Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Daniel Vetter daniel.vetter@intel.com
drivers/gpu/drm/i915/i915_drv.c | 7 +++- drivers/gpu/drm/i915/i915_drv.h | 3 ++ drivers/gpu/drm/i915/intel_crt.c | 10 ++--- drivers/gpu/drm/i915/intel_drv.h | 4 +- drivers/gpu/drm/i915/intel_hotplug.c | 69 ++++++++++++++++++++++++++++----- drivers/gpu/drm/i915/intel_runtime_pm.c | 10 +++++ 6 files changed, 86 insertions(+), 17 deletions(-)