Re: Patch "spi: atmel-quadspi: Avoid overwriting delay register settings" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 24, 2025 at 04:51:00PM +0100, Alexander Dahl wrote:
> Hello Greg,
> 
> Am Mon, Feb 24, 2025 at 03:19:04PM +0100 schrieb gregkh@xxxxxxxxxxxxxxxxxxx:
> > 
> > This is a note to let you know that I've just added the patch titled
> > 
> >     spi: atmel-quadspi: Avoid overwriting delay register settings
> > 
> > to the 6.1-stable tree which can be found at:
> >     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> > 
> > The filename of the patch is:
> >      spi-atmel-quadspi-avoid-overwriting-delay-register-settings.patch
> > and it can be found in the queue-6.1 subdirectory.
> > 
> > If you, or anyone else, feels it should not be added to the stable tree,
> > please let <stable@xxxxxxxxxxxxxxx> know about it.
> > 
> > 
> > From 329ca3eed4a9a161515a8714be6ba182321385c7 Mon Sep 17 00:00:00 2001
> > From: Alexander Dahl <ada@xxxxxxxxxxx>
> > Date: Wed, 18 Sep 2024 10:27:43 +0200
> > Subject: spi: atmel-quadspi: Avoid overwriting delay register settings
> > 
> > From: Alexander Dahl <ada@xxxxxxxxxxx>
> > 
> > commit 329ca3eed4a9a161515a8714be6ba182321385c7 upstream.
> > 
> > Previously the MR and SCR registers were just set with the supposedly
> > required values, from cached register values (cached reg content
> > initialized to zero).
> > 
> > All parts fixed here did not consider the current register (cache)
> > content, which would make future support of cs_setup, cs_hold, and
> > cs_inactive impossible.
> > 
> > Setting SCBR in atmel_qspi_setup() erases a possible DLYBS setting from
> > atmel_qspi_set_cs_timing().  The DLYBS setting is applied by ORing over
> > the current setting, without resetting the bits first.  All writes to MR
> > did not consider possible settings of DLYCS and DLYBCT.
> > 
> > Signed-off-by: Alexander Dahl <ada@xxxxxxxxxxx>
> > Fixes: f732646d0ccd ("spi: atmel-quadspi: Add support for configuring CS timing")
> > Link: https://patch.msgid.link/20240918082744.379610-2-ada@xxxxxxxxxxx
> > Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > ---
> >  drivers/spi/atmel-quadspi.c |   14 ++++++++------
> >  1 file changed, 8 insertions(+), 6 deletions(-)
> > 
> > --- a/drivers/spi/atmel-quadspi.c
> > +++ b/drivers/spi/atmel-quadspi.c
> > @@ -388,9 +388,9 @@ static int atmel_qspi_set_cfg(struct atm
> >  	 * If the QSPI controller is set in regular SPI mode, set it in
> >  	 * Serial Memory Mode (SMM).
> >  	 */
> > -	if (aq->mr != QSPI_MR_SMM) {
> > -		atmel_qspi_write(QSPI_MR_SMM, aq, QSPI_MR);
> > -		aq->mr = QSPI_MR_SMM;
> > +	if (!(aq->mr & QSPI_MR_SMM)) {
> > +		aq->mr |= QSPI_MR_SMM;
> > +		atmel_qspi_write(aq->scr, aq, QSPI_MR);
> 
> This has a bug fixed later with commit
> 162d9b5d2308c7e48efbc97d36babbf4d73b2c61 ("spi: atmel-quadspi: Fix
> wrong register value written to MR").  You should also pick that one.

Ah, I missed that, sorry.  Now queued up, thanks!

greg k-h




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux