From 7cf6099cbf08132a51e872a243e18f754478d0b2 Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Sun, 18 Aug 2024 17:01:57 +0200 Subject: [PATCH] - build fix --- kernel.spec | 6 +++- solo6x10_mem_fix.patch | 63 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 solo6x10_mem_fix.patch diff --git a/kernel.spec b/kernel.spec index 4dc034b..6fcb8c7 100644 --- a/kernel.spec +++ b/kernel.spec @@ -5,7 +5,7 @@ %define basever 5.15 %define postver 164 -%define rel 1 +%define rel 2 %define __alt_kernel %{nil} @@ -39,6 +39,8 @@ Source1: http://www.kernel.org/pub/linux/kernel/v5.x/patch-%{version}.xz # Source1-md5: e35f7dcea22c18b48ac29d0a53f36c58 %endif +Patch0: solo6x10_mem_fix.patch + Source2: kernel-module-build.pl Source3: kernel.make @@ -335,6 +337,8 @@ cd linux-%{basever} %{__xz} -dc %{SOURCE1} | patch -p1 -s %endif +%patch0 -p1 + # Fix EXTRAVERSION in main Makefile sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile diff --git a/solo6x10_mem_fix.patch b/solo6x10_mem_fix.patch new file mode 100644 index 0000000..57f76a9 --- /dev/null +++ b/solo6x10_mem_fix.patch @@ -0,0 +1,63 @@ +From 7a62d444a252ea7b95a72172aa0c5e909adcdbf0 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) + +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 +Cc: +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/pci/solo6x10/solo6x10-offsets.h | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/drivers/media/pci/solo6x10/solo6x10-offsets.h b/drivers/media/pci/solo6x10/solo6x10-offsets.h +index f414ee1316f29c..fdbb817e63601c 100644 +--- 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)) +-- +cgit 1.2.3-korg + -- 2.46.0