Hi Rasmus, On Sat, 14 Dec 2019 at 16:27, Rasmus Villemoes <rasmus.villem...@prevas.dk> wrote: > > Hi > > I'm wondering how commit 60e2809a84 (dm: spi: Avoid setting the speed > with every transfer) works. AFAIU, the currently selected speed is a > property of the SPI master, so suppose we have two slaves, A which has > max_hz = 10MHz and B which has max_hz = 20MHz. Now suppose we do > transfers to A, then B, then A again. The third time we still compute > speed = 10MHz, but since that matches what we cached in slave->speed, we > don't call spi_set_speed_mode(), hence we proceed to do the xfer with a > too large speed? > > I'm probably missing something obvious here since the commit is more > than 4 years old.
I think you are right. Possible we could store the 'current' bus speed in dm_spi_bus and check that against what the slave wants? Regards, Simon