spi: amd: Refactor amd_spi_busy_wait
Use amd_spi_readreg32 to read 32 bits registers Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210910111529.12539-2-tanureal@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
ca8e8a1827
commit
356b02f9ec
@ -103,21 +103,15 @@ static inline void amd_spi_set_tx_count(struct amd_spi *amd_spi, u8 tx_count)
|
||||
amd_spi_setclear_reg8(amd_spi, AMD_SPI_TX_COUNT_REG, tx_count, 0xff);
|
||||
}
|
||||
|
||||
static inline int amd_spi_busy_wait(struct amd_spi *amd_spi)
|
||||
static int amd_spi_busy_wait(struct amd_spi *amd_spi)
|
||||
{
|
||||
bool spi_busy;
|
||||
int timeout = 100000;
|
||||
|
||||
/* poll for SPI bus to become idle */
|
||||
spi_busy = (ioread32((u8 __iomem *)amd_spi->io_remap_addr +
|
||||
AMD_SPI_CTRL0_REG) & AMD_SPI_BUSY) == AMD_SPI_BUSY;
|
||||
while (spi_busy) {
|
||||
while (amd_spi_readreg32(amd_spi, AMD_SPI_CTRL0_REG) & AMD_SPI_BUSY) {
|
||||
usleep_range(10, 20);
|
||||
if (timeout-- < 0)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
spi_busy = (ioread32((u8 __iomem *)amd_spi->io_remap_addr +
|
||||
AMD_SPI_CTRL0_REG) & AMD_SPI_BUSY) == AMD_SPI_BUSY;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user