On Fri, Nov 20, 2020 at 05:17:48PM +0000, Mark Brown wrote: > On Tue, Nov 17, 2020 at 12:45:17PM +0300, Serge Semin wrote: > > > Of course I could have provided a fix affecting the DW APB SSI driver > > only, for instance, by creating a mutual exclusive access to the set_cs > > callback and setting/clearing only the bit responsible for the > > corresponding chip-select. But after a short research I've discovered that > > I think the driver needs a fix anyway for the case where there's a mix > of devices with standard and inverted chip selects, it assumes they all > have the same polarity AFAICT. No. The polarity inversion isn't supported by the DW APB SSI controller. Native chip-select is always active-low, while a corresponding peripheral is activated by setting a bit in the SER register (Slave Enable Register). So as long as the dw_spi_set_cs() callback isn't called while there is a SPI-message execution going on it shall be save do preserve the current version of the method. -Sergey