spi: mpc52xx: Avoid using get_tbl()
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Tue, 9 Feb 2021 10:26:21 +0000 (10:26 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 11 Feb 2021 12:35:13 +0000 (23:35 +1100)
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
drivers/spi/spi-mpc52xx.c

index ef2f244..e6a30f2 100644 (file)
@@ -120,7 +120,7 @@ static void mpc52xx_spi_start_transfer(struct mpc52xx_spi *ms)
        ms->cs_change = ms->transfer->cs_change;
 
        /* Write out the first byte */
-       ms->wcol_tx_timestamp = get_tbl();
+       ms->wcol_tx_timestamp = mftb();
        if (ms->tx_buf)
                out_8(ms->regs + SPI_DATA, *ms->tx_buf++);
        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
                 * transfer which is what we do here. */
                ms->wcol_count++;
-               ms->wcol_ticks += get_tbl() - ms->wcol_tx_timestamp;
-               ms->wcol_tx_timestamp = get_tbl();
+               ms->wcol_ticks += mftb() - ms->wcol_tx_timestamp;
+               ms->wcol_tx_timestamp = mftb();
                data = 0;
                if (ms->tx_buf)
                        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? */
        ms->len--;
        if (ms->len == 0) {
-               ms->timestamp = get_tbl();
+               ms->timestamp = mftb();
                ms->timestamp += ms->transfer->delay_usecs * tb_ticks_per_usec;
                ms->state = mpc52xx_spi_fsmstate_wait;
                return FSM_CONTINUE;
        }
 
        /* Write out the next byte */
-       ms->wcol_tx_timestamp = get_tbl();
+       ms->wcol_tx_timestamp = mftb();
        if (ms->tx_buf)
                out_8(ms->regs + SPI_DATA, *ms->tx_buf++);
        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",
                        status);
 
-       if (((int)get_tbl()) - ms->timestamp < 0)
+       if (((int)mftb()) - ms->timestamp < 0)
                return FSM_POLL;
 
        ms->message->actual_length += ms->transfer->len;