
On Mon, Mar 29, 2021 at 03:32:51AM +0200, Marek Vasut wrote:
On 3/28/21 11:30 PM, Tom Rini wrote:
On Fri, Feb 26, 2021 at 03:21:24PM +0100, Marek Vasut wrote:
The spi_get_bus_and_cs() may be called on the same bus and chipselect with different frequency or mode. This is valid usecase, but the code fails to notify the controller of such a configuration change. Call spi_set_speed_mode() in case bus frequency or bus mode changed to let the controller update the configuration.
The problem can easily be triggered using the sspi command: => sspi 0:0@1000 => sspi 0:0@2000 Without this patch, both transfers happen at 1000 Hz. With this patch, the later transfer happens correctly at 2000 Hz.
Signed-off-by: Marek Vasut marex@denx.de Cc: Jagan Teki jagan@amarulasolutions.com Cc: Patrick Delaunay patrick.delaunay@st.com
So, very reliably I can make: https://source.denx.de/u-boot/u-boot/-/jobs/245517 happen locally as well building with clang. It's not obvious to me why the test now fails however.
Can you please be more specific / clear ? I have no idea what those 300 lines of cryptic output mean, nor what are you trying to say by the above, sorry.
If you build with clang, for sandbox, and run the tests, U-Boot crashes in the unit tests that you start with "ut dm".