mirror_ubuntu-kernels/drivers/gpu/drm/i915
Imre Deak 45dfbd9929 drm/i915: Fix PIPEDMC disabling for a bigjoiner configuration
For a bigjoiner configuration display->crtc_disable() will be called
first for the slave CRTCs and then for the master CRTC. However slave
CRTCs will be actually disabled only after the master CRTC is disabled
(from the encoder disable hooks called with the master CRTC state).
Hence the slave PIPEDMCs can be disabled only after the master CRTC is
disabled, make this so.

intel_encoders_post_pll_disable() must be called only for the master
CRTC, as for the other two encoder disable hooks. While at it fix this
up as well. This didn't cause a problem, since
intel_encoders_post_pll_disable() will call the corresponding hook only
for an encoder/connector connected to the given CRTC, however slave
CRTCs will have no associated encoder/connector.

Fixes: 3af2ff0840 ("drm/i915: Enable a PIPEDMC whenever its corresponding pipe is enabled")
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230510103131.1618266-2-imre.deak@intel.com
(cherry picked from commit 7eeef32719)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2023-05-22 17:10:11 +03:00
..
display drm/i915: Fix PIPEDMC disabling for a bigjoiner configuration 2023-05-22 17:10:11 +03:00
gem - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
gt drm/i915/guc: Don't capture Gen8 regs on Xe devices 2023-05-11 14:11:58 +03:00
gvt drm/i915/psr: split out PSR regs to a separate file 2023-04-04 10:05:38 +03:00
pxp drm/i915/pxp: limit drm-errors or warning on firmware API failures 2023-04-05 09:19:32 -07:00
selftests drm/i915: Fix memory leaks in i915 selftests 2023-04-17 09:22:17 +03:00
soc drm/i915: move memory frequency detection to intel_dram.c 2023-02-15 12:00:50 +02:00
.gitignore
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/active: Fix missing debug object activation 2023-03-20 11:00:22 +02:00
i915_active.h drm/i915: Remove unused bits of i915_vma/active api 2021-12-20 16:26:09 +01:00
i915_cmd_parser.c drm/i915: Wrap all access to i915_vma.node.start|size 2022-12-06 10:52:42 +01: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: add i915_config.h and move relevant declarations there 2023-01-20 10:13:50 +02:00
i915_config.h drm/i915: add i915_config.h and move relevant declarations there 2023-01-20 10:13:50 +02:00
i915_debugfs_params.c drm/i915/params: use generics for parameter debugfs file creation 2023-01-25 16:25:36 +02:00
i915_debugfs_params.h
i915_debugfs.c Merge tag 'drm-intel-gt-next-2023-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-04-06 14:21:00 +02:00
i915_debugfs.h
i915_deps.c drm/ttm: merge ttm_bo_api.h and ttm_bo_driver.h v2 2022-12-06 12:54:14 +01:00
i915_deps.h drm/i915: Break out the i915_deps utility 2021-12-22 08:52:57 +01:00
i915_driver.c - Fix DPT+shmem combo and add i915.enable_dpt modparam (Ville) 2023-04-06 16:31:33 +02:00
i915_driver.h drm/i915: Move intel_vtd_active and run_as_guest to i915_utils 2022-03-30 12:04:01 +01:00
i915_drm_client.c drm/i915: Use i915 instead of dev_priv insied the file_priv structure 2023-03-23 01:53:44 +01:00
i915_drm_client.h drm/i915/client: only include what's needed 2022-06-07 21:31:17 +03:00
i915_drv.h - Fix DPT+shmem combo and add i915.enable_dpt modparam (Ville) 2023-04-06 16:31:33 +02:00
i915_file_private.h drm/i915: Use i915 instead of dev_priv insied the file_priv structure 2023-03-23 01:53:44 +01:00
i915_fixed.h
i915_gem_evict.c drm/i915: improve the catch-all evict to handle lock contention 2022-12-30 03:04:39 -05:00
i915_gem_evict.h drm/i915: improve the catch-all evict to handle lock contention 2022-12-30 03:04:39 -05:00
i915_gem_gtt.c treewide: use get_random_u32() when possible 2022-10-11 17:42:58 -06:00
i915_gem_gtt.h Merge drm/drm-next into drm-intel-next 2023-01-25 11:41:16 +02:00
i915_gem_ww.c
i915_gem_ww.h
i915_gem.c - Fix DPT+shmem combo and add i915.enable_dpt modparam (Ville) 2023-04-06 16:31:33 +02:00
i915_gem.h drm/i915: move I915_GEM_GPU_DOMAINS to i915_gem.h 2023-01-20 10:14:31 +02:00
i915_getparam.c drm/i915/perf: Pass i915 object to perf revision helper 2023-03-24 08:50:16 -07: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: Include timeline seqno in error capture 2023-03-13 18:27:10 -07:00
i915_gpu_error.h drm/i915: Include timeline seqno in error capture 2023-03-13 18:27:10 -07:00
i915_hwmon.c drm/i915/hwmon: Use 0 to designate disabled PL1 power limit 2023-04-03 13:28:49 -04:00
i915_hwmon.h drm/i915/hwmon: Add HWMON infrastructure 2022-10-17 14:49:29 +05:30
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/psr: split out PSR regs to a separate file 2023-04-04 10:05:38 +03:00
i915_irq.h drm/i915/irq: split out vblank/scanline code to intel_vblank.[ch] 2023-01-18 11:05:41 +02:00
i915_memcpy.c
i915_memcpy.h
i915_mitigations.c drm/i915: move the DRIVER_* macros to i915_driver.[ch] 2022-02-10 11:44:25 +02:00
i915_mitigations.h
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: Fix header test for !CONFIG_X86 2022-02-07 12:56:49 +00:00
i915_module.c Merge tag 'drm-intel-gt-next-2022-02-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-next 2022-02-23 15:03:51 -05:00
i915_params.c drm/i915: Add i915.enable_sagv modparam 2023-03-25 00:16:36 +02:00
i915_params.h drm/i915: Add i915.enable_sagv modparam 2023-03-25 00:16:36 +02:00
i915_pci.c drm/i915: taint kernel when force probing unsupported devices 2023-05-11 14:11:59 +03:00
i915_pci.h drm/i915: Sanitycheck PCI BARs 2022-08-10 13:11:17 +03:00
i915_perf_oa_regs.h drm/i915/perf: Add support for OA media units 2023-03-24 08:50:04 -07:00
i915_perf_types.h drm/i915/perf: Drop wakeref on GuC RC error 2023-03-27 13:22:24 +03:00
i915_perf.c drm/i915: fix race condition UAF in i915_perf_add_config_ioctl 2023-03-29 10:18:52 +01:00
i915_perf.h drm/i915/perf: Pass i915 object to perf revision helper 2023-03-24 08:50:16 -07:00
i915_pmu.c Merge tag 'drm-intel-gt-next-2023-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-04-06 14:21:00 +02:00
i915_pmu.h
i915_priolist_types.h
i915_pvinfo.h
i915_query.c drm/i915: Partial abandonment of legacy DRM logging macros 2022-11-10 12:35:46 +00:00
i915_query.h
i915_reg_defs.h drm/i915: Move MCR_REG define to i915_reg_defs.h 2023-02-25 11:24:09 -08:00
i915_reg.h drm/i915/color: Fix typo for Plane CSC indexes 2023-04-14 09:58:14 +03:00
i915_request.c drm/i915: remove unnecessary intel_pm.h includes 2023-03-06 18:26:30 +02:00
i915_request.h drm/i915/huc: stall media submission until HuC is loaded 2022-10-03 11:29:19 -07:00
i915_scatterlist.c Merge tag 'drm-intel-gt-next-2023-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-04-06 14:21:00 +02:00
i915_scatterlist.h drm/i915: stop abusing swiotlb_max_segment 2022-10-31 12:32:04 +00:00
i915_scheduler_types.h
i915_scheduler.c
i915_scheduler.h drm/i915/tasklet: separate local hacks around struct tasklet_struct 2022-06-07 21:47:19 +03:00
i915_selftest.h drm/i915/guc: Delay disabling guc_id scheduling for better hysteresis 2022-10-26 17:29:43 -07:00
i915_suspend.c drm/i915/fbc: Remove intel_fbc_global_disable() 2022-04-13 17:19:04 +03:00
i915_suspend.h
i915_sw_fence_work.c drm/i915: Drop stealing of bits from i915_sw_fence function pointer 2021-11-30 17:52:15 -08:00
i915_sw_fence_work.h
i915_sw_fence.c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
i915_sw_fence.h drm/i915: Remove unused function parameter 2022-09-24 00:59:13 -04:00
i915_switcheroo.c drm/i915: Allow switching away via vga-switcheroo if uninitialized 2023-01-18 17:12:23 +01:00
i915_switcheroo.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: remove unnecessary intel_pm.h includes 2023-03-06 18:26:30 +02:00
i915_sysfs.h drm/i915/gt: create per-tile sysfs interface 2022-03-21 08:37:39 +00:00
i915_tasklet.h drm/i915/tasklet: separate local hacks around struct tasklet_struct 2022-06-07 21:47:19 +03:00
i915_trace_points.c
i915_trace.h Merge drm/drm-next into drm-intel-next 2022-11-14 14:32:34 -05:00
i915_ttm_buddy_manager.c drm/i915/ttm: remove the virtualized start hack 2023-02-24 11:39:15 +00:00
i915_ttm_buddy_manager.h drm/i915/uapi: expose the avail tracking 2022-07-01 08:29:59 +01:00
i915_user_extensions.c overflow: Introduce overflows_type() and castable_to_type() 2022-11-02 12:39:27 -07:00
i915_user_extensions.h
i915_utils.c drm/i915: Move intel_vtd_active and run_as_guest to i915_utils 2022-03-30 12:04:01 +01:00
i915_utils.h Merge drm/drm-next into drm-intel-gt-next 2022-12-30 04:18:36 -05:00
i915_vgpu.c drm/i915: Add object locking to i915_gem_evict_for_node and i915_gem_evict_something, v2. 2022-01-18 12:18:03 +01:00
i915_vgpu.h
i915_vma_resource.c drm/i915: Introduce guard pages to i915_vma 2022-12-06 10:52:45 +01:00
i915_vma_resource.h drm/i915: Introduce guard pages to i915_vma 2022-12-06 10:52:45 +01:00
i915_vma_types.h drm/i915: Introduce guard pages to i915_vma 2022-12-06 10:52:45 +01:00
i915_vma.c Merge tag 'drm-intel-gt-next-2023-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-04-06 14:21:00 +02:00
i915_vma.h drm/i915: Introduce guard pages to i915_vma 2022-12-06 10:52:45 +01:00
intel_clock_gating.c drm/i915/clock: mass rename dev_priv to i915 2023-04-05 19:54:18 +03:00
intel_clock_gating.h drm/i915: rename intel_pm.[ch] to intel_clock_gating.[ch] 2023-04-05 19:54:13 +03:00
intel_device_info.c drm/i915: Add RPL-U sub platform 2023-02-16 12:29:51 +02:00
intel_device_info.h - Fix DPT+shmem combo and add i915.enable_dpt modparam (Ville) 2023-04-06 16:31:33 +02:00
intel_gvt_mmio_table.c drm/i915/psr: split out PSR regs to a separate file 2023-04-04 10:05:38 +03:00
intel_gvt.c drm/i915/gvt: Fix the compiling error when CONFIG_DRM_I915_DEBUG_RUNTIME_PM=n 2022-04-28 17:01:17 -04:00
intel_gvt.h drm/i915/gvt: move the gvt code into kvmgt.ko 2022-04-21 07:36:56 -04:00
intel_mchbar_regs.h drm/i915/hwmon: Display clamped PL1 limit 2023-01-06 15:53:59 +05:30
intel_memory_region.c drm/i915: drop cast from DEFINE_RES_MEM() usage 2023-01-18 11:45:23 +02:00
intel_memory_region.h drm/i915: remove intel_memory_region avail 2022-07-01 08:29:59 +01:00
intel_pci_config.h drm/i915: Name our BARs based on the spec 2022-10-20 21:08:42 +03:00
intel_pcode.c drm/i915/pcode: Give the punit time to settle before fatally failing 2023-02-07 18:29:43 +01:00
intel_pcode.h drm/i915/pcode: Add a couple of pcode helpers 2022-05-20 09:11:45 +01:00
intel_region_ttm.c drm/i915/intel_region_ttm: Provide missing description for 'offset' param 2023-04-03 17:48:39 +03:00
intel_region_ttm.h drm/i915/ttm: fix 32b build 2022-07-17 14:53:47 -04:00
intel_runtime_pm.c drm/i915/pm: drop intel_pm_setup() 2023-03-06 18:25:58 +02:00
intel_runtime_pm.h drm/i915: remove struct_member macro 2022-12-13 16:16:23 +01:00
intel_sbi.c drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08: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/rpl-p: Add stepping info 2022-11-18 08:30:42 -08:00
intel_step.h drm/i915: Parse and set stepping for platforms with GMD 2022-09-23 17:37:23 -07:00
intel_uncore.c Merge tag 'drm-intel-gt-next-2023-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-04-06 14:21:00 +02:00
intel_uncore.h drm/i915/gsc: Do a driver-FLR on unload if GSC was loaded 2022-12-09 08:28:46 -08:00
intel_wakeref.c
intel_wakeref.h drm/i915/wakeref: fix kernel-doc comment 2023-04-06 15:39:26 +03:00
Kconfig drm/i915: taint kernel when force probing unsupported devices 2023-05-11 14:11:59 +03:00
Kconfig.debug
Kconfig.profile drm/i915: Improve long running compute w/a for GuC submission 2022-10-24 12:12:47 -07:00
Makefile drm/i915: rename intel_pm.[ch] to intel_clock_gating.[ch] 2023-04-05 19:54:13 +03:00
TODO.txt drm/i915/tasklet: separate local hacks around struct tasklet_struct 2022-06-07 21:47:19 +03: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/display: add intel_display_limits.h for key enums 2023-01-25 13:59:12 +02: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 drm/i915: rename intel_pm.[ch] to intel_clock_gating.[ch] 2023-04-05 19:54:13 +03:00
vlv_suspend.h