From 4fcb581330fccf84ab1fb5e4af7417a32010de43ea8be099bd0d8a81c5b361f5 Mon Sep 17 00:00:00 2001 From: Guillaume GARDET Date: Mon, 20 Feb 2023 08:49:07 +0000 Subject: [PATCH] Accepting request 1066717 from hardware:boot:staging OBS-URL: https://build.opensuse.org/request/show/1066717 OBS-URL: https://build.opensuse.org/package/show/hardware:boot/u-boot?expand=0&rev=184 --- ...-Backport-https-patchwork.ozlabs.org.patch | 83 ------------------- 0017-Bump-LMB_MAX_REGIONS-default-to-16.patch | 39 +++++++++ ...-lmb-Treat-a-region-which-is-a-subse.patch | 34 ++++++++ u-boot.changes | 11 +++ u-boot.spec | 3 +- 5 files changed, 86 insertions(+), 84 deletions(-) delete mode 100644 0017-Backport-https-patchwork.ozlabs.org.patch create mode 100644 0017-Bump-LMB_MAX_REGIONS-default-to-16.patch create mode 100644 0018-lmb-Treat-a-region-which-is-a-subse.patch diff --git a/0017-Backport-https-patchwork.ozlabs.org.patch b/0017-Backport-https-patchwork.ozlabs.org.patch deleted file mode 100644 index 9fee444..0000000 --- a/0017-Backport-https-patchwork.ozlabs.org.patch +++ /dev/null @@ -1,83 +0,0 @@ -From f4dbc6d532d05bdb3070c6492d19e268845e8a0c Mon Sep 17 00:00:00 2001 -From: Guillaume Gardet -Date: Fri, 27 Jan 2023 15:08:55 +0100 -Subject: [PATCH] Backport - https://patchwork.ozlabs.org/project/uboot/patch/20230125230823.1567778-1-trini@konsulko.com/ - to fix boo#1207562 - ---- - configs/a3y17lte_defconfig | 1 - - configs/a5y17lte_defconfig | 1 - - configs/a7y17lte_defconfig | 1 - - configs/dragonboard845c_defconfig | 1 - - configs/qcs404evb_defconfig | 1 - - configs/starqltechn_defconfig | 1 - - lib/Kconfig | 1 - - 7 files changed, 7 deletions(-) - -diff --git a/configs/a3y17lte_defconfig b/configs/a3y17lte_defconfig -index 124fb8d476..0215c5f234 100644 ---- a/configs/a3y17lte_defconfig -+++ b/configs/a3y17lte_defconfig -@@ -24,4 +24,3 @@ CONFIG_SYS_BOOTM_LEN=0x2000000 - CONFIG_CMD_GPIO=y - CONFIG_CMD_I2C=y - CONFIG_DM_I2C_GPIO=y --CONFIG_LMB_MAX_REGIONS=64 -diff --git a/configs/a5y17lte_defconfig b/configs/a5y17lte_defconfig -index ffb0b3f474..d1cd97baf5 100644 ---- a/configs/a5y17lte_defconfig -+++ b/configs/a5y17lte_defconfig -@@ -24,4 +24,3 @@ CONFIG_SYS_BOOTM_LEN=0x2000000 - CONFIG_CMD_GPIO=y - CONFIG_CMD_I2C=y - CONFIG_DM_I2C_GPIO=y --CONFIG_LMB_MAX_REGIONS=64 -diff --git a/configs/a7y17lte_defconfig b/configs/a7y17lte_defconfig -index 8c1229d8d5..bef2d0945a 100644 ---- a/configs/a7y17lte_defconfig -+++ b/configs/a7y17lte_defconfig -@@ -24,4 +24,3 @@ CONFIG_SYS_BOOTM_LEN=0x2000000 - CONFIG_CMD_GPIO=y - CONFIG_CMD_I2C=y - CONFIG_DM_I2C_GPIO=y --CONFIG_LMB_MAX_REGIONS=64 -diff --git a/configs/dragonboard845c_defconfig b/configs/dragonboard845c_defconfig -index a69d82761a..cef82f5610 100644 ---- a/configs/dragonboard845c_defconfig -+++ b/configs/dragonboard845c_defconfig -@@ -26,4 +26,3 @@ CONFIG_DM_PMIC=y - CONFIG_PMIC_QCOM=y - CONFIG_MSM_GENI_SERIAL=y - CONFIG_SPMI_MSM=y --CONFIG_LMB_MAX_REGIONS=64 -diff --git a/configs/qcs404evb_defconfig b/configs/qcs404evb_defconfig -index dae1551411..d3608cae9f 100644 ---- a/configs/qcs404evb_defconfig -+++ b/configs/qcs404evb_defconfig -@@ -51,4 +51,3 @@ CONFIG_USB_XHCI_DWC3=y - CONFIG_USB_DWC3=y - CONFIG_USB_DWC3_GENERIC=y - CONFIG_USB_STORAGE=y --CONFIG_LMB_MAX_REGIONS=64 -diff --git a/configs/starqltechn_defconfig b/configs/starqltechn_defconfig -index 7955076d61..243f3f90c5 100644 ---- a/configs/starqltechn_defconfig -+++ b/configs/starqltechn_defconfig -@@ -33,4 +33,3 @@ CONFIG_VIDEO=y - CONFIG_SYS_WHITE_ON_BLACK=y - CONFIG_VIDEO_SIMPLE=y - CONFIG_VIDEO_DT_SIMPLEFB=y --CONFIG_LMB_MAX_REGIONS=64 -diff --git a/lib/Kconfig b/lib/Kconfig -index 3c5a4ab386..4abd987edd 100644 ---- a/lib/Kconfig -+++ b/lib/Kconfig -@@ -992,7 +992,6 @@ config LMB - config LMB_USE_MAX_REGIONS - bool "Use a common number of memory and reserved regions in lmb lib" - depends on LMB -- default y - help - Define the number of supported memory regions in the library logical - memory blocks. diff --git a/0017-Bump-LMB_MAX_REGIONS-default-to-16.patch b/0017-Bump-LMB_MAX_REGIONS-default-to-16.patch new file mode 100644 index 0000000..a26f44d --- /dev/null +++ b/0017-Bump-LMB_MAX_REGIONS-default-to-16.patch @@ -0,0 +1,39 @@ +From 1760447d478bd16aceebe67b8e03d7e2d9e87fbc Mon Sep 17 00:00:00 2001 +From: Sjoerd Simons +Date: Thu, 19 Jan 2023 09:38:17 +0100 +Subject: [PATCH] Bump LMB_MAX_REGIONS default to 16 + +Since commit 06d514d77c37 ("lmb: consider EFI memory map") the EFI regions +are also pushed into the lmb if EFI_LOADER is enabled (which is by +default on most system). Which can cause the number of entries to go +over the maximum as it's default is only 8. + +Specifically i ran into this case on an TI am62 which has an fdt with +4 reserved regions (in practice 3 lmb entries due to adjecent ranges). + +As this is likely to impact more devices bump the default max +regions to 16 so there is a bit more slack. + +Fixes: 06d514d77c ("lmb: consider EFI memory map") +Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1207562 +Reviewed-by: Francesco Dolcini +Signed-off-by: Sjoerd Simons +Signed-off-by: Michal Suchanek +[trini: collect tags from the other equivalent patch] +--- + lib/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/Kconfig b/lib/Kconfig +index 3c5a4ab386..7d1b88656d 100644 +--- a/lib/Kconfig ++++ b/lib/Kconfig +@@ -1002,7 +1002,7 @@ config LMB_USE_MAX_REGIONS + config LMB_MAX_REGIONS + int "Number of memory and reserved regions in lmb lib" + depends on LMB && LMB_USE_MAX_REGIONS +- default 8 ++ default 16 + help + Define the number of supported regions, memory and reserved, in the + library logical memory blocks. diff --git a/0018-lmb-Treat-a-region-which-is-a-subse.patch b/0018-lmb-Treat-a-region-which-is-a-subse.patch new file mode 100644 index 0000000..813b1f0 --- /dev/null +++ b/0018-lmb-Treat-a-region-which-is-a-subse.patch @@ -0,0 +1,34 @@ +From 8a5a3aa5d3ee1a06f654fad4f648aa9c550f889e Mon Sep 17 00:00:00 2001 +From: Sjoerd Simons +Date: Sun, 12 Feb 2023 16:07:05 +0100 +Subject: [PATCH] lmb: Treat a region which is a subset as equal + +In various cases logical memory blocks are coalesced; As a result doing +a strict check whether memory blocks are the same doesn't necessarily +work as a previous addition of a given block might have been merged into +a bigger block. + +Fix this by considering a block is already registered if it's a pure +subset of one of the existing blocks. + +Signed-off-by: Sjoerd Simons +--- + lib/lmb.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/lmb.c b/lib/lmb.c +index ec790760db..866b0699d5 100644 +--- a/lib/lmb.c ++++ b/lib/lmb.c +@@ -244,8 +244,10 @@ static long lmb_add_region_flags(struct lmb_region *rgn, phys_addr_t base, + phys_addr_t rgnbase = rgn->region[i].base; + phys_size_t rgnsize = rgn->region[i].size; + phys_size_t rgnflags = rgn->region[i].flags; ++ phys_addr_t end = base + size - 1; ++ phys_addr_t rgnend = rgnbase + rgnsize - 1; + +- if (rgnbase == base && rgnsize == size) { ++ if (rgnbase <= base && end <= rgnend) { + if (flags == rgnflags) + /* Already have this region, so we're done */ + return 0; diff --git a/u-boot.changes b/u-boot.changes index 035b2f5..8a38620 100644 --- a/u-boot.changes +++ b/u-boot.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Feb 20 07:54:47 UTC 2023 - Guillaume GARDET + +Patch queue updated from https://github.com/openSUSE/u-boot.git tumbleweed-2023.01 +Use new upstream solution to fix boo#1207562 +* Patches dropped: + 0017-Backport-https-patchwork.ozlabs.org.patch +* Patches added: + 0017-Bump-LMB_MAX_REGIONS-default-to-16.patch + 0018-lmb-Treat-a-region-which-is-a-subse.patch + ------------------------------------------------------------------- Fri Jan 27 14:10:12 UTC 2023 - Guillaume GARDET diff --git a/u-boot.spec b/u-boot.spec index 07e39d2..6640698 100644 --- a/u-boot.spec +++ b/u-boot.spec @@ -238,7 +238,8 @@ Patch0013: 0013-Disable-timer-check-in-file-loading.patch Patch0014: 0014-Enable-EFI-and-ISO-partitions-suppo.patch Patch0015: 0015-cmd-boot-add-brom-cmd-to-reboot-to-.patch Patch0016: 0016-cmd-boot-add-brom-cmd-to-reboot-to-.patch -Patch0017: 0017-Backport-https-patchwork.ozlabs.org.patch +Patch0017: 0017-Bump-LMB_MAX_REGIONS-default-to-16.patch +Patch0018: 0018-lmb-Treat-a-region-which-is-a-subse.patch # Patches: end BuildRequires: bc BuildRequires: bison