linux/drivers/gpu/drm
Linus Torvalds 4477b39c32 minmax: add a few more MIN_T/MAX_T users
Commit 3a7e02c040 ("minmax: avoid overly complicated constant
expressions in VM code") added the simpler MIN_T/MAX_T macros in order
to avoid some excessive expansion from the rather complicated regular
min/max macros.

The complexity of those macros stems from two issues:

 (a) trying to use them in situations that require a C constant
     expression (in static initializers and for array sizes)

 (b) the type sanity checking

and MIN_T/MAX_T avoids both of these issues.

Now, in the whole (long) discussion about all this, it was pointed out
that the whole type sanity checking is entirely unnecessary for
min_t/max_t which get a fixed type that the comparison is done in.

But that still leaves min_t/max_t unnecessarily complicated due to
worries about the C constant expression case.

However, it turns out that there really aren't very many cases that use
min_t/max_t for this, and we can just force-convert those.

This does exactly that.

Which in turn will then allow for much simpler implementations of
min_t()/max_t().  All the usual "macros in all upper case will evaluate
the arguments multiple times" rules apply.

We should do all the same things for the regular min/max() vs MIN/MAX()
cases, but that has the added complexity of various drivers defining
their own local versions of MIN/MAX, so that needs another level of
fixes first.

Link: https://lore.kernel.org/all/b47fad1d0cf8449886ad148f8c013dae@AcuMS.aculab.com/
Cc: David Laight <David.Laight@aculab.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-07-28 13:41:14 -07:00
..
amd drm/amdgpu: reset vm state machine after gpu reset(vram lost) 2024-07-24 17:30:49 -04:00
arm Linux 6.10-rc6 2024-07-05 10:47:28 +02:00
armada
aspeed
ast drm/ast: Use drm_atomic_helper_commit_tail() helper 2024-07-03 09:38:23 +02:00
atmel-hlcdc drm: atmel-hlcdc: add LCD controller layer definition for sam9x75 2024-05-30 15:47:55 +02:00
bridge drm next for 6.11-rc1: 2024-07-18 09:34:02 -07:00
ci drm/ci: add tests on vkms 2024-06-17 08:02:48 -03:00
display Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
etnaviv drm/etnaviv: don't block scheduler when GPU is still active 2024-06-26 15:33:25 +02:00
exynos Linux 6.10-rc6 2024-07-05 10:47:28 +02:00
fsl-dcu
gma500 drm next for 6.11-rc1: 2024-07-18 09:34:02 -07:00
gud drm: add missing MODULE_DESCRIPTION() macros 2024-06-10 12:44:39 +02:00
hisilicon drm/hisilicon/hibmc: convert to struct drm_edid 2024-05-27 15:31:18 +03:00
hyperv
i2c drm/i2c: tda998x: switch to struct drm_edid 2024-05-13 19:10:57 +02:00
i915 drm fixes for 6.11-rc1 2024-07-26 10:57:07 -07:00
imagination drm/imagination: Convert to platform remove callback returning void 2024-05-27 10:13:55 +02:00
imx drm/imx/ldb: convert to struct drm_edid 2024-05-27 17:25:49 +03:00
ingenic Merge drm/drm-next into drm-misc-next 2024-05-27 11:08:31 +02:00
kmb
lib
lima drm-misc-next for $kernel-version: 2024-07-05 12:37:22 +02:00
logicvc
loongson drm/loongson/7a2000: convert to struct drm_edid 2024-05-27 15:31:36 +03:00
mcde
mediatek Mediatek DRM Next for Linux 6.11 2024-07-05 11:36:25 +02:00
meson drm next for 6.11-rc1: 2024-07-18 09:34:02 -07:00
mgag200 drm/mgag200: Rename constant MGAREG_Status to MGAREG_STATUS 2024-07-03 17:55:29 +02:00
msm IOMMU Updates for Linux v6.11 2024-07-19 09:59:58 -07:00
mxsfb
nouveau drm next for 6.11-rc1: 2024-07-18 09:34:02 -07:00
omapdrm drm/omap: Restrict compile testing to PAGE_SIZE less than 64KB 2024-07-12 13:13:15 +10:00
panel A fix for fbdev on big endian systems, a condition fix for a sharp panel 2024-07-12 12:50:30 +10:00
panfrost drm-misc-next for $kernel-version: 2024-07-05 12:37:22 +02:00
panthor drm next for 6.11-rc1: 2024-07-18 09:34:02 -07:00
pl111
qxl drm/qxl: Pin buffer objects for internal mappings 2024-07-10 09:12:42 +02:00
radeon drm/radeon: check bo_va->bo is non-NULL before using it 2024-07-01 16:54:22 -04:00
renesas Linux 6.10-rc6 2024-07-05 10:47:28 +02:00
rockchip drm/bridge: analogix_dp: remove unused analogix_dp_remove 2024-06-27 11:52:04 +02:00
scheduler tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
solomon
sprd
sti drm/sti: Allow build with COMPILE_TEST=y 2024-05-28 21:43:46 +03:00
stm Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
sun4i drm/sun4i: Fix layer zpos change/atomic modesetting 2024-06-10 12:44:41 +02:00
tegra
tests drm-misc-next for $kernel-version: 2024-07-05 12:37:22 +02:00
tidss drm/tidss: Add drm_panic support 2024-06-18 10:06:35 +02:00
tilcdc
tiny drm/tiny: add missing MODULE_DESCRIPTION() macros 2024-06-10 12:44:32 +02:00
ttm drm next for 6.11-rc1: 2024-07-18 09:34:02 -07:00
tve200
udl drm: add missing MODULE_DESCRIPTION() macros 2024-06-10 12:44:39 +02:00
v3d drm/v3d: Fix Indirect Dispatch configuration for V3D 7.1.6 and later 2024-07-15 12:49:52 -03:00
vboxvideo pci-v6.11-changes 2024-07-19 19:03:18 -07:00
vc4 drm/vc4: vec: Add the margin properties to the connector 2024-06-20 10:02:41 +02:00
vgem
virtio virtio: features, fixes, cleanups 2024-07-19 11:57:55 -07:00
vkms
vmwgfx drm next for 6.11-rc1: 2024-07-18 09:34:02 -07:00
xe drm fixes for 6.11-rc1 2024-07-26 10:57:07 -07:00
xen
xlnx drm: zynqmp_dp: Don't delay work 2024-06-17 10:38:18 +03:00
Kconfig Linux 6.10-rc6 2024-07-05 10:47:28 +02:00
Makefile
drm_aperture.c
drm_atomic.c Merge tag 'drm-intel-next-2024-06-28' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next 2024-07-10 10:36:47 +02:00
drm_atomic_helper.c
drm_atomic_state_helper.c
drm_atomic_uapi.c drm/connector: hdmi: Add Broadcast RGB property 2024-05-28 10:24:37 +02:00
drm_auth.c
drm_blend.c
drm_bridge.c drm/bridge: Drop drm_bridge_chain_mode_fixup 2024-06-10 14:09:42 +02:00
drm_bridge_connector.c drm/bridge-connector: implement glue code for HDMI connector 2024-06-12 10:56:57 +03:00
drm_buddy.c Short summary of fixes pull: 2024-05-27 13:47:14 +10:00
drm_cache.c
drm_client.c
drm_client_modeset.c
drm_color_mgmt.c minmax: add a few more MIN_T/MAX_T users 2024-07-28 13:41:14 -07:00
drm_connector.c drm: Add DRM_MODE_TV_MODE_MONOCHROME 2024-06-18 11:13:30 +02:00
drm_crtc.c drm: Rename drm_plane_check_pixel_format() to drm_plane_has_format() 2024-06-24 17:08:33 +03:00
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h Merge tag 'drm-intel-next-2024-06-28' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next 2024-07-10 10:36:47 +02:00
drm_damage_helper.c
drm_debugfs.c drm/bridge-connector: implement glue code for HDMI connector 2024-06-12 10:56:57 +03:00
drm_debugfs_crc.c
drm_displayid.c
drm_displayid_internal.h
drm_drv.c
drm_dumb_buffers.c
drm_edid.c drm/edid: add a helper for EDID sysfs property show 2024-05-23 14:37:24 +03:00
drm_edid_load.c
drm_eld.c
drm_encoder.c
drm_encoder_slave.c
drm_exec.c
drm_fb_dma_helper.c
drm_fb_helper.c Linux 6.10-rc6 2024-07-05 10:47:28 +02:00
drm_fbdev_dma.c A fix for fbdev on big endian systems, a condition fix for a sharp panel 2024-07-12 12:50:30 +10:00
drm_fbdev_shmem.c drm/fbdev-shmem: Clean up deferred I/O 2024-05-15 14:50:46 +02:00
drm_fbdev_ttm.c drm next for 6.11-rc1: 2024-07-18 09:34:02 -07:00
drm_file.c drm/drm_file: Fix pid refcounting race 2024-06-28 08:56:26 +10:00
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c
drm_gem.c
drm_gem_atomic_helper.c
drm_gem_dma_helper.c
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm/gem-shmem: Add import attachment warning to locked pin function 2024-05-29 09:30:44 +02:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c
drm_gpuvm.c
drm_internal.h
drm_ioc32.c
drm_ioctl.c drm: use "0" instead of "" for deprecated driver date 2024-05-10 20:56:12 +03:00
drm_kms_helper_common.c
drm_lease.c
drm_managed.c drm/managed: Simplify if condition 2024-07-03 10:11:03 +02:00
drm_mipi_dbi.c drm: add missing MODULE_DESCRIPTION() macros 2024-06-10 12:44:39 +02:00
drm_mipi_dsi.c Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
drm_mm.c drm/mm: Remove unused drm_mm_replace_node 2024-06-06 10:24:13 -04:00
drm_mode_config.c
drm_mode_object.c drm/mode_object: Export drm_mode_obj_find_prop_id for tests 2024-05-28 09:57:28 +02:00
drm_modes.c drm: Add DRM_MODE_TV_MODE_MONOCHROME 2024-06-18 11:13:30 +02:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_panel_orientation_quirks.c drm next for 6.11-rc1: 2024-07-18 09:34:02 -07:00
drm_panic.c drm/panic: Restrict graphical logo handling to built-in 2024-06-27 11:41:58 +02:00
drm_pci.c
drm_plane.c drm: Export drm_plane_has_format() 2024-06-24 17:08:53 +03:00
drm_plane_helper.c
drm_prime.c
drm_print.c drm/print: Improve drm_dbg_printer 2024-06-06 14:46:15 -04:00
drm_privacy_screen.c
drm_privacy_screen_x86.c
drm_probe_helper.c drm: Add DRM_MODE_TV_MODE_MONOCHROME 2024-06-18 11:13:30 +02:00
drm_property.c
drm_rect.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm: add missing MODULE_DESCRIPTION() macros 2024-06-10 12:44:39 +02:00
drm_suballoc.c
drm_syncobj.c
drm_sysfs.c drm/edid: add a helper for EDID sysfs property show 2024-05-23 14:37:24 +03:00
drm_trace.h
drm_trace_points.c
drm_vblank.c
drm_vblank_work.c drm: Add drm_vblank_work_flush_all(). 2024-06-24 18:03:18 +02:00
drm_vma_manager.c
drm_writeback.c