Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: >> switch to mode 1920x1200@60.0 on pipe 0 using HDMI1, position (2176, 7), rotation normal >> >> Now I scroll down 1 pixel: >> switch to mode 1920x1200@60.0 on pipe 0 using HDMI1, position (2176, 8), rotation normal >> >> and immediately screen isn't updated correctly. For example, an >> application window is created normally, but when I move it (the app >> window) down, the top part of the window, max 8 pixels, is left on the >> screen (the moved window is ok). It almost looks like the code somewhere >> adds the vertical screen offset twice. > > 8 is significant as it is the tile row height. The kernel tries to be > smart and extract the panning from the surface address so that we can > display a larger virtual framebuffer than the hardware can actually use. > > Can you reproduce the about sequence with drm.debug=6 dmesg (i.e. > echo 6 > /sys/module/drm/parameters/debug ; xrandr --panning... ; > dmesg)? I'm panning with the mouse. Doesn't look like a lot of output: no problem yet: [617996.928] (II) intel(0): switch to mode 1920x1200@60.0 on pipe 0 using HDMI1, position (2176, 7), rotation normal [618556.836459] [drm:drm_mode_setcrtc], [CRTC:3] [618556.836472] [drm:drm_mode_setcrtc], [CONNECTOR:12:HDMI-A-1] [618556.836478] [drm:intel_crtc_set_config], [CRTC:3] [FB:55] #connectors=1 (x y) (2176 7) [618556.836484] [drm:intel_set_config_compute_mode_changes], computed changes for [CRTC:3], mode_changed=0, fb_changed=1 [618556.836489] [drm:intel_modeset_stage_output_state], [CONNECTOR:12:HDMI-A-1] to [CRTC:3] [618556.836500] [drm:ironlake_update_plane], Writing base 013CA000 0000D200 0 7 16384 [618556.836511] [drm:i915_setup_compression], reserved 39583744 bytes of contiguous stolen space for FBC [618556.836515] [drm:intel_update_fbc], disabling active FBC for update [618556.836520] [drm:ironlake_disable_fbc], disabled FBC [618556.836594] [drm:intel_crtc_cursor_set], cursor off [618556.885876] [drm:gen7_enable_fbc], enabled fbc on plane A [618565.988566] [drm:intel_crtc_cursor_set], cursor off problems: [618016.920] (II) intel(0): switch to mode 1920x1200@60.0 on pipe 0 using HDMI1, position (2176, 8), rotation normal [618576.846085] [drm:drm_mode_setcrtc], [CRTC:3] [618576.846094] [drm:drm_mode_setcrtc], [CONNECTOR:12:HDMI-A-1] [618576.846098] [drm:intel_crtc_set_config], [CRTC:3] [FB:55] #connectors=1 (x y) (2176 8) [618576.846103] [drm:intel_set_config_compute_mode_changes], computed changes for [CRTC:3], mode_changed=0, fb_changed=1 [618576.846106] [drm:intel_modeset_stage_output_state], [CONNECTOR:12:HDMI-A-1] to [CRTC:3] [618576.846114] [drm:ironlake_update_plane], Writing base 013CA000 FFFFFFFFFFFF1200 0 0 16384 [618576.846122] [drm:i915_setup_compression], reserved 39583744 bytes of contiguous stolen space for FBC [618576.846125] [drm:intel_update_fbc], disabling active FBC for update [618576.846128] [drm:ironlake_disable_fbc], disabled FBC [618576.846181] [drm:intel_crtc_cursor_set], cursor off [618576.895986] [drm:gen7_enable_fbc], enabled fbc on plane A [618588.640637] [drm:intel_crtc_cursor_set], cursor off The kernel is a normal Fedora 20 - Linux 3.14.7-200.fc20.x86_64. The sequence: echo 6 > /sys/module/drm/parameters/debug; xrandr --output HDMI1 --panning 4096x2404; dmesg (i.e., only panning setup but no actual panning) produces: [619598.009625] [drm:drm_mode_getconnector], [CONNECTOR:9:?] [619598.009631] [drm:drm_helper_probe_single_connector_modes_merge_bits], [CONNECTOR:9:VGA-1] [619598.009634] [drm:intel_crt_detect], [CONNECTOR:9:VGA-1] force=1 [619598.009638] [drm:intel_ironlake_crt_detect_hotplug], ironlake hotplug adpa=0xf40000, result 0 [619598.009639] [drm:intel_crt_detect], CRT not detected via hotplug [619598.009807] [drm:gmbus_xfer], GMBUS [i915 gmbus vga] NAK for addr: 0050 r(1) [619598.009810] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter i915 gmbus vga [619598.009812] [drm:intel_crt_get_edid], CRT GMBUS EDID read failed, retry using GPIO bit-banging [619598.009814] [drm:intel_gmbus_force_bit], enabling bit-banging on i915 gmbus vga. force bit now 1 [619598.010186] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter i915 gmbus vga [619598.010188] [drm:intel_gmbus_force_bit], disabling bit-banging on i915 gmbus vga. force bit now 0 [619598.010189] [drm:intel_crt_detect_ddc], CRT not detected via DDC:0x50 [no valid EDID found] [619598.010191] [drm:drm_helper_probe_single_connector_modes_merge_bits], [CONNECTOR:9:VGA-1] disconnected [619598.010202] [drm:drm_mode_getconnector], [CONNECTOR:12:?] [619598.010204] [drm:drm_helper_probe_single_connector_modes_merge_bits], [CONNECTOR:12:HDMI-A-1] [619598.010208] [drm:intel_hdmi_detect], [CONNECTOR:12:HDMI-A-1] [619598.060006] [drm:drm_edid_to_eld], ELD monitor EA241WM [619598.060008] [drm:drm_edid_to_eld], ELD size 7, SAD count 0 [619598.060022] [drm:drm_helper_probe_single_connector_modes_merge_bits], [CONNECTOR:12:HDMI-A-1] probed modes : [619598.060024] [drm:drm_mode_debug_printmodeline], Modeline 21:"1920x1200" 60 154000 1920 1968 2000 2080 1200 1203 1209 1235 0x48 0x9 [619598.060025] [drm:drm_mode_debug_printmodeline], Modeline 26:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5 [the list of modes] [619598.060060] [drm:drm_mode_debug_printmodeline], Modeline 40:"720x400" 70 28320 720 738 846 900 400 412 414 449 0x40 0x6 [619598.060070] [drm:drm_mode_getconnector], [CONNECTOR:12:?] [619598.060087] [drm:drm_mode_getconnector], [CONNECTOR:16:?] [619598.060088] [drm:drm_helper_probe_single_connector_modes_merge_bits], [CONNECTOR:16:DP-1] [619598.060090] [drm:intel_dp_detect], [CONNECTOR:16:DP-1] [619598.060091] [drm:drm_helper_probe_single_connector_modes_merge_bits], [CONNECTOR:16:DP-1] disconnected [619598.060093] [drm:drm_mode_getconnector], [CONNECTOR:17:?] [619598.060094] [drm:drm_helper_probe_single_connector_modes_merge_bits], [CONNECTOR:17:HDMI-A-2] [619598.060095] [drm:intel_hdmi_detect], [CONNECTOR:17:HDMI-A-2] [619598.060270] [drm:gmbus_xfer], GMBUS [i915 gmbus dpc] NAK for addr: 0050 r(1) [619598.060271] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter i915 gmbus dpc [619598.060272] [drm:drm_helper_probe_single_connector_modes_merge_bits], [CONNECTOR:17:HDMI-A-2] disconnected [619598.060274] [drm:drm_mode_getconnector], [CONNECTOR:19:?] [619598.060275] [drm:drm_helper_probe_single_connector_modes_merge_bits], [CONNECTOR:19:HDMI-A-3] [619598.060276] [drm:intel_hdmi_detect], [CONNECTOR:19:HDMI-A-3] [619598.060453] [drm:gmbus_xfer], GMBUS [i915 gmbus dpd] NAK for addr: 0050 r(1) [619598.060453] [drm:drm_do_probe_ddc_edid], drm: skipping non-existent adapter i915 gmbus dpd [619598.060454] [drm:drm_helper_probe_single_connector_modes_merge_bits], [CONNECTOR:19:HDMI-A-3] disconnected [619598.066673] [drm:drm_mode_addfb], [FB:55] [619598.066687] [drm:drm_mode_setcrtc], [CRTC:3] [619598.066690] [drm:drm_mode_setcrtc], [CONNECTOR:12:HDMI-A-1] [619598.066691] [drm:intel_crtc_set_config], [CRTC:3] [FB:55] #connectors=1 (x y) (1394 0) [619598.066693] [drm:intel_set_config_compute_mode_changes], computed changes for [CRTC:3], mode_changed=0, fb_changed=1 [619598.066694] [drm:intel_modeset_stage_output_state], [CONNECTOR:12:HDMI-A-1] to [CRTC:3] [619598.082984] [drm:ironlake_update_plane], Writing base 013CA000 FFFFFFFFFFFF75C8 114 0 16384 [619598.092913] [drm:i915_setup_compression], reserved 39583744 bytes of contiguous stolen space for FBC [619598.092915] [drm:intel_update_fbc], disabling active FBC for update [619598.092916] [drm:ironlake_disable_fbc], disabled FBC [619598.093139] [drm:drm_mode_setcrtc], [CRTC:3] [619598.093141] [drm:drm_mode_setcrtc], [CONNECTOR:12:HDMI-A-1] [619598.093142] [drm:intel_crtc_set_config], [CRTC:3] [FB:55] #connectors=1 (x y) (2176 1204) [619598.093143] [drm:intel_set_config_compute_mode_changes], computed changes for [CRTC:3], mode_changed=0, fb_changed=1 [619598.093144] [drm:intel_modeset_stage_output_state], [CONNECTOR:12:HDMI-A-1] to [CRTC:3] [619598.093146] [drm:ironlake_update_plane], Writing base 013CA000 00001200 0 4 16384 [619598.093149] [drm:i915_setup_compression], reserved 39583744 bytes of contiguous stolen space for FBC [619598.093149] [drm:intel_cancel_fbc_work], cancelling pending FBC enable [619598.093236] [drm:drm_mode_setcrtc], [CRTC:3] [619598.093238] [drm:drm_mode_setcrtc], [CONNECTOR:12:HDMI-A-1] [619598.093238] [drm:intel_crtc_set_config], [CRTC:3] [FB:55] #connectors=1 (x y) (0 0) [619598.093239] [drm:intel_set_config_compute_mode_changes], computed changes for [CRTC:3], mode_changed=0, fb_changed=1 [619598.093240] [drm:intel_modeset_stage_output_state], [CONNECTOR:12:HDMI-A-1] to [CRTC:3] [619598.093242] [drm:ironlake_update_plane], Writing base 013CA000 00000000 0 0 16384 [619598.093244] [drm:i915_setup_compression], reserved 39583744 bytes of contiguous stolen space for FBC [619598.093245] [drm:intel_cancel_fbc_work], cancelling pending FBC enable [619598.093805] [drm:drm_mode_setcrtc], [CRTC:3] [619598.093808] [drm:drm_mode_setcrtc], [CONNECTOR:12:HDMI-A-1] [619598.093809] [drm:intel_crtc_set_config], [CRTC:3] [FB:55] #connectors=1 (x y) (2127 0) [619598.093810] [drm:intel_set_config_compute_mode_changes], computed changes for [CRTC:3], mode_changed=0, fb_changed=1 [619598.093812] [drm:intel_modeset_stage_output_state], [CONNECTOR:12:HDMI-A-1] to [CRTC:3] [619598.097471] [drm:ironlake_update_plane], Writing base 013CA000 FFFFFFFFFFFF213C 79 0 16384 [619598.097474] [drm:i915_setup_compression], reserved 39583744 bytes of contiguous stolen space for FBC [619598.097475] [drm:intel_cancel_fbc_work], cancelling pending FBC enable [619598.146986] [drm:gen7_enable_fbc], enabled fbc on plane A Thanks for looking into this. -- Krzysztof Halasa _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx