Commit 06d5dd29 authored by Vladimir Oltean's avatar Vladimir Oltean Committed by Mark Brown

spi: spi-fsl-dspi: Change usage pattern of SPI_MCR_* and SPI_CTAR_* macros

These are macros that accept 0 or 1 as argument (a boolean value). Their
use encourages the abuse of complex ternary operations inside their
argument list, which detracts from the code readability. Replace these
with simple if-else statements.
Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
Link: https://lore.kernel.org/r/20190818180115.31114-6-olteanv@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 9e6f784e
...@@ -39,9 +39,9 @@ ...@@ -39,9 +39,9 @@
#define SPI_CTAR(x) (0x0c + (((x) & GENMASK(1, 0)) * 4)) #define SPI_CTAR(x) (0x0c + (((x) & GENMASK(1, 0)) * 4))
#define SPI_CTAR_FMSZ(x) (((x) << 27) & GENMASK(30, 27)) #define SPI_CTAR_FMSZ(x) (((x) << 27) & GENMASK(30, 27))
#define SPI_CTAR_CPOL(x) (((x) << 26) & GENMASK(26, 26)) #define SPI_CTAR_CPOL BIT(26)
#define SPI_CTAR_CPHA(x) (((x) << 25) & GENMASK(25, 25)) #define SPI_CTAR_CPHA BIT(25)
#define SPI_CTAR_LSBFE(x) (((x) << 24) & GENMASK(24, 24)) #define SPI_CTAR_LSBFE BIT(24)
#define SPI_CTAR_PCSSCK(x) (((x) << 22) & GENMASK(23, 22)) #define SPI_CTAR_PCSSCK(x) (((x) << 22) & GENMASK(23, 22))
#define SPI_CTAR_PASC(x) (((x) << 20) & GENMASK(21, 20)) #define SPI_CTAR_PASC(x) (((x) << 20) & GENMASK(21, 20))
#define SPI_CTAR_PDT(x) (((x) << 18) & GENMASK(19, 18)) #define SPI_CTAR_PDT(x) (((x) << 18) & GENMASK(19, 18))
...@@ -587,7 +587,7 @@ static void dspi_tcfq_write(struct fsl_dspi *dspi) ...@@ -587,7 +587,7 @@ static void dspi_tcfq_write(struct fsl_dspi *dspi)
*/ */
u32 data = dspi_pop_tx(dspi); u32 data = dspi_pop_tx(dspi);
if (dspi->cur_chip->ctar_val & SPI_CTAR_LSBFE(1)) { if (dspi->cur_chip->ctar_val & SPI_CTAR_LSBFE) {
/* LSB */ /* LSB */
tx_fifo_write(dspi, data & 0xFFFF); tx_fifo_write(dspi, data & 0xFFFF);
tx_fifo_write(dspi, data >> 16); tx_fifo_write(dspi, data >> 16);
...@@ -791,18 +791,22 @@ static int dspi_setup(struct spi_device *spi) ...@@ -791,18 +791,22 @@ static int dspi_setup(struct spi_device *spi)
/* Set After SCK delay scale values */ /* Set After SCK delay scale values */
ns_delay_scale(&pasc, &asc, sck_cs_delay, clkrate); ns_delay_scale(&pasc, &asc, sck_cs_delay, clkrate);
chip->ctar_val = SPI_CTAR_CPOL(spi->mode & SPI_CPOL ? 1 : 0) chip->ctar_val = 0;
| SPI_CTAR_CPHA(spi->mode & SPI_CPHA ? 1 : 0); if (spi->mode & SPI_CPOL)
chip->ctar_val |= SPI_CTAR_CPOL;
if (spi->mode & SPI_CPHA)
chip->ctar_val |= SPI_CTAR_CPHA;
if (!spi_controller_is_slave(dspi->master)) { if (!spi_controller_is_slave(dspi->master)) {
chip->ctar_val |= SPI_CTAR_LSBFE(spi->mode & chip->ctar_val |= SPI_CTAR_PCSSCK(pcssck) |
SPI_LSB_FIRST ? 1 : 0) SPI_CTAR_CSSCK(cssck) |
| SPI_CTAR_PCSSCK(pcssck) SPI_CTAR_PASC(pasc) |
| SPI_CTAR_CSSCK(cssck) SPI_CTAR_ASC(asc) |
| SPI_CTAR_PASC(pasc) SPI_CTAR_PBR(pbr) |
| SPI_CTAR_ASC(asc) SPI_CTAR_BR(br);
| SPI_CTAR_PBR(pbr)
| SPI_CTAR_BR(br); if (spi->mode & SPI_LSB_FIRST)
chip->ctar_val |= SPI_CTAR_LSBFE;
} }
spi_set_ctldata(spi, chip); spi_set_ctldata(spi, chip);
...@@ -968,9 +972,10 @@ static const struct regmap_config dspi_xspi_regmap_config[] = { ...@@ -968,9 +972,10 @@ static const struct regmap_config dspi_xspi_regmap_config[] = {
static void dspi_init(struct fsl_dspi *dspi) static void dspi_init(struct fsl_dspi *dspi)
{ {
unsigned int mcr = SPI_MCR_PCSIS | unsigned int mcr = SPI_MCR_PCSIS;
(dspi->devtype_data->xspi_mode ? SPI_MCR_XSPI : 0);
if (dspi->devtype_data->xspi_mode)
mcr |= SPI_MCR_XSPI;
if (!spi_controller_is_slave(dspi->master)) if (!spi_controller_is_slave(dspi->master))
mcr |= SPI_MCR_MASTER; mcr |= SPI_MCR_MASTER;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment