Hi Magnus On Thu, 15 Mar 2012, Magnus Damm wrote:
> On Thu, Mar 15, 2012 at 2:35 AM, Guennadi Liakhovetski > <[email protected]> wrote: > > Currently the spi-sh-msiof driver implements a runtime PM scheme, based on > > chipselect toggling. However, this is largely inefficient, since SPI > > client drivers are allowed to keep the chipselect active for long periods > > of time. This patch allows the driver to runtime-suspend the controller > > between SPI transfers. While moving runtime-PM hooks this patch also > > removes manual PM clock manipulation. > > > > Signed-off-by: Guennadi Liakhovetski <[email protected]> > > --- > > > > Marked as RFC, because I'm actually not sure, whether suspending after > > each transfer is actually allowed. This seems to bring problems with > > mmc-spi at least. Some commands return errors, but a retry recovers. More > > investigation is required. Any hints concerning why this is not perfectly > > functioning would be appreciated! > > Hi Guennadi, > > Thanks for your efforts. I believe that the error you are seeing with > this patch applied is because the code has been updated to change the > polarity of some shared SPI bus pins while CS is being asserted. This > will result in potential spikes on the shared SPI bus pins which is > far from perfect. =) You're probably right:-) I forgot to mention, that the problem goes away if PM QoS is used, but we certainly cannot rely on it. As we further discussed in a chat, the problem can be relatively easily solved by postponing the CS activation until in the first transfer, but this only helps as long as the runtime PM doesn't power the domain down. Whereas, as discussed in my reply to Grant in this thread, if this happens, a different problem occurs, which anyway makes this approach much more problematic, that originally thought. Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ spi-devel-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/spi-devel-general
