forked from mirrors/linux
		
	spi: dw: get TX level without an additional variable
There is no need to have an additional variable to get a TX level. The patch refactors this piece of code. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
		
							parent
							
								
									39bc03bfec
								
							
						
					
					
						commit
						ea11370fff
					
				
					 1 changed files with 4 additions and 7 deletions
				
			
		|  | @ -365,7 +365,7 @@ static void pump_transfers(unsigned long data) | ||||||
| 	u8 bits = 0; | 	u8 bits = 0; | ||||||
| 	u8 imask = 0; | 	u8 imask = 0; | ||||||
| 	u8 cs_change = 0; | 	u8 cs_change = 0; | ||||||
| 	u16 txint_level = 0; | 	u16 txlevel = 0; | ||||||
| 	u16 clk_div = 0; | 	u16 clk_div = 0; | ||||||
| 	u32 speed = 0; | 	u32 speed = 0; | ||||||
| 	u32 cr0 = 0; | 	u32 cr0 = 0; | ||||||
|  | @ -461,10 +461,7 @@ static void pump_transfers(unsigned long data) | ||||||
| 	 * we only need set the TXEI IRQ, as TX/RX always happen syncronizely | 	 * we only need set the TXEI IRQ, as TX/RX always happen syncronizely | ||||||
| 	 */ | 	 */ | ||||||
| 	if (!dws->dma_mapped && !chip->poll_mode) { | 	if (!dws->dma_mapped && !chip->poll_mode) { | ||||||
| 		int templen = dws->len / dws->n_bytes; | 		txlevel = min_t(u16, dws->fifo_len / 2, dws->len / dws->n_bytes); | ||||||
| 
 |  | ||||||
| 		txint_level = dws->fifo_len / 2; |  | ||||||
| 		txint_level = (templen > txint_level) ? txint_level : templen; |  | ||||||
| 
 | 
 | ||||||
| 		imask |= SPI_INT_TXEI | SPI_INT_TXOI | | 		imask |= SPI_INT_TXEI | SPI_INT_TXOI | | ||||||
| 			 SPI_INT_RXUI | SPI_INT_RXOI; | 			 SPI_INT_RXUI | SPI_INT_RXOI; | ||||||
|  | @ -490,8 +487,8 @@ static void pump_transfers(unsigned long data) | ||||||
| 		spi_mask_intr(dws, 0xff); | 		spi_mask_intr(dws, 0xff); | ||||||
| 		if (imask) | 		if (imask) | ||||||
| 			spi_umask_intr(dws, imask); | 			spi_umask_intr(dws, imask); | ||||||
| 		if (txint_level) | 		if (txlevel) | ||||||
| 			dw_writew(dws, DW_SPI_TXFLTR, txint_level); | 			dw_writew(dws, DW_SPI_TXFLTR, txlevel); | ||||||
| 
 | 
 | ||||||
| 		spi_enable_chip(dws, 1); | 		spi_enable_chip(dws, 1); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Andy Shevchenko
						Andy Shevchenko