* [PATCH 0/2] U-Boot ENV in EXT4 support for Expressobin (revised) @ 2022-02-08 23:26 Rogier Stam 2022-02-08 23:27 ` [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI Rogier Stam 2022-02-08 23:27 ` [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT Rogier Stam 0 siblings, 2 replies; 9+ messages in thread From: Rogier Stam @ 2022-02-08 23:26 UTC (permalink / raw) To: u-boot; +Cc: Rogier Stam Hi Per comments of Stefan I have split the patch in two: - one for env file changes - one for espressobin related changes Let me know if any other changes are needed. Regards Rogier Rogier Stam (2): Fix Espressobin build for configs where ENV is not in SPI Add SCSI scan for ENV in EXT4 or FAT arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi | 2 ++ board/Marvell/mvebu_armada-37xx/board.c | 4 +++- env/ext4.c | 5 +++++ env/fat.c | 5 +++++ 4 files changed, 15 insertions(+), 1 deletion(-) -- 2.7.4 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI 2022-02-08 23:26 [PATCH 0/2] U-Boot ENV in EXT4 support for Expressobin (revised) Rogier Stam @ 2022-02-08 23:27 ` Rogier Stam 2022-02-28 7:10 ` Pali Rohár 2022-02-08 23:27 ` [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT Rogier Stam 1 sibling, 1 reply; 9+ messages in thread From: Rogier Stam @ 2022-02-08 23:27 UTC (permalink / raw) To: u-boot; +Cc: Rogier Stam When storing the UBoot Environment in for example EXT4, the U-Boot build is broken for several reasons: 1. armada-385-turris-omnia-u-boot.dtsi will not allow CONFIG_ENV_OFFSET and CONFIG_ENV_SIZE to be undefined 2. armada-37xx/board.c ft_board_setup function does not exist if CONFIG_ENV_IS_IN_SPI_FLASH is not defined This commit changes these files so that selecting a different location for the environment is possible. Signed-off-by: Rogier Stam <rogier@unrailed.org> --- arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi | 2 ++ board/Marvell/mvebu_armada-37xx/board.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi index 3ff76c9..008787e 100644 --- a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi +++ b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi @@ -38,6 +38,7 @@ }; }; +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH &spi0 { u-boot,dm-pre-reloc; @@ -56,6 +57,7 @@ }; }; }; +#endif &uart0 { u-boot,dm-pre-reloc; diff --git a/board/Marvell/mvebu_armada-37xx/board.c b/board/Marvell/mvebu_armada-37xx/board.c index d7b6eca..5bace0c 100644 --- a/board/Marvell/mvebu_armada-37xx/board.c +++ b/board/Marvell/mvebu_armada-37xx/board.c @@ -328,9 +328,10 @@ int board_network_enable(struct mii_dev *bus) return 0; } -#if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_ENV_IS_IN_SPI_FLASH) +#ifdef CONFIG_OF_BOARD_SETUP int ft_board_setup(void *blob, struct bd_info *bd) { +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH int ret; int spi_off; int parts_off; @@ -424,6 +425,7 @@ int ft_board_setup(void *blob, struct bd_info *bd) return 0; } +#endif return 0; } #endif -- 2.7.4 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI 2022-02-08 23:27 ` [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI Rogier Stam @ 2022-02-28 7:10 ` Pali Rohár 2022-04-21 13:55 ` Stefan Roese 0 siblings, 1 reply; 9+ messages in thread From: Pali Rohár @ 2022-02-28 7:10 UTC (permalink / raw) To: Rogier Stam, Marek Behun, Stefan Roese; +Cc: u-boot + Marek, Stefan On Wednesday 09 February 2022 00:27:00 Rogier Stam wrote: > When storing the UBoot Environment in for example EXT4, > the U-Boot build is broken for several reasons: > 1. armada-385-turris-omnia-u-boot.dtsi will not allow > CONFIG_ENV_OFFSET and CONFIG_ENV_SIZE to be undefined > 2. armada-37xx/board.c ft_board_setup function does not > exist if CONFIG_ENV_IS_IN_SPI_FLASH is not defined > > This commit changes these files so that selecting a > different location for the environment is possible. > > Signed-off-by: Rogier Stam <rogier@unrailed.org> Reviewed-by: Pali Rohár <pali@kernel.org> > --- > arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi | 2 ++ > board/Marvell/mvebu_armada-37xx/board.c | 4 +++- > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi > index 3ff76c9..008787e 100644 > --- a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi > +++ b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi > @@ -38,6 +38,7 @@ > }; > }; > > +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH > &spi0 { > u-boot,dm-pre-reloc; > > @@ -56,6 +57,7 @@ > }; > }; > }; > +#endif > > &uart0 { > u-boot,dm-pre-reloc; > diff --git a/board/Marvell/mvebu_armada-37xx/board.c b/board/Marvell/mvebu_armada-37xx/board.c > index d7b6eca..5bace0c 100644 > --- a/board/Marvell/mvebu_armada-37xx/board.c > +++ b/board/Marvell/mvebu_armada-37xx/board.c > @@ -328,9 +328,10 @@ int board_network_enable(struct mii_dev *bus) > return 0; > } > > -#if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_ENV_IS_IN_SPI_FLASH) > +#ifdef CONFIG_OF_BOARD_SETUP > int ft_board_setup(void *blob, struct bd_info *bd) > { > +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH > int ret; > int spi_off; > int parts_off; > @@ -424,6 +425,7 @@ int ft_board_setup(void *blob, struct bd_info *bd) > return 0; > } > > +#endif > return 0; > } > #endif > -- > 2.7.4 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI 2022-02-28 7:10 ` Pali Rohár @ 2022-04-21 13:55 ` Stefan Roese 0 siblings, 0 replies; 9+ messages in thread From: Stefan Roese @ 2022-04-21 13:55 UTC (permalink / raw) To: Pali Rohár, Rogier Stam, Marek Behun; +Cc: u-boot On 2/28/22 08:10, Pali Rohár wrote: > + Marek, Stefan > > On Wednesday 09 February 2022 00:27:00 Rogier Stam wrote: >> When storing the UBoot Environment in for example EXT4, >> the U-Boot build is broken for several reasons: >> 1. armada-385-turris-omnia-u-boot.dtsi will not allow >> CONFIG_ENV_OFFSET and CONFIG_ENV_SIZE to be undefined >> 2. armada-37xx/board.c ft_board_setup function does not >> exist if CONFIG_ENV_IS_IN_SPI_FLASH is not defined >> >> This commit changes these files so that selecting a >> different location for the environment is possible. >> >> Signed-off-by: Rogier Stam <rogier@unrailed.org> > > Reviewed-by: Pali Rohár <pali@kernel.org> Applied to u-boot-marvell/master Thanks, Stefan >> --- >> arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi | 2 ++ >> board/Marvell/mvebu_armada-37xx/board.c | 4 +++- >> 2 files changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi >> index 3ff76c9..008787e 100644 >> --- a/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi >> +++ b/arch/arm/dts/armada-385-turris-omnia-u-boot.dtsi >> @@ -38,6 +38,7 @@ >> }; >> }; >> >> +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH >> &spi0 { >> u-boot,dm-pre-reloc; >> >> @@ -56,6 +57,7 @@ >> }; >> }; >> }; >> +#endif >> >> &uart0 { >> u-boot,dm-pre-reloc; >> diff --git a/board/Marvell/mvebu_armada-37xx/board.c b/board/Marvell/mvebu_armada-37xx/board.c >> index d7b6eca..5bace0c 100644 >> --- a/board/Marvell/mvebu_armada-37xx/board.c >> +++ b/board/Marvell/mvebu_armada-37xx/board.c >> @@ -328,9 +328,10 @@ int board_network_enable(struct mii_dev *bus) >> return 0; >> } >> >> -#if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_ENV_IS_IN_SPI_FLASH) >> +#ifdef CONFIG_OF_BOARD_SETUP >> int ft_board_setup(void *blob, struct bd_info *bd) >> { >> +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH >> int ret; >> int spi_off; >> int parts_off; >> @@ -424,6 +425,7 @@ int ft_board_setup(void *blob, struct bd_info *bd) >> return 0; >> } >> >> +#endif >> return 0; >> } >> #endif >> -- >> 2.7.4 >> Viele Grüße, Stefan Roese -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT 2022-02-08 23:26 [PATCH 0/2] U-Boot ENV in EXT4 support for Expressobin (revised) Rogier Stam 2022-02-08 23:27 ` [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI Rogier Stam @ 2022-02-08 23:27 ` Rogier Stam 2022-02-28 7:13 ` Pali Rohár 1 sibling, 1 reply; 9+ messages in thread From: Rogier Stam @ 2022-02-08 23:27 UTC (permalink / raw) To: u-boot; +Cc: Rogier Stam When having environment stored in EXT4 or FAT and using an AHCI or SCSI device / partition the scan would not be performed early enough and hence the device would not be recognized. This change adds the scan when the interface is "scsi" in a similar way to mmc_initialize. Signed-off-by: Rogier Stam <rogier@unrailed.org> --- env/ext4.c | 5 +++++ env/fat.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/env/ext4.c b/env/ext4.c index 9f65afb..47e05a4 100644 --- a/env/ext4.c +++ b/env/ext4.c @@ -31,6 +31,7 @@ #include <errno.h> #include <ext4fs.h> #include <mmc.h> +#include <scsi.h> #include <asm/global_data.h> DECLARE_GLOBAL_DATA_PTR; @@ -146,6 +147,10 @@ static int env_ext4_load(void) if (!strcmp(ifname, "mmc")) mmc_initialize(NULL); #endif +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) + if (!strcmp(ifname, "scsi")) + scsi_scan(true); +#endif part = blk_get_device_part_str(ifname, dev_and_part, &dev_desc, &info, 1); diff --git a/env/fat.c b/env/fat.c index fdccd6c..dbd6a13 100644 --- a/env/fat.c +++ b/env/fat.c @@ -17,6 +17,7 @@ #include <errno.h> #include <fat.h> #include <mmc.h> +#include <scsi.h> #include <asm/cache.h> #include <asm/global_data.h> #include <linux/stddef.h> @@ -122,6 +123,10 @@ static int env_fat_load(void) if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc")) mmc_initialize(NULL); #endif +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) + if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi")) + scsi_scan(true); +#endif part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE, env_fat_device_and_part(), -- 2.7.4 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT 2022-02-08 23:27 ` [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT Rogier Stam @ 2022-02-28 7:13 ` Pali Rohár 2022-04-21 10:34 ` Stefan Roese 0 siblings, 1 reply; 9+ messages in thread From: Pali Rohár @ 2022-02-28 7:13 UTC (permalink / raw) To: Rogier Stam, Simon Glass; +Cc: u-boot + Simon, could you review this change? It would be nice to have this fix in upcoming U-Boot release. On Wednesday 09 February 2022 00:27:01 Rogier Stam wrote: > When having environment stored in EXT4 or FAT > and using an AHCI or SCSI device / partition > the scan would not be performed early enough > and hence the device would not be recognized. > This change adds the scan when the interface > is "scsi" in a similar way to mmc_initialize. > > Signed-off-by: Rogier Stam <rogier@unrailed.org> Reviewed-by: Pali Rohár <pali@kernel.org> > --- > env/ext4.c | 5 +++++ > env/fat.c | 5 +++++ > 2 files changed, 10 insertions(+) > > diff --git a/env/ext4.c b/env/ext4.c > index 9f65afb..47e05a4 100644 > --- a/env/ext4.c > +++ b/env/ext4.c > @@ -31,6 +31,7 @@ > #include <errno.h> > #include <ext4fs.h> > #include <mmc.h> > +#include <scsi.h> > #include <asm/global_data.h> > > DECLARE_GLOBAL_DATA_PTR; > @@ -146,6 +147,10 @@ static int env_ext4_load(void) > if (!strcmp(ifname, "mmc")) > mmc_initialize(NULL); > #endif > +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) > + if (!strcmp(ifname, "scsi")) > + scsi_scan(true); > +#endif > > part = blk_get_device_part_str(ifname, dev_and_part, > &dev_desc, &info, 1); > diff --git a/env/fat.c b/env/fat.c > index fdccd6c..dbd6a13 100644 > --- a/env/fat.c > +++ b/env/fat.c > @@ -17,6 +17,7 @@ > #include <errno.h> > #include <fat.h> > #include <mmc.h> > +#include <scsi.h> > #include <asm/cache.h> > #include <asm/global_data.h> > #include <linux/stddef.h> > @@ -122,6 +123,10 @@ static int env_fat_load(void) > if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc")) > mmc_initialize(NULL); > #endif > +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) > + if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi")) > + scsi_scan(true); > +#endif > > part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE, > env_fat_device_and_part(), > -- > 2.7.4 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT 2022-02-28 7:13 ` Pali Rohár @ 2022-04-21 10:34 ` Stefan Roese 2022-04-21 10:57 ` Pali Rohár 0 siblings, 1 reply; 9+ messages in thread From: Stefan Roese @ 2022-04-21 10:34 UTC (permalink / raw) To: Pali Rohár, Rogier Stam, Simon Glass; +Cc: u-boot Hi Rogier, On 2/28/22 08:13, Pali Rohár wrote: > + Simon, could you review this change? It would be nice to have this fix in upcoming U-Boot release. > > On Wednesday 09 February 2022 00:27:01 Rogier Stam wrote: >> When having environment stored in EXT4 or FAT >> and using an AHCI or SCSI device / partition >> the scan would not be performed early enough >> and hence the device would not be recognized. >> This change adds the scan when the interface >> is "scsi" in a similar way to mmc_initialize. >> >> Signed-off-by: Rogier Stam <rogier@unrailed.org> > > Reviewed-by: Pali Rohár <pali@kernel.org> While running some CI tests, this error occurs with this patch: $ make dra7xx_hs_evm_usb_defconfig ... $ make -s -j20 ... /opt/kernel.org/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld.bfd: env/fat.o: in function `env_fat_load': /home/stefan/git/u-boot/u-boot-marvell/env/fat.c:134: undefined reference to `scsi_scan' make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1 make: *** [Makefile:2101: spl/u-boot-spl] Error 2 Could you please take a look? And send a fixed version which also passed a "world build" for all supported targets? Thanks, Stefan >> --- >> env/ext4.c | 5 +++++ >> env/fat.c | 5 +++++ >> 2 files changed, 10 insertions(+) >> >> diff --git a/env/ext4.c b/env/ext4.c >> index 9f65afb..47e05a4 100644 >> --- a/env/ext4.c >> +++ b/env/ext4.c >> @@ -31,6 +31,7 @@ >> #include <errno.h> >> #include <ext4fs.h> >> #include <mmc.h> >> +#include <scsi.h> >> #include <asm/global_data.h> >> >> DECLARE_GLOBAL_DATA_PTR; >> @@ -146,6 +147,10 @@ static int env_ext4_load(void) >> if (!strcmp(ifname, "mmc")) >> mmc_initialize(NULL); >> #endif >> +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) >> + if (!strcmp(ifname, "scsi")) >> + scsi_scan(true); >> +#endif >> >> part = blk_get_device_part_str(ifname, dev_and_part, >> &dev_desc, &info, 1); >> diff --git a/env/fat.c b/env/fat.c >> index fdccd6c..dbd6a13 100644 >> --- a/env/fat.c >> +++ b/env/fat.c >> @@ -17,6 +17,7 @@ >> #include <errno.h> >> #include <fat.h> >> #include <mmc.h> >> +#include <scsi.h> >> #include <asm/cache.h> >> #include <asm/global_data.h> >> #include <linux/stddef.h> >> @@ -122,6 +123,10 @@ static int env_fat_load(void) >> if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc")) >> mmc_initialize(NULL); >> #endif >> +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) >> + if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi")) >> + scsi_scan(true); >> +#endif >> >> part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE, >> env_fat_device_and_part(), >> -- >> 2.7.4 >> Viele Grüße, Stefan Roese -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT 2022-04-21 10:34 ` Stefan Roese @ 2022-04-21 10:57 ` Pali Rohár 2022-05-11 21:02 ` Rogier Stam 0 siblings, 1 reply; 9+ messages in thread From: Pali Rohár @ 2022-04-21 10:57 UTC (permalink / raw) To: Stefan Roese; +Cc: Rogier Stam, Simon Glass, u-boot On Thursday 21 April 2022 12:34:30 Stefan Roese wrote: > Hi Rogier, > > On 2/28/22 08:13, Pali Rohár wrote: > > + Simon, could you review this change? It would be nice to have this fix in upcoming U-Boot release. > > > > On Wednesday 09 February 2022 00:27:01 Rogier Stam wrote: > > > When having environment stored in EXT4 or FAT > > > and using an AHCI or SCSI device / partition > > > the scan would not be performed early enough > > > and hence the device would not be recognized. > > > This change adds the scan when the interface > > > is "scsi" in a similar way to mmc_initialize. > > > > > > Signed-off-by: Rogier Stam <rogier@unrailed.org> > > > > Reviewed-by: Pali Rohár <pali@kernel.org> > > While running some CI tests, this error occurs with this patch: > > $ make dra7xx_hs_evm_usb_defconfig > ... > $ make -s -j20 > ... > /opt/kernel.org/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld.bfd: > env/fat.o: in function `env_fat_load': > /home/stefan/git/u-boot/u-boot-marvell/env/fat.c:134: undefined reference to > `scsi_scan' > make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1 > make: *** [Makefile:2101: spl/u-boot-spl] Error 2 This is failing while building SPL... > Could you please take a look? And send a fixed version which also > passed a "world build" for all supported targets? > > Thanks, > Stefan > > > > > --- > > > env/ext4.c | 5 +++++ > > > env/fat.c | 5 +++++ > > > 2 files changed, 10 insertions(+) > > > > > > diff --git a/env/ext4.c b/env/ext4.c > > > index 9f65afb..47e05a4 100644 > > > --- a/env/ext4.c > > > +++ b/env/ext4.c > > > @@ -31,6 +31,7 @@ > > > #include <errno.h> > > > #include <ext4fs.h> > > > #include <mmc.h> > > > +#include <scsi.h> > > > #include <asm/global_data.h> > > > DECLARE_GLOBAL_DATA_PTR; > > > @@ -146,6 +147,10 @@ static int env_ext4_load(void) > > > if (!strcmp(ifname, "mmc")) > > > mmc_initialize(NULL); > > > #endif > > > +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) > > > + if (!strcmp(ifname, "scsi")) > > > + scsi_scan(true); > > > +#endif > > > part = blk_get_device_part_str(ifname, dev_and_part, > > > &dev_desc, &info, 1); > > > diff --git a/env/fat.c b/env/fat.c > > > index fdccd6c..dbd6a13 100644 > > > --- a/env/fat.c > > > +++ b/env/fat.c > > > @@ -17,6 +17,7 @@ > > > #include <errno.h> > > > #include <fat.h> > > > #include <mmc.h> > > > +#include <scsi.h> > > > #include <asm/cache.h> > > > #include <asm/global_data.h> > > > #include <linux/stddef.h> > > > @@ -122,6 +123,10 @@ static int env_fat_load(void) > > > if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc")) > > > mmc_initialize(NULL); > > > #endif > > > +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) ... I guess that you should use CONFIG_IS_ENABLED(AHCI) instead of defined(CONFIG_AHCI) for proper SPL support. > > > + if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi")) > > > + scsi_scan(true); > > > +#endif > > > part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE, > > > env_fat_device_and_part(), > > > -- > > > 2.7.4 > > > > > Viele Grüße, > Stefan Roese > > -- > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT 2022-04-21 10:57 ` Pali Rohár @ 2022-05-11 21:02 ` Rogier Stam 0 siblings, 0 replies; 9+ messages in thread From: Rogier Stam @ 2022-05-11 21:02 UTC (permalink / raw) To: Pali Rohár, Stefan Roese; +Cc: Simon Glass, u-boot Hi, Sorry for the late reply. Not much time lately, also had some trouble figuring the world build out. That said I have a fix. Not sure on the usual process, but I will repost it on the mailing list in a moment. Pali was quite close on the solution. I went a slightly different route as I did not want to deviate from style in fat.c, also from reading the recommended CONFIG_IS_ENABLED macro I got the impression you'd have to define separate vars for TPL and SPL which would deviate from normal usage for storing env in fat. Effectively it amounts to: +#ifndef CONFIG_SPL_BUILD +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) + if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi")) + scsi_scan(true); +#endif +#endif Anyway, let me know if you disagree. Thanks and regards Rogier On 21-04-2022 12:57, Pali Rohár wrote: > On Thursday 21 April 2022 12:34:30 Stefan Roese wrote: >> Hi Rogier, >> >> On 2/28/22 08:13, Pali Rohár wrote: >>> + Simon, could you review this change? It would be nice to have this fix in upcoming U-Boot release. >>> >>> On Wednesday 09 February 2022 00:27:01 Rogier Stam wrote: >>>> When having environment stored in EXT4 or FAT >>>> and using an AHCI or SCSI device / partition >>>> the scan would not be performed early enough >>>> and hence the device would not be recognized. >>>> This change adds the scan when the interface >>>> is "scsi" in a similar way to mmc_initialize. >>>> >>>> Signed-off-by: Rogier Stam <rogier@unrailed.org> >>> Reviewed-by: Pali Rohár <pali@kernel.org> >> While running some CI tests, this error occurs with this patch: >> >> $ make dra7xx_hs_evm_usb_defconfig >> ... >> $ make -s -j20 >> ... >> /opt/kernel.org/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld.bfd: >> env/fat.o: in function `env_fat_load': >> /home/stefan/git/u-boot/u-boot-marvell/env/fat.c:134: undefined reference to >> `scsi_scan' >> make[1]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1 >> make: *** [Makefile:2101: spl/u-boot-spl] Error 2 > This is failing while building SPL... > >> Could you please take a look? And send a fixed version which also >> passed a "world build" for all supported targets? >> >> Thanks, >> Stefan >> >> >>>> --- >>>> env/ext4.c | 5 +++++ >>>> env/fat.c | 5 +++++ >>>> 2 files changed, 10 insertions(+) >>>> >>>> diff --git a/env/ext4.c b/env/ext4.c >>>> index 9f65afb..47e05a4 100644 >>>> --- a/env/ext4.c >>>> +++ b/env/ext4.c >>>> @@ -31,6 +31,7 @@ >>>> #include <errno.h> >>>> #include <ext4fs.h> >>>> #include <mmc.h> >>>> +#include <scsi.h> >>>> #include <asm/global_data.h> >>>> DECLARE_GLOBAL_DATA_PTR; >>>> @@ -146,6 +147,10 @@ static int env_ext4_load(void) >>>> if (!strcmp(ifname, "mmc")) >>>> mmc_initialize(NULL); >>>> #endif >>>> +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) >>>> + if (!strcmp(ifname, "scsi")) >>>> + scsi_scan(true); >>>> +#endif >>>> part = blk_get_device_part_str(ifname, dev_and_part, >>>> &dev_desc, &info, 1); >>>> diff --git a/env/fat.c b/env/fat.c >>>> index fdccd6c..dbd6a13 100644 >>>> --- a/env/fat.c >>>> +++ b/env/fat.c >>>> @@ -17,6 +17,7 @@ >>>> #include <errno.h> >>>> #include <fat.h> >>>> #include <mmc.h> >>>> +#include <scsi.h> >>>> #include <asm/cache.h> >>>> #include <asm/global_data.h> >>>> #include <linux/stddef.h> >>>> @@ -122,6 +123,10 @@ static int env_fat_load(void) >>>> if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc")) >>>> mmc_initialize(NULL); >>>> #endif >>>> +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) > ... I guess that you should use CONFIG_IS_ENABLED(AHCI) instead of > defined(CONFIG_AHCI) for proper SPL support. > >>>> + if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi")) >>>> + scsi_scan(true); >>>> +#endif >>>> part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE, >>>> env_fat_device_and_part(), >>>> -- >>>> 2.7.4 >>>> >> Viele Grüße, >> Stefan Roese >> >> -- >> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk >> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany >> Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-05-11 21:02 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-02-08 23:26 [PATCH 0/2] U-Boot ENV in EXT4 support for Expressobin (revised) Rogier Stam 2022-02-08 23:27 ` [PATCH 1/2] Fix Espressobin build for configs where ENV is not in SPI Rogier Stam 2022-02-28 7:10 ` Pali Rohár 2022-04-21 13:55 ` Stefan Roese 2022-02-08 23:27 ` [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT Rogier Stam 2022-02-28 7:13 ` Pali Rohár 2022-04-21 10:34 ` Stefan Roese 2022-04-21 10:57 ` Pali Rohár 2022-05-11 21:02 ` Rogier Stam
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.