[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200701093316.GA5385@sirena.org.uk>
Date: Wed, 1 Jul 2020 10:33:16 +0100
From: Mark Brown <broonie@...nel.org>
To: "Ardelean, Alexandru" <alexandru.Ardelean@...log.com>
Cc: "dianders@...omium.org" <dianders@...omium.org>,
"linux-spi@...r.kernel.org" <linux-spi@...r.kernel.org>,
"swboyd@...omium.org" <swboyd@...omium.org>,
"linux-arm-msm@...r.kernel.org" <linux-arm-msm@...r.kernel.org>,
"enric.balletbo@...labora.com" <enric.balletbo@...labora.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"bleung@...omium.org" <bleung@...omium.org>
Subject: Re: [PATCH] spi: Avoid setting the chip select if we don't need to
On Wed, Jul 01, 2020 at 06:26:24AM +0000, Ardelean, Alexandru wrote:
> On Mon, 2020-06-29 at 16:41 -0700, Douglas Anderson wrote:
> > + spi->controller->last_cs_enable = enable;
> > + spi->controller->last_cs_mode_high = spi->mode & SPI_CS_HIGH;
> I don't feel like this is the best approach for the SPI CS handling,
> because it's pretty difficult to guess the last CS state, and whether this
> return would cause other weirder issues [like not toggling CS when it
> should].
There's no guesswork involved here - the only thing that should be
setting the chip select is the SPI core so other than at startup we
always know the state of the chip select.
> Maybe a question is: when should this CS be toggled [or not]?
> Is it between 2 calls of spi_transfer_one_message() or between 2
> spi_transfers?
> Or, is "xfer->cs_change == 1" where it shouldn't be?
This is well documented, it's asserted while a message is being
transferred unless changed by cs_change in which case we do whatever the
opposite of the default action is.
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists