On Wed, Dec 09, 2020 at 07:54:20PM +0000, Mark Brown wrote: > On Wed, Dec 09, 2020 at 10:46:36PM +0300, Serge Semin wrote: > > > On Wed, Dec 09, 2020 at 07:35:14PM +0200, Tudor Ambarus wrote: > > > > Make sure the max_speed_hz of spi_device does not override > > > the max_speed_hz of controller. > > > I have doubts that's right thing to do. It seems better to let > > the controller driver to handle the speed clamping itself, while > > to leave the SPI client device max_speed_hz field describing the > > device speed capability. Moreover the SPI-transfers passed to the > > controller will have a SPI-bus speed fixed in accordance with the > > controller and client device capabilities anyway. > > See the __spi_validate() method for details: > > https://elixir.bootlin.com/linux/v5.10-rc7/source/drivers/spi/spi.c#L3570 > > Right, in general we aim to do this sort of fixup on the transfers > and messages rather than the devices, I guess we might be missing > validation in some of the flash acceleration paths or was this an issue > seen through inspection? In case of DW SPI driver we just make sure the SPI-client device speed set in the max_speed_hz doesn't exceed the controller SPI-bus clock frequency and clamp it if it does. So the driver is safe in that matter. -Sergey