linux/drivers/gpu/drm
Jani Nikula 74770d5d9c drm/i915/display: Limit max joined dotclock on joiner pipes available
Multiplying the max dotclock based on joiner availability on the
platform alone does not take into account the actual pipes (possibly
with some fused) available for joining.

Limit the max joined dotclock based on the actual pipes available for
joining. Add helpers for figuring out the valid primary pipes, based on
having the required joiners and amount of consecutive pipes available.

v2: Check for consecutive pipes available (Ankit)

Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Link: https://patch.msgid.link/3c615440f018af779a3a522f14637d2993f7af03.1786105831.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2026-08-10 19:02:23 +03:00
..
adp drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
amd drm next fixes for 7.2-rc1 2026-06-26 16:41:30 -07:00
arm drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
armada drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
aspeed
ast drm-misc-next for v7.1-rc1: 2026-05-06 10:12:25 +10:00
atmel-hlcdc drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
bridge workqueue: Changes for v7.2 2026-06-17 11:57:44 +01:00
ci Merge tag 'drm-msm-next-2026-05-30' of https://gitlab.freedesktop.org/drm/msm into drm-next 2026-06-04 06:41:22 +10:00
clients
display drm/dp_tunnel: Add UHBR tunneling support 2026-07-20 15:46:08 +03:00
etnaviv drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
exynos Linux 7.1-rc5 2026-05-28 09:58:36 +02:00
fsl-dcu drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
gma500 drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
gud drm/gud: Add RCade Display Adapter VID/PID pair 2026-05-12 08:35:00 +02:00
hisilicon drm/hisilicon/kirin: switch to of_drm_get_bridge_by_endpoint() 2026-05-19 10:57:25 +02:00
hyperv drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
i915 drm/i915/display: Limit max joined dotclock on joiner pipes available 2026-08-10 19:02:23 +03:00
imagination drm/imagination: Fix missing argument in pvr_power_fw_{en,dis}able() 2026-05-20 10:52:10 +02:00
imx drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
ingenic drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
kmb drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
lima drm/lima: Remove drm_sched_init_args->num_rqs usage 2026-04-17 14:43:29 +02:00
logicvc drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
loongson Linux 7.1-rc5 2026-05-28 09:58:36 +02:00
mcde
mediatek Linux 7.1-rc5 2026-05-28 09:58:36 +02:00
meson drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
mgag200 drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
msm drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
mxsfb drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
nouveau drm fixes for 7.2-rc1 2026-06-26 17:03:48 -07:00
nova rust/drm/gem: Use DeviceContext with GEM objects 2026-06-02 22:51:16 +02:00
omapdrm drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
panel Merge drm/drm-next into drm-misc-next 2026-05-28 11:27:53 +02:00
panfrost Linux 7.1-rc5 2026-05-28 09:58:36 +02:00
panthor drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
pl111
qxl Linux 7.1-rc5 2026-05-28 09:58:36 +02:00
radeon drm/radeon: fix r100_copy_blit for large BOs 2026-06-17 18:19:00 -04:00
renesas [GIT PULL for v7.2] media updates 2026-06-18 17:21:54 -07:00
rockchip drm/rockchip: dw_hdmi: avoid direct dereference of phy->dev.of_node 2026-05-21 11:35:04 +02:00
scheduler drm/sched: Fix clang build warning in kunit tests 2026-05-29 10:37:12 +01:00
sitronix drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
solomon drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
sprd drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
sti Linux 7.1-rc5 2026-05-28 09:58:36 +02:00
stm drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
sun4i drm/sun4i: hdmi: Use the common TMDS char rate constant 2026-05-21 11:45:53 +02:00
sysfb drm fixes for 7.2-rc1 2026-06-26 17:03:48 -07:00
tegra soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
tests drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
tidss drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
tilcdc drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
tiny Linux 7.1-rc5 2026-05-28 09:58:36 +02:00
ttm drm/ttm: Fix ttm_bo_shrink() infinite LRU walk on backup failure 2026-05-14 15:32:29 +02:00
tve200 drm/tve200: Fix probe cleanup after register failure 2026-05-05 11:16:39 +02:00
tyr rust/drm/gem: Use DeviceContext with GEM objects 2026-06-02 22:51:16 +02:00
udl drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
v3d drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
vboxvideo drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
vc4 drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
verisilicon drm: verisilicon: fix build failure of cursor plane code 2026-05-26 16:05:53 +08:00
vgem
virtio drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
vkms drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
vmwgfx drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
xe drm/{i915,xe}/display: add core workaround query to display parent interface 2026-08-05 10:28:20 +03:00
xen
xlnx drm: zynqmp_dp: switch to of_drm_get_bridge_by_endpoint() 2026-05-19 10:57:26 +02:00
drm_atomic_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_atomic_state_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_atomic_uapi.c drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
drm_atomic.c drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
drm_auth.c drm/auth: Only drm_drop_master if it exists 2026-04-21 22:05:51 +08:00
drm_blend.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_bridge_helper.c
drm_bridge.c drm/bridge: add of_drm_get_bridge_by_endpoint() 2026-05-19 10:57:25 +02:00
drm_buddy.c drm/buddy: Integrate lockdep annotations for gpu buddy manager 2026-05-08 19:16:19 +05:30
drm_cache.c
drm_client_event.c
drm_client_modeset.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_client_sysrq.c
drm_client.c
drm_color_mgmt.c mm.git review status for mm-hotfixes-stable..mm-nonmm-stable 2026-06-21 13:20:19 -07:00
drm_colorop.c drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
drm_connector.c drm fixes for 7.2-rc1 2026-06-26 17:03:48 -07:00
drm_crtc_helper_internal.h
drm_crtc_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_crtc_internal.h drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_crtc.c drm/simple-kms: Deprecate simple-kms helpers 2026-03-25 15:05:22 +01:00
drm_damage_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_debugfs_crc.c
drm_debugfs.c
drm_displayid_internal.h drm/displayid: fix Tiled Display Topology ID size 2026-06-15 13:50:42 +03:00
drm_displayid.c
drm_draw_internal.h
drm_draw.c
drm_drv.c drm/gem: Make the GEM LRU lock part of drm_device 2026-05-18 15:16:47 +02:00
drm_dumb_buffers.c drm/dumb-buffer: Drop buffer-size limits for now 2026-06-03 18:47:51 +02:00
drm_edid_load.c
drm_edid.c drm/edid: fix OOB read in drm_parse_tiled_block() 2026-06-22 11:13:27 +03:00
drm_eld.c
drm_encoder.c drm/encoder: drm_encoder_cleanup: lock the encoder chain mutex during removal 2026-04-16 09:08:42 +02:00
drm_exec.c drm/exec, drm/xe: Avoid abusing the drm_exec retry pointer 2026-05-25 10:45:38 +02:00
drm_fb_dma_helper.c
drm_fb_helper.c Linux 7.1-rc5 2026-05-28 09:58:36 +02:00
drm_fbdev_dma.c
drm_fbdev_shmem.c
drm_fbdev_ttm.c
drm_file.c Revert "drm: Fix use-after-free on framebuffers and property blobs when calling drm_dev_unplug" 2026-03-26 14:09:26 +01:00
drm_flip_work.c
drm_format_helper.c
drm_format_internal.h
drm_fourcc.c drm/fourcc: Add DRM_FORMAT_XVUY2101010 2026-05-05 14:04:29 +03:00
drm_framebuffer.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_gem_atomic_helper.c drm/simple-kms: Deprecate simple-kms helpers 2026-03-25 15:05:22 +01:00
drm_gem_dma_helper.c drm/gem-dma: set VM_DONTDUMP for mmap 2026-03-26 14:35:18 +08:00
drm_gem_framebuffer_helper.c drm/gem: Fix inconsistent plane dimension calculation in drm_gem_fb_init_with_funcs() 2026-04-27 11:27:22 +02:00
drm_gem_shmem_helper.c drm/gem/shmem: Introduce __drm_gem_shmem_free_sgt_locked() 2026-06-02 13:16:40 -04:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c drm/vram: remove DRM_VRAM_MM_FILE_OPERATIONS from docs 2026-04-09 09:34:28 +02:00
drm_gem.c drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
drm_gpusvm.c drm: Drop HPAGE_PMD_SIZE dependency in dma_iova_try_alloc calls 2026-05-07 14:07:36 -04:00
drm_gpuvm.c DRM Rust changes for v7.2-rc1 2026-06-05 09:13:12 +10:00
drm_internal.h
drm_ioc32.c drm/ioc32: stop speculation on the drm_compat_ioctl path 2026-04-02 08:24:55 +02:00
drm_ioctl.c drm/gem: Try to fix change_handle ioctl, attempt 4 2026-06-06 08:54:55 +10:00
drm_kms_helper_common.c
drm_lease.c
drm_managed.c drm/managed: use special gfp_t format specifier 2026-05-28 21:04:52 -07:00
drm_mipi_dbi.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_mipi_dsi.c drm/mipi-dsi: add mipi_dsi_shutdown_peripheral_multi 2026-04-24 10:12:16 -07:00
drm_mm.c
drm_mode_config.c Linux 7.0-rc7 2026-04-07 12:36:31 +02:00
drm_mode_object.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_modes.c drm/modes: Add DRM_MODE_MATCH_TIMINGS_VRR 2026-06-24 18:54:10 +03:00
drm_modeset_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_modeset_lock.c
drm_of.c drm: of: forbid bridge-only calls to drm_of_find_panel_or_bridge() 2026-05-19 10:57:26 +02:00
drm_pagemap_util.c drm/pagemap_util: Ensure proper cache lock management on free 2026-03-17 15:39:07 +01:00
drm_pagemap.c drm: Drop HPAGE_PMD_SIZE dependency in dma_iova_try_alloc calls 2026-05-07 14:07:36 -04:00
drm_panel_backlight_quirks.c
drm_panel_orientation_quirks.c
drm_panel.c drm/panel: fix kernel-doc warning for devm_drm_panel_add() 2026-05-26 16:00:32 +02:00
drm_panic_qr.rs
drm_panic.c
drm_pci.c
drm_plane_helper.c
drm_plane.c
drm_prime.c drm/prime: Limit scatter list size with dedicated DMA device 2026-03-23 13:23:29 +08:00
drm_print.c
drm_privacy_screen_x86.c
drm_privacy_screen.c
drm_probe_helper.c
drm_property.c
drm_ras_genl_family.c
drm_ras_nl.c drm/drm_ras: Add clear-error-counter netlink command to drm_ras 2026-04-24 08:43:42 -04:00
drm_ras_nl.h drm/drm_ras: Add clear-error-counter netlink command to drm_ras 2026-04-24 08:43:42 -04:00
drm_ras.c drm/drm_ras: Add clear-error-counter netlink command to drm_ras 2026-04-24 08:43:42 -04:00
drm_rect.c
drm_self_refresh_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_simple_kms_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_suballoc.c
drm_syncobj.c drm/syncobj: Fix memory leak in drm_syncobj_find_fence() 2026-05-18 11:19:59 +01:00
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vblank_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_vblank_work.c
drm_vblank.c drm/vblank: Extract get_vblank_counter_and_timestamp() 2026-03-27 13:40:44 +02:00
drm_vma_manager.c
drm_writeback.c
Kconfig drm/gpuvm: rust: add RUST_DRM_GPUVM option to Kconfig 2026-05-05 12:59:41 +02:00
Kconfig.debug drm: fix dead default for DRM_TTM_KUNIT_TEST 2026-03-24 16:19:04 +01:00
Makefile Merge drm/drm-next into drm-xe-next 2026-03-12 07:23:23 -07:00