Patch "spi: sh-msiof: Fix FIFO size to 64 word from 256 word" has been added to the 4.2-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
spi: sh-msiof: Fix FIFO size to 64 word from 256 word
to the 4.2-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-sh-msiof-fix-fifo-size-to-64-word-from-256-word.patch
and it can be found in the queue-4.2 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
fe78d0b7691c02744004b15f6979b3f106464bc4Mon Sep 17 00:00:00 2001
From: Koji Matsuoka <[email protected]>
Date: Mon, 15 Jun 2015 02:25:05 +0900
Subject: spi: sh-msiof: Fix FIFO size to 64 word from 256 word
From: Koji Matsuoka <[email protected]>
commit fe78d0b7691c02744004b15f6979b3f106464bc4 upstream.
The upper limit of Tx/Rx FIFO size is 64 word by the specification of H/W. This patch corrects to 64 word from 256 word.
--- drivers/spi/spi-sh-msiof.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-)
drivers/spi/spi-sh-msiof.c +9 -6
@@ -48,8 +48,8 @@ struct sh_msiof_spi_priv {const struct sh_msiof_chipdata *chipdata;struct sh_msiof_spi_info *info;struct completion done; -int tx_fifo_size; -int rx_fifo_size; +unsigned int tx_fifo_size; +unsigned int rx_fifo_size;void *tx_dma_page;void *rx_dma_page;dma_addr_t tx_dma_addr;
@@ -95,8 +95,6 @@ struct sh_msiof_spi_priv {#define MDR2_WDLEN1 (i) (((i) - 1) << 16)/* Word Count (1-64/256 (SH, A1))) */ #define MDR2_GRPMASK1 0x00000001/* Group Output Mask 1 (SH, A1) */ -#define MAX_WDLEN 256U -/* TSCR and RSCR */ #define SCR_BRPS_MASK 0x1f00/* Prescaler Setting (1-32) */ #define SCR_BRPS (i) (((i) - 1) << 8)
@@ -850,7 +848,12 @@ static int sh_msiof_transfer_one(struct* DMA supports 32-bit words only, hence pack 8-bit and 16-bit * words, with byte resp. word swapping. */ -unsigned int l =min (len,MAX_WDLEN *4 ); +unsigned int l =0 ; + +if (tx_buf) + l =min (len, p->tx_fifo_size *4 ); +if (rx_buf) + l =min (len, p->rx_fifo_size *4 );if (bits <=8 ) {if (l &3 )
@@ -963,7 +966,7 @@ static const struct sh_msiof_chipdata shstatic const struct sh_msiof_chipdata r8a779x_data = { .tx_fifo_size =64 , - .rx_fifo_size =256 , + .rx_fifo_size =64 , .master_flags =SPI_MASTER_MUST_TX , };
Patches currently in stable-queue which might be from [email protected] are
queue-4.2/spi-sh-msiof-fix-fifo-size-to-64-word-from-256-word.patch