From cce33386b4f60d6f71d4bdd41a44c711a46b5b19 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 23 Aug 2024 06:40:05 +0800 Subject: [PATCH] 5.10-stable patches added patches: media-solo6x10-replace-max-a-min-b-c-by-clamp-b-a-c.patch --- ...replace-max-a-min-b-c-by-clamp-b-a-c.patch | 59 +++++++++++++++++++ queue-5.10/series | 1 + 2 files changed, 60 insertions(+) create mode 100644 queue-5.10/media-solo6x10-replace-max-a-min-b-c-by-clamp-b-a-c.patch diff --git a/queue-5.10/media-solo6x10-replace-max-a-min-b-c-by-clamp-b-a-c.patch b/queue-5.10/media-solo6x10-replace-max-a-min-b-c-by-clamp-b-a-c.patch new file mode 100644 index 00000000000..79144cb5b96 --- /dev/null +++ b/queue-5.10/media-solo6x10-replace-max-a-min-b-c-by-clamp-b-a-c.patch @@ -0,0 +1,59 @@ +From 31e97d7c9ae3de072d7b424b2cf706a03ec10720 Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno +Date: Sat, 13 Jan 2024 19:33:31 +0100 +Subject: media: solo6x10: replace max(a, min(b, c)) by clamp(b, a, c) + +From: Aurelien Jarno + +commit 31e97d7c9ae3de072d7b424b2cf706a03ec10720 upstream. + +This patch replaces max(a, min(b, c)) by clamp(b, a, c) in the solo6x10 +driver. This improves the readability and more importantly, for the +solo6x10-p2m.c file, this reduces on my system (x86-64, gcc 13): + + - the preprocessed size from 121 MiB to 4.5 MiB; + + - the build CPU time from 46.8 s to 1.6 s; + + - the build memory from 2786 MiB to 98MiB. + +In fine, this allows this relatively simple C file to be built on a +32-bit system. + +Reported-by: Jiri Slaby +Closes: https://lore.kernel.org/lkml/18c6df0d-45ed-450c-9eda-95160a2bbb8e@gmail.com/ +Cc: # v6.7+ +Suggested-by: David Laight +Signed-off-by: Aurelien Jarno +Reviewed-by: David Laight +Reviewed-by: Hans Verkuil +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/pci/solo6x10/solo6x10-offsets.h | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +--- a/drivers/media/pci/solo6x10/solo6x10-offsets.h ++++ b/drivers/media/pci/solo6x10/solo6x10-offsets.h +@@ -57,16 +57,16 @@ + #define SOLO_MP4E_EXT_ADDR(__solo) \ + (SOLO_EREF_EXT_ADDR(__solo) + SOLO_EREF_EXT_AREA(__solo)) + #define SOLO_MP4E_EXT_SIZE(__solo) \ +- max((__solo->nr_chans * 0x00080000), \ +- min(((__solo->sdram_size - SOLO_MP4E_EXT_ADDR(__solo)) - \ +- __SOLO_JPEG_MIN_SIZE(__solo)), 0x00ff0000)) ++ clamp(__solo->sdram_size - SOLO_MP4E_EXT_ADDR(__solo) - \ ++ __SOLO_JPEG_MIN_SIZE(__solo), \ ++ __solo->nr_chans * 0x00080000, 0x00ff0000) + + #define __SOLO_JPEG_MIN_SIZE(__solo) (__solo->nr_chans * 0x00080000) + #define SOLO_JPEG_EXT_ADDR(__solo) \ + (SOLO_MP4E_EXT_ADDR(__solo) + SOLO_MP4E_EXT_SIZE(__solo)) + #define SOLO_JPEG_EXT_SIZE(__solo) \ +- max(__SOLO_JPEG_MIN_SIZE(__solo), \ +- min((__solo->sdram_size - SOLO_JPEG_EXT_ADDR(__solo)), 0x00ff0000)) ++ clamp(__solo->sdram_size - SOLO_JPEG_EXT_ADDR(__solo), \ ++ __SOLO_JPEG_MIN_SIZE(__solo), 0x00ff0000) + + #define SOLO_SDRAM_END(__solo) \ + (SOLO_JPEG_EXT_ADDR(__solo) + SOLO_JPEG_EXT_SIZE(__solo)) diff --git a/queue-5.10/series b/queue-5.10/series index 86a7d6b2882..7f7df7c379d 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -84,3 +84,4 @@ nvmet-rdma-fix-possible-bad-dereference-when-freeing.patch hrtimer-prevent-queuing-of-hrtimer-without-a-functio.patch gtp-pull-network-headers-in-gtp_dev_xmit.patch block-use-unsigned-long-for-blk_validate_block_size.patch +media-solo6x10-replace-max-a-min-b-c-by-clamp-b-a-c.patch -- 2.47.3