On Thu, Sep 12, 2013 at 10:50:31AM +0100, David Woodhouse wrote: > On Thu, 2013-09-12 at 17:28 +0800, Huang Shijie wrote: > > 于 2013年09月11日 22:05, David Woodhouse 写道: > > > What*actually* happens, on the wire(s), when the flash driver asks the > > > SPI controller to perform a transaction? > > The LUT registers tell the controller how many wires are needed for a > > transaction. > > For example, the read status only use a single line, while the quad read > > uses 4 lines. > > Is this not something that could theoretically be provided by the caller > when it *makes* the transaction? > > Conceptually speaking, could it not be an additional argument to > spi_write_then_read() ? > > After all, it's the *device* driver (m25p80.c etc.) which will know what > the transaction actually *is*, and how many lines the device will want > to use for each transaction? yes. we can set the lines information in the spi_write_then_read(). But for the quadspi driver, it does not need this information. When the drivers knows that it is a Quad-read transaction, it will uses the relative LUT sequence which uses the 4 lines. thanks Huang Shijie -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html