Message ID | 20120806193125.GA25373@phenom.ffwll.local (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Daniel, nope, the hack didn't succeed. No apparent change. Francois On Tue 07 Aug 2012 05:31:25 EST, Daniel Vetter wrote: > On Mon, Aug 06, 2012 at 11:40:36PM +1000, Francois Rigaut wrote: >> Daniel, >> >> On Mon, Aug 6, 2012 at 7:17 PM, Daniel Vetter <daniel@ffwll.ch >> <mailto:daniel@ffwll.ch>> wrote: >> >> On Mon, Aug 6, 2012 at 10:59 AM, Francois Rigaut <frigaut@gmail.com >> <mailto:frigaut@gmail.com>> wrote: >> > Daniel, >> > >> > >> > my bad for the dmesg. It's there: >> > >> http://maumae.net/retina/intel_corrupted_drm_debug/dmesg_intel_corrupted_drm_debug >> > >> > I took pictures with a camera, and uploaded them at >> > Small 800x600 versions: >> > >> http://maumae.net/retina/intel_corrupted_drm_debug/intel_corrupted_upper_left_small.jpg >> > >> http://maumae.net/retina/intel_corrupted_drm_debug/intel_corrupted_upper_right_small.jpg >> > >> <http://maumae.net/retina/intel_corrupted_drm_debug/intel_corrupted_upper_left_small.jpg> >> > >> http://maumae.net/retina/intel_corrupted_drm_debug/intel_corrupted_whole_screen_small.jpg >> > >> <http://maumae.net/retina/intel_corrupted_drm_debug/intel_corrupted_upper_left_small.jpg> >> > full resolution versions: >> > >> http://maumae.net/retina/intel_corrupted_drm_debug/intel_corrupted_upper_left.jpg >> > >> <http://maumae.net/retina/intel_corrupted_drm_debug/intel_corrupted_upper_left_small.jpg> >> > >> http://maumae.net/retina/intel_corrupted_drm_debug/intel_corrupted_upper_right.jpg >> > >> <http://maumae.net/retina/intel_corrupted_drm_debug/intel_corrupted_upper_left_small.jpg> >> > >> http://maumae.net/retina/intel_corrupted_drm_debug/intel_corrupted_whole_screen.jpg >> > >> <http://maumae.net/retina/intel_corrupted_drm_debug/intel_corrupted_upper_left_small.jpg> >> > >> > Otherwise, the display works and behave normally (it's not >> static, doesn't >> > flicker). I can interact normally with the GUI element, display >> stuff, it's >> > accelerated (I run compiz and window wiggle normally, I can play >> videos, I >> > have control of backlight, etc). >> >> Wow, that's a pretty impressive light-show ;-) Are the wrong colors >> always wrong in this manner, or does it change from boot to boot? >> >> >> everything (color and sync) are always wrong in the same manner. >> >> the last git version of intel_reg_dumper gives me: >> with i915 loaded: >> http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded >> with i915.die=1: >> http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_not_loaded > > Can you please try the below quick hack. If that doesn't cut it, I need to > improve the reg_dumper tool first, the efi firmware sets things up on pipe > C, which we currently don't dump. > -Daniel > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 0a56b9a..d7462da 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -920,9 +920,9 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, > /* Split out the IBX/CPU vs CPT settings */ > > if (is_cpu_edp(intel_dp) && IS_GEN7(dev)) { > - if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) > + //if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) > intel_dp->DP |= DP_SYNC_HS_HIGH; > - if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) > + //if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) > intel_dp->DP |= DP_SYNC_VS_HIGH; > intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT;
On Tue, Aug 07, 2012 at 06:08:51PM +1000, Francois Rigaut wrote: > Daniel, > > nope, the hack didn't succeed. No apparent change. Ok, I've updated the reg_dumper to also dump the registers for pipe C. Can you please update your intel-gpu-tools checkout and then grab a new register dump for both i915 loaded and not loaded? To make comparing easier, please switch the panel to pipe C when i915 is loaded with $ xrandr --output eDP1 --auto --crtc 2 that way the register dumps are much easier to compare. Thanks, Daniel
Daniel, ok, updated intel-gpu-tools and dumped the various config. Unfortunately, X froze when I tried the to switch to pipe C (--crtc 2). I have three dumps with the various config: http://maumae.net/retina/intel_corrupted_drm_debug/ird_inteldie << that's with i915.die=1 http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_notC_inX << that's with i915 loaded, within X, and not switched to pipe C (had restarted X after the freeze mentionned above) http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_from_fb << that with i915 loaded, switch to pipe C (probably not working) and done in a console (the freeze didn't affect the keyboard so I was able to switch VT). Probably not very useful. Hope that helps, Thanks, Francois On Tue 07 Aug 2012 22:53:42 EST, Daniel Vetter wrote: > On Tue, Aug 07, 2012 at 06:08:51PM +1000, Francois Rigaut wrote: >> Daniel, >> >> nope, the hack didn't succeed. No apparent change. > > Ok, I've updated the reg_dumper to also dump the registers for pipe C. Can > you please update your intel-gpu-tools checkout and then grab a new > register dump for both i915 loaded and not loaded? > > To make comparing easier, please switch the panel to pipe C when i915 is > loaded with > > $ xrandr --output eDP1 --auto --crtc 2 > > that way the register dumps are much easier to compare. > > Thanks, Daniel
On Wed, Aug 08, 2012 at 12:17:50AM +1000, Francois Rigaut wrote: > Daniel, > > ok, updated intel-gpu-tools and dumped the various config. > Unfortunately, X froze when I tried the to switch to pipe C (--crtc > 2). I have three dumps with the various config: > > http://maumae.net/retina/intel_corrupted_drm_debug/ird_inteldie << > that's with i915.die=1 > > http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_notC_inX > << that's with i915 loaded, within X, and not switched to pipe C > (had restarted X after the freeze mentionned above) > > http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_from_fb > << that with i915 loaded, switch to pipe C (probably not working) > and done in a console (the freeze didn't affect the keyboard so I > was able to switch VT). Probably not very useful. Hm, is there anything in dmesg/Xorg.log about this freeze when you switch to pipe C? Can you try to connect gbd to X and grab a backtrace to figure out where it is stuck (note: don't vt-switch when gdb is connected to X, it sends a signal to X, which gdb intercepts and then stops X, resulting in a hung vt-switch ...)? -Daniel
On Wed, Aug 08, 2012 at 12:17:50AM +1000, Francois Rigaut wrote: > Daniel, > > ok, updated intel-gpu-tools and dumped the various config. > Unfortunately, X froze when I tried the to switch to pipe C (--crtc > 2). I have three dumps with the various config: > > http://maumae.net/retina/intel_corrupted_drm_debug/ird_inteldie << > that's with i915.die=1 > > http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_notC_inX > << that's with i915 loaded, within X, and not switched to pipe C > (had restarted X after the freeze mentionned above) > > http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_from_fb > << that with i915 loaded, switch to pipe C (probably not working) > and done in a console (the freeze didn't affect the keyboard so I > was able to switch VT). Probably not very useful. Pardon me but I've fumbled the pipe C reg dumping patch. Can you please regrab with an update intel-gpu-tools (now it should work)? Thanks, Daniel
Daniel, On 08/08/12 02:19, Daniel Vetter wrote: > On Wed, Aug 08, 2012 at 12:17:50AM +1000, Francois Rigaut wrote: >> Daniel, >> >> ok, updated intel-gpu-tools and dumped the various config. >> Unfortunately, X froze when I tried the to switch to pipe C (--crtc >> 2). I have three dumps with the various config: >> >> http://maumae.net/retina/intel_corrupted_drm_debug/ird_inteldie << >> that's with i915.die=1 >> >> http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_notC_inX >> << that's with i915 loaded, within X, and not switched to pipe C >> (had restarted X after the freeze mentionned above) >> >> http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_from_fb >> << that with i915 loaded, switch to pipe C (probably not working) >> and done in a console (the freeze didn't affect the keyboard so I >> was able to switch VT). Probably not very useful. > Pardon me but I've fumbled the pipe C reg dumping patch. Can you please > regrab with an update intel-gpu-tools (now it should work)? no worries. I have regrab the reg_dumps (intel-gpu-tools updated and re-built) with the same restrictions (xrandr --crtc2 freezes X so I did not attempt it): http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_inX_take2 i915 loaded, reg_dump done within X, no-pipeC. http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_not_loaded_take2 obtained from the console with i915 not loaded (i915.die=1). Let me know. Thanks, Francois > > Thanks, Daniel
On Wed, Aug 08, 2012 at 10:35:53PM +1000, Francois Rigaut wrote: > Daniel, > > On 08/08/12 02:19, Daniel Vetter wrote: > >On Wed, Aug 08, 2012 at 12:17:50AM +1000, Francois Rigaut wrote: > >>Daniel, > >> > >>ok, updated intel-gpu-tools and dumped the various config. > >>Unfortunately, X froze when I tried the to switch to pipe C (--crtc > >>2). I have three dumps with the various config: > >> > >>http://maumae.net/retina/intel_corrupted_drm_debug/ird_inteldie << > >>that's with i915.die=1 > >> > >>http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_notC_inX > >><< that's with i915 loaded, within X, and not switched to pipe C > >>(had restarted X after the freeze mentionned above) > >> > >>http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_from_fb > >><< that with i915 loaded, switch to pipe C (probably not working) > >>and done in a console (the freeze didn't affect the keyboard so I > >>was able to switch VT). Probably not very useful. > >Pardon me but I've fumbled the pipe C reg dumping patch. Can you please > >regrab with an update intel-gpu-tools (now it should work)? > no worries. I have regrab the reg_dumps (intel-gpu-tools updated and > re-built) with the same restrictions (xrandr --crtc2 freezes X so I > did not attempt it): > > http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_loaded_inX_take2 > i915 loaded, reg_dump done within X, no-pipeC. > > http://maumae.net/retina/intel_corrupted_drm_debug/ird_i915_not_loaded_take2 > > obtained from the console with i915 not loaded (i915.die=1). Sorry to pester you again, but this time around I've forgotten to actually push out the new code, it's still without pipe C :( "tools/reg_dumper: really dump pipe C regs" is the patch you need. Can you please re-grab the dumps? Sorry, Daniel
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 0a56b9a..d7462da 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -920,9 +920,9 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, /* Split out the IBX/CPU vs CPT settings */ if (is_cpu_edp(intel_dp) && IS_GEN7(dev)) { - if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) + //if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) intel_dp->DP |= DP_SYNC_HS_HIGH; - if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) + //if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) intel_dp->DP |= DP_SYNC_VS_HIGH; intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT; -- Daniel Vetter