Re: linux-next: Tree for Aug 13 [ screen corruption in graphical mode ]

From: Sedat Dilek
Date: Tue Aug 13 2013 - 16:52:56 EST


On Tue, Aug 13, 2013 at 10:33 PM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
> On Tue, Aug 13, 2013 at 10:25 PM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
>> On Tue, Aug 13, 2013 at 10:20 PM, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote:
>>> On Tue, Aug 13, 2013 at 10:16:10PM +0200, Sedat Dilek wrote:
>>>> On Tue, Aug 13, 2013 at 10:10 PM, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote:
>>>> > On Tue, Aug 13, 2013 at 09:05:41PM +0200, Sedat Dilek wrote:
>>>> >> On Tue, Aug 13, 2013 at 8:53 PM, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote:
>>>> >> > On Tue, Aug 13, 2013 at 08:40:37PM +0200, Sedat Dilek wrote:
>>>> >> >> On Tue, Aug 13, 2013 at 8:01 PM, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote:
>>>> >> >> > On Tue, Aug 13, 2013 at 07:53:25PM +0200, Sedat Dilek wrote:
>>>> >> >> >> Files attached.
>>>> >> >> >
>>>> >> >> > Can you also please attach a full dmesg so I can check for anything
>>>> >> >> > unusual?
>>>> >> >> >
>>>> >> >
>>>> >> > Nothing scarred me on a couple of read throughs.
>>>> >> >
>>>> >> > What happens if you try:
>>>> >> >
>>>> >> > diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
>>>> >> > index 112c5e1..9828d9b 100644
>>>> >> > --- a/drivers/gpu/drm/i915/i915_gem_stolen.c
>>>> >> > +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
>>>> >> > @@ -284,7 +284,7 @@ i915_gem_object_create_stolen(struct drm_device *dev, u32 size)
>>>> >> > return NULL;
>>>> >> >
>>>> >> > ret = drm_mm_insert_node(&dev_priv->mm.stolen, stolen, size,
>>>> >> > - 4096, DRM_MM_SEARCH_DEFAULT);
>>>> >> > + 1024*1024, DRM_MM_SEARCH_DEFAULT);
>>>> >> > if (ret) {
>>>> >> > kfree(stolen);
>>>> >> > return NULL;
>>>> >> >
>>>> >> > --
>>>> >>
>>>> >> Now, 2/3 till 3/4 of my LightDM greeter screen is a black bar (seen
>>>> >> from the top).
>>>> >> On the bottom I can read "Ubuntu 12.04 LTS" with the known background.
>>>> >> So-to-say 3/4 "blind".
>>>> >
>>>> > That implies that the scanout is always reading from the base of stolen.
>>>> > Can you grab intel_reg_dumper so that I can check what values the
>>>> > transcoder is set to?
>>>> >
>>>> > At the moment, I am guessing that the display never sees the updated
>>>> > surface offset and so persists with the value programmed by the BIOS -
>>>> > which will be 0 and set to the base of stolen memory in the GTT. A
>>>> > drm.debug=6 dmesg would help here as well.
>>>> >
>>>> > If you forced a mode change, I think that too would restore the output.
>>>>
>>>> With which kernel? Vanilla next-20130813? With any of your patches?
>>>
>>> Any but the working one ;-)
>>
>> Damn Gmail, they switched again the UI, f***.
>>
>> This is d-i-n with Revert "drm/i915: Allocate LLC ringbuffers from
>> stolen" <--- "working one" (no screen corruptions).
>>
>> - Sedat -
>
> Vanilla next-20130813 after 1st login and logout-unity2d-plus-relogin-lightdm.
> The diff might be interesting as the 2nd login makes the issue go away.
>

intel_reg_dumper output attached.

- Sedat -
PGETBL_CTL: 0x00000000
GEN6_INSTDONE_1: 0xfffffffe
GEN6_INSTDONE_2: 0xffffffff
CPU_VGACNTRL: 0x80000000 (disabled)
DIGITAL_PORT_HOTPLUG_CNTRL: 0x00000000
RR_HW_CTL: 0x00000000 (low 0, high 0)
FDI_PLL_BIOS_0: 0xffffffff
FDI_PLL_BIOS_1: 0xffffffff
FDI_PLL_BIOS_2: 0xffffffff
DISPLAY_PORT_PLL_BIOS_0: 0xffffffff
DISPLAY_PORT_PLL_BIOS_1: 0xffffffff
DISPLAY_PORT_PLL_BIOS_2: 0xffffffff
FDI_PLL_FREQ_CTL: 0xffffffff
PIPEACONF: 0xc0000000 (enabled, active, pf-pd, rotate 0, 8bpc)
HTOTAL_A: 0x05cd0555 (1366 active, 1486 total)
HBLANK_A: 0x05cd0555 (1366 start, 1486 end)
HSYNC_A: 0x05a50585 (1414 start, 1446 end)
VTOTAL_A: 0x031702ff (768 active, 792 total)
VBLANK_A: 0x031702ff (768 start, 792 end)
VSYNC_A: 0x03060301 (770 start, 775 end)
VSYNCSHIFT_A: 0x00000000
PIPEASRC: 0x055502ff (1366, 768)
PIPEA_DATA_M1: 0x7e32468a (TU 64, val 0x32468a 3294858)
PIPEA_DATA_N1: 0x00400000 (val 0x400000 4194304)
PIPEA_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
PIPEA_DATA_N2: 0x00000000 (val 0x0 0)
PIPEA_LINK_M1: 0x00021845 (val 0x21845 137285)
PIPEA_LINK_N1: 0x00080000 (val 0x80000 524288)
PIPEA_LINK_M2: 0x00000000 (val 0x0 0)
PIPEA_LINK_N2: 0x00000000 (val 0x0 0)
DSPACNTR: 0xd8004400 (enabled)
DSPABASE: 0x00000000
DSPASTRIDE: 0x00001600 (88)
DSPASURF: 0x0047a000
DSPATILEOFF: 0x00000000 (0, 0)
PIPEBCONF: 0x00000000 (disabled, inactive, pf-pd, rotate 0, 8bpc)
HTOTAL_B: 0x00000000 (1 active, 1 total)
HBLANK_B: 0x00000000 (1 start, 1 end)
HSYNC_B: 0x00000000 (1 start, 1 end)
VTOTAL_B: 0x00000000 (1 active, 1 total)
VBLANK_B: 0x00000000 (1 start, 1 end)
VSYNC_B: 0x00000000 (1 start, 1 end)
VSYNCSHIFT_B: 0x00000000
PIPEBSRC: 0x00000000 (1, 1)
PIPEB_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
PIPEB_DATA_N1: 0x00000000 (val 0x0 0)
PIPEB_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
PIPEB_DATA_N2: 0x00000000 (val 0x0 0)
PIPEB_LINK_M1: 0x00000000 (val 0x0 0)
PIPEB_LINK_N1: 0x00000000 (val 0x0 0)
PIPEB_LINK_M2: 0x00000000 (val 0x0 0)
PIPEB_LINK_N2: 0x00000000 (val 0x0 0)
DSPBCNTR: 0x00004000 (disabled)
DSPBBASE: 0x00000000
DSPBSTRIDE: 0x00000000 (0)
DSPBSURF: 0x00000000
DSPBTILEOFF: 0x00000000 (0, 0)
PIPECCONF: 0x00000000 (disabled, inactive, pf-pd, rotate 0, 8bpc)
HTOTAL_C: 0x00000000 (1 active, 1 total)
HBLANK_C: 0x00000000 (1 start, 1 end)
HSYNC_C: 0x00000000 (1 start, 1 end)
VTOTAL_C: 0x00000000 (1 active, 1 total)
VBLANK_C: 0x00000000 (1 start, 1 end)
VSYNC_C: 0x00000000 (1 start, 1 end)
VSYNCSHIFT_C: 0x00000000
PIPECSRC: 0x00000000 (1, 1)
PIPEC_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
PIPEC_DATA_N1: 0x00000000 (val 0x0 0)
PIPEC_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
PIPEC_DATA_N2: 0x00000000 (val 0x0 0)
PIPEC_LINK_M1: 0x00000000 (val 0x0 0)
PIPEC_LINK_N1: 0x00000000 (val 0x0 0)
PIPEC_LINK_M2: 0x00000000 (val 0x0 0)
PIPEC_LINK_N2: 0x00000000 (val 0x0 0)
DSPCCNTR: 0x00000000 (disabled)
DSPCBASE: 0x00000000
DSPCSTRIDE: 0x00000000 (0)
DSPCSURF: 0x00000000
DSPCTILEOFF: 0x00000000 (0, 0)
PFA_CTL_1: 0x00000000 (disable, auto_scale yes, auto_scale_cal no, v_filter enable, vadapt disable, mode least, filter_sel programmed,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
PFA_CTL_2: 0x00007e80 (vscale 0.988281)
PFA_CTL_3: 0x00003f40 (vscale initial phase 0.494141)
PFA_CTL_4: 0x00007d54 (hscale 0.979126)
PFA_WIN_POS: 0x00000000 (0, 0)
PFA_WIN_SIZE: 0x00000000 (0, 0)
PFB_CTL_1: 0x00000000 (disable, auto_scale yes, auto_scale_cal no, v_filter enable, vadapt disable, mode least, filter_sel programmed,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
PFB_CTL_2: 0x00000000 (vscale 0.000000)
PFB_CTL_3: 0x00000000 (vscale initial phase 0.000000)
PFB_CTL_4: 0x00000000 (hscale 0.000000)
PFB_WIN_POS: 0x00000000 (0, 0)
PFB_WIN_SIZE: 0x00000000 (0, 0)
PFC_CTL_1: 0x00000000 (disable, auto_scale yes, auto_scale_cal no, v_filter enable, vadapt disable, mode least, filter_sel programmed,chroma pre-filter disable, vert3tap auto, v_inter_invert field 1)
PFC_CTL_2: 0x00000000 (vscale 0.000000)
PFC_CTL_3: 0x00000000 (vscale initial phase 0.000000)
PFC_CTL_4: 0x00000000 (hscale 0.000000)
PFC_WIN_POS: 0x00000000 (0, 0)
PFC_WIN_SIZE: 0x00000000 (0, 0)
PCH_DREF_CONTROL: 0x00001402 (cpu source disable, ssc_source enable, nonspread_source enable, superspread_source disable, ssc4_mode downspread, ssc1 enable, ssc4 disable)
PCH_RAWCLK_FREQ: 0x0000007d (FDL_TP1 timer 0.5us, FDL_TP2 timer 1.5us, freq 125)
PCH_DPLL_TMR_CFG: 0x0271186a
PCH_SSC4_PARMS: 0x01204860
PCH_SSC4_AUX_PARMS: 0x000029c5
PCH_DPLL_SEL: 0x00000008 (TransA DPLL enable (DPLL A), TransB DPLL disable (DPLL (null)))
PCH_DPLL_ANALOG_CTL: 0x00008000
PCH_DPLL_A: 0x88046004 (enable, sdvo high speed no, mode LVDS, p2 Div 14, FPA0 P1 3, FPA1 P1 3, refclk SSC, sdvo/hdmi mul 1)
PCH_DPLL_B: 0x04800080 (disable, sdvo high speed no, mode (null), p2 (null), FPA0 P1 8, FPA1 P1 8, refclk default 120Mhz, sdvo/hdmi mul 1)
PCH_FPA0: 0x00021007 (n = 2, m1 = 16, m2 = 7)
PCH_FPA1: 0x00021007 (n = 2, m1 = 16, m2 = 7)
PCH_FPB0: 0x00030d07 (n = 3, m1 = 13, m2 = 7)
PCH_FPB1: 0x00030d07 (n = 3, m1 = 13, m2 = 7)
TRANS_HTOTAL_A: 0x05cd0555 (1366 active, 1486 total)
TRANS_HBLANK_A: 0x05cd0555 (1366 start, 1486 end)
TRANS_HSYNC_A: 0x05a50585 (1414 start, 1446 end)
TRANS_VTOTAL_A: 0x031702ff (768 active, 792 total)
TRANS_VBLANK_A: 0x031702ff (768 start, 792 end)
TRANS_VSYNC_A: 0x03060301 (770 start, 775 end)
TRANS_VSYNCSHIFT_A: 0x00000000
TRANSA_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
TRANSA_DATA_N1: 0x00000000 (val 0x0 0)
TRANSA_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
TRANSA_DATA_N2: 0x00000000 (val 0x0 0)
TRANSA_DP_LINK_M1: 0x00000000 (val 0x0 0)
TRANSA_DP_LINK_N1: 0x00000000 (val 0x0 0)
TRANSA_DP_LINK_M2: 0x00000000 (val 0x0 0)
TRANSA_DP_LINK_N2: 0x00000000 (val 0x0 0)
TRANS_HTOTAL_B: 0x00000000 (1 active, 1 total)
TRANS_HBLANK_B: 0x00000000 (1 start, 1 end)
TRANS_HSYNC_B: 0x00000000 (1 start, 1 end)
TRANS_VTOTAL_B: 0x00000000 (1 active, 1 total)
TRANS_VBLANK_B: 0x00000000 (1 start, 1 end)
TRANS_VSYNC_B: 0x00000000 (1 start, 1 end)
TRANS_VSYNCSHIFT_B: 0x00000000
TRANSB_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
TRANSB_DATA_N1: 0x00000000 (val 0x0 0)
TRANSB_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
TRANSB_DATA_N2: 0x00000000 (val 0x0 0)
TRANSB_DP_LINK_M1: 0x00000000 (val 0x0 0)
TRANSB_DP_LINK_N1: 0x00000000 (val 0x0 0)
TRANSB_DP_LINK_M2: 0x00000000 (val 0x0 0)
TRANSB_DP_LINK_N2: 0x00000000 (val 0x0 0)
TRANS_HTOTAL_C: 0x00000000 (1 active, 1 total)
TRANS_HBLANK_C: 0x00000000 (1 start, 1 end)
TRANS_HSYNC_C: 0x00000000 (1 start, 1 end)
TRANS_VTOTAL_C: 0x00000000 (1 active, 1 total)
TRANS_VBLANK_C: 0x00000000 (1 start, 1 end)
TRANS_VSYNC_C: 0x00000000 (1 start, 1 end)
TRANS_VSYNCSHIFT_C: 0x00000000
TRANSC_DATA_M1: 0x00000000 (TU 1, val 0x0 0)
TRANSC_DATA_N1: 0x00000000 (val 0x0 0)
TRANSC_DATA_M2: 0x00000000 (TU 1, val 0x0 0)
TRANSC_DATA_N2: 0x00000000 (val 0x0 0)
TRANSC_DP_LINK_M1: 0x00000000 (val 0x0 0)
TRANSC_DP_LINK_N1: 0x00000000 (val 0x0 0)
TRANSC_DP_LINK_M2: 0x00000000 (val 0x0 0)
TRANSC_DP_LINK_N2: 0x00000000 (val 0x0 0)
TRANSACONF: 0xc0000000 (enable, active, progressive)
TRANSBCONF: 0x00000000 (disable, inactive, progressive)
TRANSCCONF: 0x00000000 (disable, inactive, progressive)
FDI_TXA_CTL: 0xb0044000 (enable, train pattern not train, voltage swing 0.4V,pre-emphasis 0dB, port width X1, enhanced framing enable, FDI PLL enable, scrambing enable, master mode disable)
FDI_TXB_CTL: 0x00040000 (disable, train pattern pattern_1, voltage swing 0.4V,pre-emphasis 0dB, port width X1, enhanced framing enable, FDI PLL disable, scrambing enable, master mode disable)
FDI_TXC_CTL: 0x00000000 (disable, train pattern pattern_1, voltage swing 0.4V,pre-emphasis 0dB, port width X1, enhanced framing disable, FDI PLL disable, scrambing enable, master mode disable)
FDI_RXA_CTL: 0x80002350 (enable, train pattern not train, port width X1, 8bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL enable,FS ecc disable, FE ecc disable, FS err report enable, FE err report enable,scrambing enable, enhanced framing enable, PCDClk)
FDI_RXB_CTL: 0x00000040 (disable, train pattern pattern_1, port width X1, 8bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL disable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, RawClk)
FDI_RXC_CTL: 0x00000040 (disable, train pattern pattern_1, port width X1, 8bpc,link_reverse_strap_overwrite no, dmi_link_reverse no, FDI PLL disable,FS ecc disable, FE ecc disable, FS err report disable, FE err report disable,scrambing enable, enhanced framing enable, RawClk)
DPAFE_BMFUNC: 0x8e97861c
DPAFE_DL_IREFCAL0: 0x00000b6d
DPAFE_DL_IREFCAL1: 0x00000b6d
DPAFE_DP_IREFCAL: 0x00000965
PCH_DSPCLK_GATE_D: 0x100000a0
PCH_DSP_CHICKEN1: 0x00600000
PCH_DSP_CHICKEN2: 0x0260c000
PCH_DSP_CHICKEN3: 0x00000000
FDI_RXA_MISC: 0x00200090 (FDI Delay 144)
FDI_RXB_MISC: 0x00000080 (FDI Delay 128)
FDI_RXC_MISC: 0x00000080 (FDI Delay 128)
FDI_RXA_TUSIZE1: 0x7e000000
FDI_RXA_TUSIZE2: 0x7e000000
FDI_RXB_TUSIZE1: 0x7e000000
FDI_RXB_TUSIZE2: 0x7e000000
FDI_RXC_TUSIZE1: 0x7e000000
FDI_RXC_TUSIZE2: 0x7e000000
FDI_PLL_CTL_1: 0x7e000000
FDI_PLL_CTL_2: 0x7e000000
FDI_RXA_IIR: 0x00000000
FDI_RXA_IMR: 0x000008ff
FDI_RXB_IIR: 0x00000000
FDI_RXB_IMR: 0x000008ff
PCH_ADPA: 0x00f40000 (disabled, transcoder A, -hsync, -vsync)
HDMIB: 0x0000001c (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync detected)
HDMIC: 0x00000018 (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync non-detected)
HDMID: 0x00000018 (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync non-detected)
PCH_LVDS: 0x813003c2 (enabled, pipe A, 24 bit, 1 channel)
CPU_eDP_A: 0x00000018
PCH_DP_B: 0x00000004
PCH_DP_C: 0x00000000
PCH_DP_D: 0x00000000
TRANS_DP_CTL_A: 0x60000018 (disable port none 8bpc +vsync +hsync)
TRANS_DP_CTL_B: 0x60000018 (disable port none 8bpc +vsync +hsync)
TRANS_DP_CTL_C: 0x60000018 (disable port none 8bpc +vsync +hsync)
BLC_PWM_CPU_CTL2: 0x80000000
BLC_PWM_CPU_CTL: 0x000011ee
BLC_PWM_PCH_CTL1: 0x80000000
BLC_PWM_PCH_CTL2: 0x12281228
PCH_PP_STATUS: 0xc0000008 (on, ready, sequencing idle)
PCH_PP_CONTROL: 0xabcd0003 (blacklight disabled, power down on reset, panel on)
PCH_PP_ON_DELAYS: 0x01901388
PCH_PP_OFF_DELAYS: 0x012c1388
PCH_PP_DIVISOR: 0x00186905
PORT_DBG: 0x00000000 (HW DRRS off)
RC6_RESIDENCY_TIME: 0x3e77f3e0
RC6p_RESIDENCY_TIME: 0x00000000
RC6pp_RESIDENCY_TIME: 0x000ef0c8
GEN6_RP_CONTROL: 0x00000d91 (enabled)
GEN6_RPNSWREQ: 0x0e000000
GEN6_RP_DOWN_TIMEOUT: 0x000f4240
GEN6_RP_INTERRUPT_LIMITS: 0x17070000
GEN6_RP_UP_THRESHOLD: 0x0000e808
GEN6_RP_UP_EI: 0x000101d0
GEN6_RP_DOWN_EI: 0x00055730
GEN6_RP_IDLE_HYSTERSIS: 0x0000000a
GEN6_RC_STATE: 0x00000000
GEN6_RC_CONTROL: 0x88040000
GEN6_RC1_WAKE_RATE_LIMIT: 0x03e80000
GEN6_RC6_WAKE_RATE_LIMIT: 0x0028001e
GEN6_RC_EVALUATION_INTERVAL: 0x0001e848
GEN6_RC_IDLE_HYSTERSIS: 0x00000019
GEN6_RC_SLEEP: 0x00000000
GEN6_RC1e_THRESHOLD: 0x000003e8
GEN6_RC6_THRESHOLD: 0x0000c350
GEN6_RC_VIDEO_FREQ: 0x18000000
GEN6_PMIER: 0x00000070
GEN6_PMIMR: 0x00000000
GEN6_PMINTRMSK: 0x00000000