diff options
-rw-r--r-- | arch/arm/plat-pxa/include/plat/ssp.h | 3 | ||||
-rw-r--r-- | drivers/spi/pxa2xx_spi.c | 8 |
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 | ||