Hi All This v4 is lying on mailing list since one month and waiting for being reviewed/merged. I am not sure this series is delegated to the correct people (Jagan Teki).
As this series is fixing spi-flash performance issue on some platform (STM32MP1 at least) it would be great if this patchset was merged for v2022.07 release. Thanks Patrice On 4/27/22 11:21, Patrice CHOTARD wrote: > Hi Jagan > > Could you have a look at this series ? > It would be great if this series can be merged in the v2022.07 > > Thanks > > Patrice > > > On 3/30/22 09:33, Patrice Chotard wrote: >> Since commit e2e95e5e2542 ("spi: Update speed/mode on change") >> when calling "sf probe" or "env save" on SPI flash, >> spi_set_speed_mode() is called twice. >> >> spi_get_bus_and_cs() >> |--> spi_claim_bus() >> | |--> spi_set_speed_mode(speed and mode from DT) >> ... >> |--> spi_set_speed_mode(default speed and mode value) >> >> The first spi_set_speed_mode() call is done with speed and mode >> values from DT, whereas the second call is done with speed >> and mode set to default value (speed is set to CONFIG_SF_DEFAULT_SPEED) >> >> This is an issue because SPI flash performance are impacted by >> using default speed which can be lower than the one defined in DT. >> >> One solution is to set CONFIG_SF_DEFAULT_SPEED to the speed defined >> in DT, but we loose flexibility offered by DT. >> >> Another issue can be encountered with 2 SPI flashes using 2 different >> speeds. In this specific case usage of CONFIG_SF_DEFAULT_SPEED is not >> flexible compared to get the 2 different speeds from DT. >> >> >> Changes in v4: >> - Split previous series in 3 patches >> - Update commit message with additionnal information >> >> Changes in v3: >> - Update commit header to reflect what the patch really do. >> - Rename legacy spi_get_bus_and_cs() to _spi_get_bus_and_cs(). >> - New spi_get_bus_and_cs() rely on DT for spi speed and mode values. >> - spi_flash_probe_bus_cs() rely also on DT for spi and mode values. >> >> Changes in v2: >> - add spi_flash_probe_bus_cs_default() which calls spi_get_bus_and_cs() >> with "use_dt" param set to true, whereas spi_flash_probe_bus_cs() calls >> spi_get_bus_and_cs() with "use_dt" param set to true. >> >> Patrice Chotard (3): >> spi: spi-uclass: Add new spi_get_bus_and_cs() implementation >> spi: spi_flash_probe_bus_cs() rely on DT for spi speed and mode >> test: dm: spi: Replace _spi_get_bus_and_cs() by spi_get_bus_and_cs() >> in some case >> >> board/CZ.NIC/turris_mox/turris_mox.c | 6 +-- >> cmd/sf.c | 15 +++++-- >> cmd/spi.c | 4 +- >> drivers/mtd/spi/sf-uclass.c | 33 +++++++------- >> drivers/net/fm/fm.c | 4 +- >> drivers/net/pfe_eth/pfe_firmware.c | 19 ++------ >> drivers/net/sni_netsec.c | 6 +-- >> drivers/spi/spi-uclass.c | 66 +++++++++++++++++++++++++--- >> drivers/usb/gadget/max3420_udc.c | 4 +- >> env/sf.c | 1 - >> include/spi.h | 19 +++++++- >> include/spi_flash.h | 1 - >> test/dm/spi.c | 33 +++++++------- >> 13 files changed, 137 insertions(+), 74 deletions(-) >>