spi: mpc52xx: Avoid using get_tbl()

get_tbl() is confusing as it returns the content TBL register
on PPC32 but the concatenation of TBL and TBU on PPC64.

Use mftb() instead.

This will allow the removal of get_tbl() in a following patch.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/99bf008e2970de7f8ed3225cda69a6d06ae1a644.1612866360.git.christophe.leroy@csgroup.eu
This commit is contained in:
Christophe Leroy 2021-02-09 10:26:21 +00:00 committed by Michael Ellerman
parent 5b90b9661a
commit e10656114d

View file

@ -120,7 +120,7 @@ static void mpc52xx_spi_start_transfer(struct mpc52xx_spi *ms)
ms->cs_change = ms->transfer->cs_change; ms->cs_change = ms->transfer->cs_change;
/* Write out the first byte */ /* Write out the first byte */
ms->wcol_tx_timestamp = get_tbl(); ms->wcol_tx_timestamp = mftb();
if (ms->tx_buf) if (ms->tx_buf)
out_8(ms->regs + SPI_DATA, *ms->tx_buf++); out_8(ms->regs + SPI_DATA, *ms->tx_buf++);
else else
@ -221,8 +221,8 @@ static int mpc52xx_spi_fsmstate_transfer(int irq, struct mpc52xx_spi *ms,
* but it can also be worked around simply by retrying the * but it can also be worked around simply by retrying the
* transfer which is what we do here. */ * transfer which is what we do here. */
ms->wcol_count++; ms->wcol_count++;
ms->wcol_ticks += get_tbl() - ms->wcol_tx_timestamp; ms->wcol_ticks += mftb() - ms->wcol_tx_timestamp;
ms->wcol_tx_timestamp = get_tbl(); ms->wcol_tx_timestamp = mftb();
data = 0; data = 0;
if (ms->tx_buf) if (ms->tx_buf)
data = *(ms->tx_buf - 1); data = *(ms->tx_buf - 1);
@ -247,14 +247,14 @@ static int mpc52xx_spi_fsmstate_transfer(int irq, struct mpc52xx_spi *ms,
/* Is the transfer complete? */ /* Is the transfer complete? */
ms->len--; ms->len--;
if (ms->len == 0) { if (ms->len == 0) {
ms->timestamp = get_tbl(); ms->timestamp = mftb();
ms->timestamp += ms->transfer->delay_usecs * tb_ticks_per_usec; ms->timestamp += ms->transfer->delay_usecs * tb_ticks_per_usec;
ms->state = mpc52xx_spi_fsmstate_wait; ms->state = mpc52xx_spi_fsmstate_wait;
return FSM_CONTINUE; return FSM_CONTINUE;
} }
/* Write out the next byte */ /* Write out the next byte */
ms->wcol_tx_timestamp = get_tbl(); ms->wcol_tx_timestamp = mftb();
if (ms->tx_buf) if (ms->tx_buf)
out_8(ms->regs + SPI_DATA, *ms->tx_buf++); out_8(ms->regs + SPI_DATA, *ms->tx_buf++);
else else
@ -276,7 +276,7 @@ mpc52xx_spi_fsmstate_wait(int irq, struct mpc52xx_spi *ms, u8 status, u8 data)
dev_err(&ms->master->dev, "spurious irq, status=0x%.2x\n", dev_err(&ms->master->dev, "spurious irq, status=0x%.2x\n",
status); status);
if (((int)get_tbl()) - ms->timestamp < 0) if (((int)mftb()) - ms->timestamp < 0)
return FSM_POLL; return FSM_POLL;
ms->message->actual_length += ms->transfer->len; ms->message->actual_length += ms->transfer->len;