On Fri, Jan 27, 2012 at 10:30 AM, Daniel Vetter daniel@ffwll.ch wrote:
On Wed, Jan 25, 2012 at 08:16:25AM -0800, Keith Packard wrote:
It is never correct to use intel_crtc->bpp in intel_dp_link_required, so instead pass an explicit bpp in to this function. This patch only supports 18bpp and 24bpp modes, which means that 10bpc modes will be computed incorrectly. Fixing that will require more extensive changes, and so must be addressed separately from this bugfix.
intel_dp_link_required is called from intel_dp_mode_valid and intel_dp_mode_fixup.
- intel_dp_mode_valid is called to list supported modes; in this case,
the current crtc values cannot be relevant as the modes in question may never be selected. Thus, using intel_crtc->bpp is never right.
- intel_dp_mode_fixup is called during mode setting, but it is run
well before ironlake_crtc_mode_set is called to set intel_crtc->bpp, so using intel_crtc-bpp in this path can only ever get a stale value.
Cc: Lubos Kolouch lubos.kolouch@gmail.com Cc: Adam Jackson ajax@redhat.com Signed-off-by: Keith Packard keithp@keithp.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42263 Tested-by: camalot@picnicpark.org (Dell Latitude 6510)
Not the original reporter and might not exactly be this bug, but likely. -Daniel
Tested-by: Dave Airlie airlied@redhat.com
Without this patch the eDP panel on my HP 2540p won't resume.
Please get this into -fixes and too me asap.
Dave.