Skip to contentSkip to conversation

spi: sirf: Avoid duplicate code in various bits_per_word cases

PATCH Superseded Axel Lin 2 participants 8 messages Jan 15, 2014 6 messages not in the archive SPI

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH 1/1 spi: sirf: Avoid duplicate code in various bits_per_word cases

Trivial cleanup to avoid duplicate code in various bits_per_word cases.

---
 drivers/spi/spi-sirf.c | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)
drivers/spi/spi-sirf.c +6 -15
index ed5e501..787683d 100644
@@ -459,11 +459,6 @@ spi_sirfsoc_setup_transfer(struct spi_device *spi, struct spi_transfer *t)
 		regval |= SIRFSOC_SPI_TRAN_DAT_FORMAT_8;
 		sspi->rx_word = spi_sirfsoc_rx_word_u8;
 		sspi->tx_word = spi_sirfsoc_tx_word_u8;
-		txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
-					SIRFSOC_SPI_FIFO_WIDTH_BYTE;
-		rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
-					SIRFSOC_SPI_FIFO_WIDTH_BYTE;
-		sspi->word_width = 1;
 		break;
 	case 12:
 	case 16:
@@ -471,26 +466,22 @@ spi_sirfsoc_setup_transfer(struct spi_device *spi, struct spi_transfer *t)
 			SIRFSOC_SPI_TRAN_DAT_FORMAT_16;
 		sspi->rx_word = spi_sirfsoc_rx_word_u16;
 		sspi->tx_word = spi_sirfsoc_tx_word_u16;
-		txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
-					SIRFSOC_SPI_FIFO_WIDTH_WORD;
-		rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
-					SIRFSOC_SPI_FIFO_WIDTH_WORD;
-		sspi->word_width = 2;
 		break;
 	case 32:
 		regval |= SIRFSOC_SPI_TRAN_DAT_FORMAT_32;
 		sspi->rx_word = spi_sirfsoc_rx_word_u32;
 		sspi->tx_word = spi_sirfsoc_tx_word_u32;
-		txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
-					SIRFSOC_SPI_FIFO_WIDTH_DWORD;
-		rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
-					SIRFSOC_SPI_FIFO_WIDTH_DWORD;
-		sspi->word_width = 4;
 		break;
 	default:
 		BUG();
 	}
 
+	txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
+					   SIRFSOC_SPI_FIFO_WIDTH_WORD;
+	rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
+					   SIRFSOC_SPI_FIFO_WIDTH_WORD;
+	sspi->word_width = DIV_ROUND_UP(bits_per_word, 8);
+
 	if (!(spi->mode & SPI_CS_HIGH))
 		regval |= SIRFSOC_SPI_CS_IDLE_STAT;
 	if (!(spi->mode & SPI_LSB_FIRST))
Signature · 8 lines
1.8.1.2



--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 5EB3BFCD089AD643B9BB63439F5FD5E9012BC102FB@SHAASIEXM01.ASIA.ROOT.PRI

A message that is not in the archive (sent off-list or not yet received): 5EB3BFCD089AD643B9BB63439F5FD5E9012BC102FB-W2enlP78h2wYZnBWG7VmBdnKn0HB1kRyVQQcQy+6Uvc@public.gmane.org

#3 lore raw

2014/1/15 Barry Song <[email protected]>:

Quoted 65 lines
Quoted 65 lines

-----Original Message-----
From: Axel Lin [mailto:[email protected]]
Sent: Wednesday, January 15, 2014 3:57 PM
To: Mark Brown
Cc: Zhiwu Song; Barry Song; Qipan Li; [email protected]
Subject: [PATCH] spi: sirf: Avoid duplicate code in various bits_per_word cases

Trivial cleanup to avoid duplicate code in various bits_per_word cases.

---
 drivers/spi/spi-sirf.c | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)
drivers/spi/spi-sirf.c index renamed from drivers/spi/spi-sirf.c +0 -0

ed5e501..787683d 100644

drivers/spi/spi-sirf.c +0 -1
@@ -459,11 +459,6 @@ spi_sirfsoc_setup_transfer(struct spi_device *spi,
 struct spi_transfer *t)
              regval |= SIRFSOC_SPI_TRAN_DAT_FORMAT_8;
              sspi->rx_word = spi_sirfsoc_rx_word_u8;
              sspi->tx_word = spi_sirfsoc_tx_word_u8;
-             txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_BYTE;
-             rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -3
-                                     SIRFSOC_SPI_FIFO_WIDTH_BYTE;
-             sspi->word_width = 1;
              break;
      case 12:
      case 16:
@@ -471,26 +466,22 @@ spi_sirfsoc_setup_transfer(struct spi_device *spi,
 struct spi_transfer *t)
                      SIRFSOC_SPI_TRAN_DAT_FORMAT_16;
              sspi->rx_word = spi_sirfsoc_rx_word_u16;
              sspi->tx_word = spi_sirfsoc_tx_word_u16;
-             txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_WORD;
-             rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -3
-                                     SIRFSOC_SPI_FIFO_WIDTH_WORD;
-             sspi->word_width = 2;
              break;
      case 32:
              regval |= SIRFSOC_SPI_TRAN_DAT_FORMAT_32;
              sspi->rx_word = spi_sirfsoc_rx_word_u32;
              sspi->tx_word = spi_sirfsoc_tx_word_u32;
-             txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_DWORD;
-             rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_DWORD;
-             sspi->word_width = 4;
              break;
      default:
              BUG();
      }
Quoted 6 lines

drivers/spi/spi-sirf.c spi_sirfsoc_setup_transfer(struct spi_device *spi, struct spi_transfer *t) · line 484

Quoted 6 lines
drivers/spi/spi-sirf.c +6 -0
+     txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
+                                        SIRFSOC_SPI_FIFO_WIDTH_WORD;
+     rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
+                                        SIRFSOC_SPI_FIFO_WIDTH_WORD;
+     sspi->word_width = DIV_ROUND_UP(bits_per_word, 8);
+

Axel, thanks.
it is a good cleanup, but it seems it is not right for txfifo_ctrl and rxfifo_ctrl?

Quoted 6 lines
Quoted 6 lines
      if (!(spi->mode & SPI_CS_HIGH))
              regval |= SIRFSOC_SPI_CS_IDLE_STAT;
      if (!(spi->mode & SPI_LSB_FIRST))

--
1.8.1.2

-barry
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): CAGsJ_4xu2g3K7D-QumwJBCxTvwc06GLE_Mz8uLyAKpHOLgq2Sw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org

author
#5 lore raw

2014/1/15 Barry Song <[email protected]>:

Quoted 66 lines

2014/1/15 Barry Song <[email protected]>:

Quoted 65 lines
Quoted 65 lines

-----Original Message-----
From: Axel Lin [mailto:[email protected]]
Sent: Wednesday, January 15, 2014 3:57 PM
To: Mark Brown
Cc: Zhiwu Song; Barry Song; Qipan Li; [email protected]
Subject: [PATCH] spi: sirf: Avoid duplicate code in various bits_per_word cases

Trivial cleanup to avoid duplicate code in various bits_per_word cases.

---
 drivers/spi/spi-sirf.c | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)
drivers/spi/spi-sirf.c index renamed from drivers/spi/spi-sirf.c +0 -0

ed5e501..787683d 100644

drivers/spi/spi-sirf.c +0 -1
@@ -459,11 +459,6 @@ spi_sirfsoc_setup_transfer(struct spi_device *spi,
 struct spi_transfer *t)
              regval |= SIRFSOC_SPI_TRAN_DAT_FORMAT_8;
              sspi->rx_word = spi_sirfsoc_rx_word_u8;
              sspi->tx_word = spi_sirfsoc_tx_word_u8;
-             txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_BYTE;
-             rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -3
-                                     SIRFSOC_SPI_FIFO_WIDTH_BYTE;
-             sspi->word_width = 1;
              break;
      case 12:
      case 16:
@@ -471,26 +466,22 @@ spi_sirfsoc_setup_transfer(struct spi_device *spi,
 struct spi_transfer *t)
                      SIRFSOC_SPI_TRAN_DAT_FORMAT_16;
              sspi->rx_word = spi_sirfsoc_rx_word_u16;
              sspi->tx_word = spi_sirfsoc_tx_word_u16;
-             txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_WORD;
-             rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -3
-                                     SIRFSOC_SPI_FIFO_WIDTH_WORD;
-             sspi->word_width = 2;
              break;
      case 32:
              regval |= SIRFSOC_SPI_TRAN_DAT_FORMAT_32;
              sspi->rx_word = spi_sirfsoc_rx_word_u32;
              sspi->tx_word = spi_sirfsoc_tx_word_u32;
-             txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_DWORD;
-             rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_DWORD;
-             sspi->word_width = 4;
              break;
      default:
              BUG();
      }
Quoted 10 lines
Quoted 6 lines

drivers/spi/spi-sirf.c spi_sirfsoc_setup_transfer(struct spi_device *spi, struct spi_transfer *t) · line 484

Quoted 6 lines
drivers/spi/spi-sirf.c +6 -0
+     txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
+                                        SIRFSOC_SPI_FIFO_WIDTH_WORD;
+     rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
+                                        SIRFSOC_SPI_FIFO_WIDTH_WORD;
+     sspi->word_width = DIV_ROUND_UP(bits_per_word, 8);
+

Axel, thanks.
it is a good cleanup, but it seems it is not right for txfifo_ctrl and rxfifo_ctrl?

I don't get it.
I thought there is no functional change with this patch.

Regards,
Axel
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): CAFRkauB7DrFy-v0+14PcKjan4YxFiTzC5OruiaHC7mFdDmOXoA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org

#7 lore raw

2014/1/15 Axel Lin <[email protected]>:

Quoted 78 lines

2014/1/15 Barry Song <[email protected]>:

Quoted 66 lines

2014/1/15 Barry Song <[email protected]>:

Quoted 65 lines
Quoted 65 lines

-----Original Message-----
From: Axel Lin [mailto:[email protected]]
Sent: Wednesday, January 15, 2014 3:57 PM
To: Mark Brown
Cc: Zhiwu Song; Barry Song; Qipan Li; [email protected]
Subject: [PATCH] spi: sirf: Avoid duplicate code in various bits_per_word cases

Trivial cleanup to avoid duplicate code in various bits_per_word cases.

---
 drivers/spi/spi-sirf.c | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)
drivers/spi/spi-sirf.c index renamed from drivers/spi/spi-sirf.c +0 -0

ed5e501..787683d 100644

drivers/spi/spi-sirf.c +0 -1
@@ -459,11 +459,6 @@ spi_sirfsoc_setup_transfer(struct spi_device *spi,
 struct spi_transfer *t)
              regval |= SIRFSOC_SPI_TRAN_DAT_FORMAT_8;
              sspi->rx_word = spi_sirfsoc_rx_word_u8;
              sspi->tx_word = spi_sirfsoc_tx_word_u8;
-             txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_BYTE;
-             rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -3
-                                     SIRFSOC_SPI_FIFO_WIDTH_BYTE;
-             sspi->word_width = 1;
              break;
      case 12:
      case 16:
@@ -471,26 +466,22 @@ spi_sirfsoc_setup_transfer(struct spi_device *spi,
 struct spi_transfer *t)
                      SIRFSOC_SPI_TRAN_DAT_FORMAT_16;
              sspi->rx_word = spi_sirfsoc_rx_word_u16;
              sspi->tx_word = spi_sirfsoc_tx_word_u16;
-             txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_WORD;
-             rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -3
-                                     SIRFSOC_SPI_FIFO_WIDTH_WORD;
-             sspi->word_width = 2;
              break;
      case 32:
              regval |= SIRFSOC_SPI_TRAN_DAT_FORMAT_32;
              sspi->rx_word = spi_sirfsoc_rx_word_u32;
              sspi->tx_word = spi_sirfsoc_tx_word_u32;
-             txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_DWORD;
-             rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE

/ 2) |

drivers/spi/spi-sirf.c +0 -2
-                                     SIRFSOC_SPI_FIFO_WIDTH_DWORD;
-             sspi->word_width = 4;
              break;
      default:
              BUG();
      }
Quoted 10 lines
Quoted 6 lines

drivers/spi/spi-sirf.c

Quoted 6 lines
drivers/spi/spi-sirf.c +6 -0
+     txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
+                                        SIRFSOC_SPI_FIFO_WIDTH_WORD;
+     rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
+                                        SIRFSOC_SPI_FIFO_WIDTH_WORD;
+     sspi->word_width = DIV_ROUND_UP(bits_per_word, 8);
+

Axel, thanks.
it is a good cleanup, but it seems it is not right for txfifo_ctrl and rxfifo_ctrl?

Quoted 2 lines

I don't get it.
I thought there is no functional change with this patch.

you might want to change

txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |

                                        SIRFSOC_SPI_FIFO_WIDTH_WORD;
 rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
                                       SIRFSOC_SPI_FIFO_WIDTH_WORD;

to "SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) I sspi->word_width" ?

Quoted 3 lines

Regards,
Axel

-barry
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

author
#8 lore raw
Quoted 7 lines
Quoted 6 lines
Quoted 3 lines

Axel, thanks.
it is a good cleanup, but it seems it is not right for txfifo_ctrl and rxfifo_ctrl?

I don't get it.
I thought there is no functional change with this patch.

Quoted 8 lines

you might want to change

txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |

                                        SIRFSOC_SPI_FIFO_WIDTH_WORD;
 rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
                                       SIRFSOC_SPI_FIFO_WIDTH_WORD;

to "SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) I sspi->word_width" ?

So it is a bug in original code, right? (I mean a bug before applying this patch.)
I'll re-generate the patch and separate it to 2 patches.
( one for bug fix which may need for stable, the other one for the clean up)

Thanks,
Axel
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): CAFRkauCK3JJcmSx_1xi_EteY48o7vaatjBTp0L5xF-bRS+JF6A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org

#10 lore raw

2014/1/15 Axel Lin <[email protected]>:

Quoted 14 lines
Quoted 14 lines
Quoted 6 lines
Quoted 3 lines

Axel, thanks.
it is a good cleanup, but it seems it is not right for txfifo_ctrl and rxfifo_ctrl?

I don't get it.
I thought there is no functional change with this patch.

you might want to change

txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |

                                        SIRFSOC_SPI_FIFO_WIDTH_WORD;
 rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
                                       SIRFSOC_SPI_FIFO_WIDTH_WORD;
Quoted 5 lines
Quoted 1 line

to "SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) I sspi->word_width" ?

So it is a bug in original code, right? (I mean a bug before applying this patch.)
I'll re-generate the patch and separate it to 2 patches.
( one for bug fix which may need for stable, the other one for the clean up)

no. the original codes are right. because it does orr with:
SIRFSOC_SPI_FIFO_WIDTH_BYTE; SIRFSOC_SPI_FIFO_WIDTH_WORD; SIRFSOC_SPI_FIFO_WIDTH_DWORD;

but you move to orr
SIRFSOC_SPI_FIFO_WIDTH_WORD

actually, the register set is fortunately same with the real width.

Quoted 3 lines

Thanks,
Axel

-barry
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): CAGsJ_4wp+wcPTOpCfxe61uuQ2xkY4HkKCd2OD9wF=oPaP-U9mg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org

author
#12 lore raw

2014/1/15 Barry Song <[email protected]>:

Quoted 26 lines

2014/1/15 Axel Lin <[email protected]>:

Quoted 14 lines
Quoted 14 lines
Quoted 6 lines
Quoted 3 lines

Axel, thanks.
it is a good cleanup, but it seems it is not right for txfifo_ctrl and rxfifo_ctrl?

I don't get it.
I thought there is no functional change with this patch.

you might want to change

txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |

                                        SIRFSOC_SPI_FIFO_WIDTH_WORD;
 rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
                                       SIRFSOC_SPI_FIFO_WIDTH_WORD;
Quoted 5 lines
Quoted 1 line

to "SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) I sspi->word_width" ?

So it is a bug in original code, right? (I mean a bug before applying this patch.)
I'll re-generate the patch and separate it to 2 patches.
( one for bug fix which may need for stable, the other one for the clean up)

no. the original codes are right. because it does orr with:
SIRFSOC_SPI_FIFO_WIDTH_BYTE; SIRFSOC_SPI_FIFO_WIDTH_WORD; SIRFSOC_SPI_FIFO_WIDTH_DWORD;

Quoted 4 lines

but you move to orr
SIRFSOC_SPI_FIFO_WIDTH_WORD

actually, the register set is fortunately same with the real width.

Yes, I see it now.
v2 is on the way.

Thanks for the review,
Axel
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

author
#13 lore raw
In reply to a message not in the archive

2014/1/15 Axel Lin <[email protected]>:

Quoted 14 lines
Quoted 14 lines
Quoted 6 lines
Quoted 3 lines

Axel, thanks.
it is a good cleanup, but it seems it is not right for txfifo_ctrl and rxfifo_ctrl?

I don't get it.
I thought there is no functional change with this patch.

you might want to change

txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |

                                        SIRFSOC_SPI_FIFO_WIDTH_WORD;
 rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
                                       SIRFSOC_SPI_FIFO_WIDTH_WORD;
Quoted 5 lines
Quoted 1 line

to "SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) I sspi->word_width" ?

So it is a bug in original code, right? (I mean a bug before applying this patch.)
I'll re-generate the patch and separate it to 2 patches.
( one for bug fix which may need for stable, the other one for the clean up)

Sorry. Current code is ok.
But my patch breaks things.
Pls just ignore the patch.

Regards,
Axel
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html