aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/plat-pxa/include/plat/ssp.h3
-rw-r--r--drivers/spi/pxa2xx_spi.c8
2 files changed, 6 insertions, 5 deletions
diff --git a/arch/arm/plat-pxa/include/plat/ssp.h b/arch/arm/plat-pxa/include/plat/ssp.h
index fe43150690ed..21c12ca80738 100644
--- a/arch/arm/plat-pxa/include/plat/ssp.h
+++ b/arch/arm/plat-pxa/include/plat/ssp.h
@@ -82,7 +82,8 @@
82#define SSSR_TFS (1 << 5) /* Transmit FIFO Service Request */ 82#define SSSR_TFS (1 << 5) /* Transmit FIFO Service Request */
83#define SSSR_RFS (1 << 6) /* Receive FIFO Service Request */ 83#define SSSR_RFS (1 << 6) /* Receive FIFO Service Request */
84#define SSSR_ROR (1 << 7) /* Receive FIFO Overrun */ 84#define SSSR_ROR (1 << 7) /* Receive FIFO Overrun */
85 85#define SSSR_TFL_MASK (0xf << 8) /* Transmit FIFO Level mask */
86#define SSSR_RFL_MASK (0xf << 12) /* Receive FIFO Level mask */
86 87
87/* extra bits in PXA255, PXA26x and PXA27x SSP ports */ 88/* extra bits in PXA255, PXA26x and PXA27x SSP ports */
88#define SSCR0_TISSP (1 << 4) /* TI Sync Serial Protocol */ 89#define SSCR0_TISSP (1 << 4) /* TI Sync Serial Protocol */
diff --git a/drivers/spi/pxa2xx_spi.c b/drivers/spi/pxa2xx_spi.c
index 1865c23f2175..55083445aae6 100644
--- a/drivers/spi/pxa2xx_spi.c
+++ b/drivers/spi/pxa2xx_spi.c
@@ -224,7 +224,7 @@ static int null_writer(struct driver_data *drv_data)
224 void __iomem *reg = drv_data->ioaddr; 224 void __iomem *reg = drv_data->ioaddr;
225 u8 n_bytes = drv_data->n_bytes; 225 u8 n_bytes = drv_data->n_bytes;
226 226
227 if (((read_SSSR(reg) & 0x00000f00) == 0x00000f00) 227 if (((read_SSSR(reg) & SSSR_TFL_MASK) == SSSR_TFL_MASK)
228 || (drv_data->tx == drv_data->tx_end)) 228 || (drv_data->tx == drv_data->tx_end))
229 return 0; 229 return 0;
230 230
@@ -252,7 +252,7 @@ static int u8_writer(struct driver_data *drv_data)
252{ 252{
253 void __iomem *reg = drv_data->ioaddr; 253 void __iomem *reg = drv_data->ioaddr;
254 254
255 if (((read_SSSR(reg) & 0x00000f00) == 0x00000f00) 255 if (((read_SSSR(reg) & SSSR_TFL_MASK) == SSSR_TFL_MASK)
256 || (drv_data->tx == drv_data->tx_end)) 256 || (drv_data->tx == drv_data->tx_end))
257 return 0; 257 return 0;
258 258
@@ -279,7 +279,7 @@ static int u16_writer(struct driver_data *drv_data)
279{ 279{
280 void __iomem *reg = drv_data->ioaddr; 280 void __iomem *reg = drv_data->ioaddr;
281 281
282 if (((read_SSSR(reg) & 0x00000f00) == 0x00000f00) 282 if (((read_SSSR(reg) & SSSR_TFL_MASK) == SSSR_TFL_MASK)
283 || (drv_data->tx == drv_data->tx_end)) 283 || (drv_data->tx == drv_data->tx_end))
284 return 0; 284 return 0;
285 285
@@ -306,7 +306,7 @@ static int u32_writer(struct driver_data *drv_data)
306{ 306{
307 void __iomem *reg = drv_data->ioaddr; 307 void __iomem *reg = drv_data->ioaddr;
308 308
309 if (((read_SSSR(reg) & 0x00000f00) == 0x00000f00) 309 if (((read_SSSR(reg) & SSSR_TFL_MASK) == SSSR_TFL_MASK)
310 || (drv_data->tx == drv_data->tx_end)) 310 || (drv_data->tx == drv_data->tx_end))
311 return 0; 311 return 0;
312 312