mirror_ubuntu-kernels/drivers/gpu/drm/i915
Stanislav Lisovskiy c3639f3be4 drm/i915: Use wm0 only during async flips for DG2
This optimization allows to achieve higher perfomance
during async flips.
For the first async flip we have to still temporarily
switch to sync flip, in order to reprogram plane
watermarks, so this requires taking into account
old plane state's do_async_flip flag.

v2: - Removed redundant new_plane_state->do_async_flip
      check from needs_async_flip_wm_override condition
      (Ville Syrjälä)
    - Extract dg2_async_flip_optimization to separate
      function(Ville Syrjälä)
    - Check for plane->async_flip instead of plane_id
      (Ville Syrjälä)

v3: - Rename "needs_async_flip_wm_override" to
      "intel_plane_do_async_flip" and move all the required
      checks there (Ville Syrjälä)
    - Rename "dg2_async_flip_optimization" to
      "use_minimal_wm0_only" (Ville Syrjälä)

v4: - Swap new/old_crtc_state in intel_plane_do_async_flip
      argument list(Ville Syrjälä)
    - Use plane->base.dev to grab i915 pointer in
      intel_plane_do_async_flip(Ville Syrjälä)
    - Remove const modifier from plane parameter in
      use_minimal_wm0_only(Ville Syrjälä)
    - Swap also new/old_crtc_state at intel_plane_do_async_flip
      call site(Ville Syrjälä)

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220124094929.31722-1-stanislav.lisovskiy@intel.com
2022-01-26 10:27:24 +02:00
..
display drm/i915: Use wm0 only during async flips for DG2 2022-01-26 10:27:24 +02:00
gem drm/i915: split out gem/i915_gem_tiling.h from i915_drv.h 2022-01-10 15:43:23 +02:00
gt drm/i915/pcode: rename sandybridge_pcode_* to snb_pcode_* 2022-01-13 15:20:57 +02:00
gvt drm/i915: Clean up pre-skl primary plane registers 2022-01-24 11:38:26 +02:00
pxp drm/i915/pxp: Hold RPM wakelock during PXP unbind 2022-01-13 15:31:10 -05:00
selftests drm/i915/selftests: remove duplicate include in mock_region.c 2021-10-20 08:55:05 +01:00
.gitignore
dma_resv_utils.c dma-buf: drop the _rcu postfix on function names v3 2021-06-06 11:19:51 +02:00
dma_resv_utils.h drm/i915/gem: Optimistically prune dma-resv from the shrinker. 2020-12-23 21:58:00 +00:00
i915_active_types.h drm/i915/active: remove useless i915_utils.h include 2021-12-13 12:04:44 +02:00
i915_active.c drm/i915: move i915_active slab to direct module init/exit 2021-07-28 16:45:57 +02:00
i915_active.h drm/i915: move i915_active slab to direct module init/exit 2021-07-28 16:45:57 +02:00
i915_buddy.c drm/i915/buddy: add some pretty printing 2021-08-20 09:40:22 +01:00
i915_buddy.h drm/i915/buddy: add some pretty printing 2021-08-20 09:40:22 +01:00
i915_cmd_parser.c drm/i915/gt: Move engine registers to their own header 2022-01-11 14:03:25 -08:00
i915_cmd_parser.h drm/i915: split out i915_cmd_parser.h from i915_drv.h 2022-01-10 15:43:09 +02:00
i915_config.c drm/i915: remove IS_ACTIVE 2021-10-07 11:04:05 -07:00
i915_debugfs_params.c drm/i915/guc: Connect reset modparam updates to GuC policy flags 2021-07-27 17:32:06 -07:00
i915_debugfs_params.h
i915_debugfs.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
i915_debugfs.h
i915_driver.c drm/i915: split out i915_reg_read_ioctl() to i915_ioctl.[ch] 2022-01-21 09:59:22 +02:00
i915_driver.h drm/i915/driver: add i915_driver_ prefix to functions 2021-11-17 11:47:55 +02:00
i915_drv.h drm/i915: split out i915_reg_read_ioctl() to i915_ioctl.[ch] 2022-01-21 09:59:22 +02:00
i915_fixed.h
i915_gem_evict.c drm/i915: split out i915_gem_evict.h from i915_drv.h 2022-01-10 15:43:12 +02:00
i915_gem_evict.h drm/i915: split out i915_gem_evict.h from i915_drv.h 2022-01-10 15:43:12 +02:00
i915_gem_gtt.c drm/i915: split out i915_gem_evict.h from i915_drv.h 2022-01-10 15:43:12 +02:00
i915_gem_gtt.h
i915_gem_ww.c drm/i915: Break out dma_resv ww locking utilities to separate files 2021-06-17 14:22:59 +01:00
i915_gem_ww.h drm/i915: Ditch the i915_gem_ww_ctx loop member 2021-08-20 09:39:41 +01:00
i915_gem.c drm/i915: split out gem/i915_gem_userptr.h from i915_drv.h 2022-01-10 15:43:19 +02:00
i915_gem.h drm/i915: Break out dma_resv ww locking utilities to separate files 2021-06-17 14:22:59 +01:00
i915_getparam.c drm/i915: split out i915_cmd_parser.h from i915_drv.h 2022-01-10 15:43:09 +02:00
i915_getparam.h drm/i915: split out i915_getparam.h from i915_drv.h 2022-01-10 15:43:05 +02:00
i915_gpu_error.c drm/i915/gt: Move engine registers to their own header 2022-01-11 14:03:25 -08:00
i915_gpu_error.h Merge drm/drm-next into drm-misc-next 2021-05-22 07:17:05 +02:00
i915_ioc32.c drm/i915: split out i915_getparam.h from i915_drv.h 2022-01-10 15:43:05 +02:00
i915_ioc32.h
i915_ioctl.c drm/i915: split out i915_reg_read_ioctl() to i915_ioctl.[ch] 2022-01-21 09:59:22 +02:00
i915_ioctl.h drm/i915: split out i915_reg_read_ioctl() to i915_ioctl.[ch] 2022-01-21 09:59:22 +02:00
i915_iosf_mbi.h drm/i915: abstraction for iosf to compile on all archs 2021-10-27 00:32:01 -07:00
i915_irq.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
i915_irq.h drm/i915/irq: reduce inlines to reduce header dependencies 2021-08-20 10:28:31 +03:00
i915_memcpy.c drm/i915: Move cmd parser pinning to execbuffer 2021-03-24 11:39:59 +01:00
i915_memcpy.h drm/i915: Move cmd parser pinning to execbuffer 2021-03-24 11:39:59 +01:00
i915_mitigations.c drm/i915: Allow the sysadmin to override security mitigations 2021-01-12 19:03:40 +02:00
i915_mitigations.h drm/i915: Allow the sysadmin to override security mitigations 2021-01-12 19:03:40 +02:00
i915_mm.c drm/i915: Skip remap_io_mapping() for non-x86 platforms 2021-12-08 13:26:14 -08:00
i915_mm.h drm/i915: Skip remap_io_mapping() for non-x86 platforms 2021-12-08 13:26:14 -08:00
i915_module.c drm-misc-next for 5.17: 2021-12-09 09:31:45 +01:00
i915_params.c drm/i915/uc: Use platform specific defaults for GuC/HuC enabling 2021-06-09 10:52:03 -07:00
i915_params.h drm/i915/display: Enable PSR2 selective fetch by default 2021-09-30 15:04:45 -07:00
i915_pci.c drm/i915/adl-n: Enable ADL-N platform 2021-12-20 15:42:33 +02:00
i915_pci.h drm/i915/pci: rename functions to have i915_pci prefix 2021-08-26 10:50:19 +03:00
i915_perf_types.h i915/perf: Store a mask of valid OA formats for a platform 2021-02-09 13:26:29 +02:00
i915_perf.c drm/i915/gt: Move engine registers to their own header 2022-01-11 14:03:25 -08:00
i915_perf.h drm/i915: Use a table for i915_init/exit (v2) 2021-07-22 12:05:17 +02:00
i915_pmu.c drm/i915/gt: Move engine registers to their own header 2022-01-11 14:03:25 -08:00
i915_pmu.h drm/i915: Use a table for i915_init/exit (v2) 2021-07-22 12:05:17 +02:00
i915_priolist_types.h drm/i915: Remove I915_USER_PRIORITY_SHIFT 2021-03-24 19:30:34 +01:00
i915_pvinfo.h
i915_query.c drm/i915: Expose logical engine instance to user 2021-10-15 10:37:31 -07:00
i915_query.h
i915_reg_defs.h drm/i915: Introduce i915_reg_defs.h 2022-01-11 14:03:21 -08:00
i915_reg.h drm/i915: Clean up pre-skl primary plane registers 2022-01-24 11:38:26 +02:00
i915_request.c drm/i915/gt: Move engine registers to their own header 2022-01-11 14:03:25 -08:00
i915_request.h drm/i915: Fix i915_request fence wait semantics 2021-11-17 14:26:19 +01:00
i915_scatterlist.c drm/i915/ttm: add i915_sg_from_buddy_resource 2021-06-16 16:33:26 +01:00
i915_scatterlist.h drm/i915/ttm: add i915_sg_from_buddy_resource 2021-06-16 16:33:26 +01:00
i915_scheduler_types.h drm/i915/guc: Implement GuC priority management 2021-07-27 17:32:27 -07:00
i915_scheduler.c drm/i915: move scheduler slabs to direct module init/exit 2021-07-28 17:18:56 +02:00
i915_scheduler.h drm/i915: move scheduler slabs to direct module init/exit 2021-07-28 17:18:56 +02:00
i915_selftest.h drm/i915: Pin timeline map after first timeline pin, v4. 2021-03-24 11:39:46 +01:00
i915_suspend.c drm/i915: split out PCI config space registers from i915_reg.h 2022-01-10 16:17:46 +02:00
i915_suspend.h drm/i915: Rename i915_{save,restore}_state() 2020-10-09 21:12:13 +03:00
i915_sw_fence_work.c drm/i915: Drop error handling from dma_fence_work 2021-07-16 21:47:39 +02:00
i915_sw_fence_work.h drm/i915: Drop error handling from dma_fence_work 2021-07-16 21:47:39 +02:00
i915_sw_fence.c drm/i915: use the new iterator in i915_sw_fence_await_reservation v3 2021-11-17 14:24:15 +01:00
i915_sw_fence.h
i915_switcheroo.c drm/i915/driver: add i915_driver_ prefix to functions 2021-11-17 11:47:55 +02:00
i915_switcheroo.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: split out vlv sideband to a separate file 2021-10-14 12:22:55 +03:00
i915_sysfs.h
i915_trace_points.c
i915_trace.h drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
i915_ttm_buddy_manager.c drm/i915/buddy: add some pretty printing 2021-08-20 09:40:22 +01:00
i915_ttm_buddy_manager.h drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c drm/i915: Wrap our timer_list.expires checking 2021-01-07 21:37:14 +00:00
i915_utils.h drm/i915: nuke local versions of WARN_ON/WARN_ON_ONCE 2022-01-24 14:02:16 +02:00
i915_vgpu.c drm/i915: replace IS_GEN and friends with GRAPHICS_VER 2021-06-07 00:59:48 -07:00
i915_vgpu.h
i915_vma_types.h drm/i915/adlp/fb: Fix remapping of linear CCS AUX surfaces 2021-11-02 18:07:46 +02:00
i915_vma.c drm/i915: split out gem/i915_gem_tiling.h from i915_drv.h 2022-01-10 15:43:23 +02:00
i915_vma.h drm/i915: Multi-BB execbuf 2021-10-15 10:45:50 -07:00
intel_device_info.c drm/i915/adl-n: Enable ADL-N platform 2021-12-20 15:42:33 +02:00
intel_device_info.h drm/i915/adl-n: Enable ADL-N platform 2021-12-20 15:42:33 +02:00
intel_dram.c drm/i915/pcode: rename sandybridge_pcode_* to snb_pcode_* 2022-01-13 15:20:57 +02:00
intel_dram.h
intel_gvt.c drm/i915/gvt: Save/restore HW status to support GVT suspend/resume 2020-11-10 14:37:56 +08:00
intel_gvt.h drm/i915/gvt: Save/restore HW status to support GVT suspend/resume 2020-11-10 14:37:56 +08:00
intel_memory_region.c drm/i915/debugfs: hook up ttm_resource_manager_debug 2021-08-20 09:40:23 +01:00
intel_memory_region.h drm/i915/debugfs: hook up ttm_resource_manager_debug 2021-08-20 09:40:23 +01:00
intel_pch.c drm/i915/rpl-s: Add PCH Support for Raptor Lake S 2021-12-08 13:03:04 -08:00
intel_pch.h drm/i915/rpl-s: Add PCH Support for Raptor Lake S 2021-12-08 13:03:04 -08:00
intel_pci_config.h drm/i915: split out PCI config space registers from i915_reg.h 2022-01-10 16:17:46 +02:00
intel_pcode.c drm/i915/pcode: rename sandybridge_pcode_* to snb_pcode_* 2022-01-13 15:20:57 +02:00
intel_pcode.h drm/i915/pcode: rename sandybridge_pcode_* to snb_pcode_* 2022-01-13 15:20:57 +02:00
intel_pm_types.h drm/i915: split out intel_pm_types.h 2021-12-03 11:28:12 +02:00
intel_pm.c drm/i915: Use wm0 only during async flips for DG2 2022-01-26 10:27:24 +02:00
intel_pm.h drm/i915/wm: provide wrappers around watermark vfuncs calls (v3) 2021-09-29 08:53:57 +03:00
intel_region_ttm.c drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
intel_region_ttm.h drm/i915/ttm: remove node usage in our naming 2021-06-16 16:48:02 +01:00
intel_runtime_pm.c Merge drm/drm-next into drm-intel-next 2021-11-22 17:35:32 +02:00
intel_runtime_pm.h drm/i915: intel_runtime_pm.h does not actually need intel_display.h 2021-08-20 10:28:49 +03:00
intel_sbi.c drm/i915: rename intel_sideband.[ch] to intel_sbi.[ch] 2021-10-14 18:05:04 +03:00
intel_sbi.h drm/i915: rename intel_sideband.[ch] to intel_sbi.[ch] 2021-10-14 18:05:04 +03:00
intel_step.c drm/i915/dg2: Add support for new DG2-G11 revid 0x5 2021-08-06 09:03:10 -07:00
intel_step.h drm/i915/step: Add macro magic for handling steps 2021-07-22 10:18:06 -07:00
intel_uncore.c drm/i915: split out i915_reg_read_ioctl() to i915_ioctl.[ch] 2022-01-21 09:59:22 +02:00
intel_uncore.h Merge tag 'drm-intel-gt-next-2021-10-08' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-10-11 18:09:39 +10:00
intel_wakeref.c
intel_wakeref.h drm/i915/guc: Take engine PM when a context is pinned with GuC submission 2021-10-15 10:37:26 -07:00
intel_wopcm.c drm/i915: remove explicit CNL handling from intel_wopcm.c 2021-07-30 10:19:18 -07:00
intel_wopcm.h
Kconfig Merge drm/drm-next into drm-intel-next 2021-11-22 17:35:32 +02:00
Kconfig.debug drm/i915: Improve debug Kconfig texts a bit 2021-07-06 10:10:07 +02:00
Kconfig.profile drm/i915: Fail too long user submissions by default 2021-03-26 01:01:27 +01:00
Kconfig.unstable
Makefile drm/i915: split out i915_reg_read_ioctl() to i915_ioctl.[ch] 2022-01-21 09:59:22 +02:00
TODO.txt drm/i915: add gem/gt TODO 2021-03-26 09:24:31 +01:00
vlv_sideband_reg.h drm/i915: split out vlv sideband registers from i915_reg.h 2022-01-10 16:17:50 +02:00
vlv_sideband.c drm/i915: abstraction for iosf to compile on all archs 2021-10-27 00:32:01 -07:00
vlv_sideband.h drm/i915: split out vlv sideband registers from i915_reg.h 2022-01-10 16:17:50 +02:00
vlv_suspend.c
vlv_suspend.h