Unverified Commit 356b02f9 authored by Lucas Tanure's avatar Lucas Tanure Committed by Mark Brown
Browse files

spi: amd: Refactor amd_spi_busy_wait

parent ca8e8a18
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -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;