linux/drivers/gpu/drm/i915
Paulo Zanoni 754d113304 drm/i915: pass the crtc as an argument to intel_fbc_update()
There's no need to reevaluate the status of every single crtc when a
single crtc changes its state.

With this, we're cutting the case where due to a change in pipe B,
intel_fbc_update() is called, then intel_fbc_find_crtc() concludes FBC
should be enabled on pipe A, then it completely rechecks the state of
pipe A only to conclude FBC should remain enabled on pipe A. If any
change on pipe A triggers a need to recompute whether FBC is valid on
pipe A, then at some point someone is going to call
intel_fbc_update(PIPE_A).

The addition of intel_fbc_deactivate() is necessary so we keep track
of the previously selected CRTC when we do invalidate/flush. We're
also going to continue the enable/disable/activate/deactivate concept
in the next patches.

v2: Rebase.
v3: Rebase after changing the patch order.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/
2015-12-03 11:32:13 -02:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_cmd_parser.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_debugfs.c drm/i915: Fix possible null dereference in framebuffer_info debugfs function 2015-11-30 09:14:24 +01:00
i915_dma.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
i915_drv.c drm/i915: more virtual south bridge detection 2015-11-26 15:20:41 +01:00
i915_drv.h drm/i915: set dev_priv->fbc.crtc before scheduling the enable work 2015-12-03 11:14:05 -02:00
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Remove incorrect warning in context cleanup 2015-11-24 11:58:12 +01:00
i915_gem_debug.c
i915_gem_dmabuf.c
i915_gem_evict.c
i915_gem_execbuffer.c drm/i915: Add functions to emit register offsets to the ring 2015-11-18 14:35:24 +02:00
i915_gem_fence.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
i915_gem_gtt.c drm/i915: Stuff rotation params into view union 2015-11-19 16:42:01 +01:00
i915_gem_gtt.h drm/i915: Fix i915_ggtt_view_equal to handle rotation correctly 2015-11-19 16:42:06 +01:00
i915_gem_render_state.c
i915_gem_render_state.h
i915_gem_shrinker.c
i915_gem_stolen.c drm/i915/kbl: Introduce Kabylake platform defition. 2015-10-28 21:35:38 +02:00
i915_gem_tiling.c drm/i915: get runtime PM reference around GEM set_tiling IOCTL 2015-11-17 18:43:30 +02:00
i915_gem_userptr.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-11-10 09:33:06 -08:00
i915_gem.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
i915_gpu_error.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_guc_reg.h drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_guc_submission.c drm/i915: Fix kerneldoc indent fails 2015-11-26 18:55:40 +02:00
i915_ioc32.c
i915_irq.c drm/i915: Fix kerneldoc indent fails 2015-11-26 18:55:40 +02:00
i915_params.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
i915_reg.h drm/i915: Don't register the CRT connector when it's fused off on LPT-H 2015-12-02 11:23:32 +02:00
i915_suspend.c
i915_sysfs.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_trace_points.c
i915_trace.h drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_vgpu.c drm/i915: Turn __raw_i915_read8() & co. in to inline functions 2015-10-26 16:28:04 +02:00
i915_vgpu.h drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
intel_acpi.c
intel_atomic_plane.c drm/i915: Wait for object idle without locks in atomic_commit, v2. 2015-11-02 15:50:31 +01:00
intel_atomic.c drm/i915: Make wait_for_flips interruptible. 2015-11-02 15:50:17 +01:00
intel_audio.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
intel_bios.c drm/i915: Check VBT for CRT port presence on HSW/BDW 2015-12-02 11:24:01 +02:00
intel_bios.h
intel_crt.c drm/i915: Don't register CRT connector when it's fused off 2015-11-24 16:23:44 +02:00
intel_csr.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
intel_ddi.c drm/i915: Don't use crtc->config when reading out infoframe state 2015-12-01 16:01:21 +02:00
intel_display.c drm/i915: pass the crtc as an argument to intel_fbc_update() 2015-12-03 11:32:13 -02:00
intel_dp_link_training.c drm/i915: Make intel_dp_source_supports_hbr2() take an intel_dp pointer 2015-11-05 15:14:56 +02:00
intel_dp_mst.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
intel_dp.c drm/i915: Round the AUX clock divider to closest on all platforms 2015-12-02 11:22:57 +02:00
intel_drv.h drm/i915: pass the crtc as an argument to intel_fbc_update() 2015-12-03 11:32:13 -02:00
intel_dsi_panel_vbt.c
intel_dsi_pll.c
intel_dsi.c drm/i915: add has_dsi_encoder to crtc state 2015-11-30 12:54:33 +02:00
intel_dsi.h
intel_dvo.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
intel_fbc.c drm/i915: pass the crtc as an argument to intel_fbc_update() 2015-12-03 11:32:13 -02:00
intel_fbdev.c drm/i915: Tear down fbdev if initialization fails 2015-11-19 17:52:38 +01:00
intel_fifo_underrun.c drm/i915: Introduce bdw_{update,enable,disable}_pipe_irq() 2015-11-26 18:55:39 +02:00
intel_frontbuffer.c
intel_guc_fwif.h drm/i915/guc: Add GuC css header parser 2015-10-21 14:31:34 +02:00
intel_guc_loader.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
intel_guc.h drm/i915/guc: Add GuC css header parser 2015-10-21 14:31:34 +02:00
intel_hdmi.c drm/i915: Don't use crtc->config when reading out infoframe state 2015-12-01 16:01:21 +02:00
intel_hotplug.c
intel_i2c.c drm/i915: abstract i2c bit banging fallback in gmbus xfer 2015-12-02 13:29:41 +02:00
intel_lrc.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
intel_lrc.h Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
intel_lvds.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
intel_mocs.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
intel_mocs.h
intel_modes.c
intel_opregion.c drm/i915: Don't complain about lack of ACPI video bios 2015-10-31 09:26:20 +01:00
intel_overlay.c drm/i915: Wait for object idle without locks in atomic_commit, v2. 2015-11-02 15:50:31 +01:00
intel_panel.c drm/i915: Use cached cdclk_freq for PWM calculations 2015-12-02 11:22:57 +02:00
intel_pm.c drm/i915/bxt: backlight clock gating workaround 2015-12-02 10:10:39 +02:00
intel_psr.c drm/i915: Also disable PSR on Sink when disabling it on Source. 2015-11-24 13:33:50 +01:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
intel_ringbuffer.h drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
intel_runtime_pm.c drm/i915/bxt: Disable power well support 2015-12-01 14:28:37 -08:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
intel_sideband.c
intel_sprite.c drm/i915: Avoid pointer arithmetic in calculating plane surface offset 2015-11-09 20:00:11 +02:00
intel_tv.c
intel_uncore.c Linux 4.4-rc2 2015-11-23 09:04:05 +01:00
Kconfig drm/i915: Serialise updates to GGTT with access through GGTT on Braswell 2015-11-17 17:36:01 +01:00
Makefile drm/i915: Move generic link training code to a separate file 2015-11-05 15:14:56 +02:00