spi/mpc512x-psc: optionally keep PSC SS asserted across xfer segmensts
authorAnatolij Gustschin <agust@denx.de>
Wed, 13 Mar 2013 13:57:43 +0000 (14:57 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 1 Apr 2013 13:30:26 +0000 (14:30 +0100)
commit1ad849aee5f53353ed88d9cd3d68a51b03a7d44f
treef76119f3243f3e778cb894b5f2dd0352fb623e91
parentb0b36b861e434ee1c1a64cb39259e262f79af62e
spi/mpc512x-psc: optionally keep PSC SS asserted across xfer segmensts

Some SPI slave devices require asserted chip select signal across
multiple transfer segments of an SPI message. Currently the driver
always de-asserts the internal SS signal for every single transfer
segment of the message and ignores the 'cs_change' flag of the
transfer description. Disable the internal chip select (SS) only
if this is needed and indicated by the 'cs_change' flag.

Without this change, each partial transfer of a surrounding
multi-part SPI transaction might erroneously change the SS
signal, which might prevent slaves from answering the request
that was sent in a previous transfer segment because the
transaction could be considered aborted (SS was de-asserted
before reading the response).

Reported-by: Gerhard Sittig <gerhard.sittig@ifm.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
drivers/spi/spi-mpc512x-psc.c