2023-07-26 15:17:36

by Herve Codina

[permalink] [raw]
Subject: [PATCH v2 17/28] soc: fsl: cpm1: qmc: Remove timeslots handling from setup_chan()

Timeslots setting is done at channel start() and stop().
There is no more need to do that during setup_chan().

Simply remove timeslot setting from setup_chan().

Signed-off-by: Herve Codina <[email protected]>
---
drivers/soc/fsl/qe/qmc.c | 28 ----------------------------
1 file changed, 28 deletions(-)

diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c
index 258a34641551..b1883b9d2bae 100644
--- a/drivers/soc/fsl/qe/qmc.c
+++ b/drivers/soc/fsl/qe/qmc.c
@@ -723,30 +723,6 @@ static int qmc_chan_setup_tsa_rx(struct qmc_chan *chan, bool enable)
return qmc_chan_setup_tsa_32rx(chan, &info, enable);
}

-static int qmc_chan_setup_tsa(struct qmc_chan *chan, bool enable)
-{
- struct tsa_serial_info info;
- int ret;
-
- /* Retrieve info from the TSA related serial */
- ret = tsa_serial_get_info(chan->qmc->tsa_serial, &info);
- if (ret)
- return ret;
-
- /*
- * Setup one common 64 entries table or two 32 entries (one for Tx
- * and one for Tx) according to assigned TS numbers.
- */
- if (chan->qmc->is_tsa_64rxtx)
- return qmc_chan_setup_tsa_64rxtx(chan, &info, enable);
-
- ret = qmc_chan_setup_tsa_32rx(chan, &info, enable);
- if (ret)
- return ret;
-
- return qmc_chan_setup_tsa_32tx(chan, &info, enable);
-}
-
static int qmc_chan_command(struct qmc_chan *chan, u8 qmc_opcode)
{
return cpm_command(chan->id << 2, (qmc_opcode << 4) | 0x0E);
@@ -1323,10 +1299,6 @@ static int qmc_setup_chan(struct qmc *qmc, struct qmc_chan *chan)

chan->qmc = qmc;

- ret = qmc_chan_setup_tsa(chan, true);
- if (ret)
- return ret;
-
/* Set channel specific parameter base address */
chan->s_param = qmc->dpram + (chan->id * 64);
/* 16 bd per channel (8 rx and 8 tx) */
--
2.41.0



2023-08-08 17:49:33

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH v2 17/28] soc: fsl: cpm1: qmc: Remove timeslots handling from setup_chan()



Le 26/07/2023 à 17:02, Herve Codina a écrit :
> Timeslots setting is done at channel start() and stop().
> There is no more need to do that during setup_chan().
>
> Simply remove timeslot setting from setup_chan().
>
> Signed-off-by: Herve Codina <[email protected]>

Reviewed-by: Christophe Leroy <[email protected]>

> ---
> drivers/soc/fsl/qe/qmc.c | 28 ----------------------------
> 1 file changed, 28 deletions(-)
>
> diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c
> index 258a34641551..b1883b9d2bae 100644
> --- a/drivers/soc/fsl/qe/qmc.c
> +++ b/drivers/soc/fsl/qe/qmc.c
> @@ -723,30 +723,6 @@ static int qmc_chan_setup_tsa_rx(struct qmc_chan *chan, bool enable)
> return qmc_chan_setup_tsa_32rx(chan, &info, enable);
> }
>
> -static int qmc_chan_setup_tsa(struct qmc_chan *chan, bool enable)
> -{
> - struct tsa_serial_info info;
> - int ret;
> -
> - /* Retrieve info from the TSA related serial */
> - ret = tsa_serial_get_info(chan->qmc->tsa_serial, &info);
> - if (ret)
> - return ret;
> -
> - /*
> - * Setup one common 64 entries table or two 32 entries (one for Tx
> - * and one for Tx) according to assigned TS numbers.
> - */
> - if (chan->qmc->is_tsa_64rxtx)
> - return qmc_chan_setup_tsa_64rxtx(chan, &info, enable);
> -
> - ret = qmc_chan_setup_tsa_32rx(chan, &info, enable);
> - if (ret)
> - return ret;
> -
> - return qmc_chan_setup_tsa_32tx(chan, &info, enable);
> -}
> -
> static int qmc_chan_command(struct qmc_chan *chan, u8 qmc_opcode)
> {
> return cpm_command(chan->id << 2, (qmc_opcode << 4) | 0x0E);
> @@ -1323,10 +1299,6 @@ static int qmc_setup_chan(struct qmc *qmc, struct qmc_chan *chan)
>
> chan->qmc = qmc;
>
> - ret = qmc_chan_setup_tsa(chan, true);
> - if (ret)
> - return ret;
> -
> /* Set channel specific parameter base address */
> chan->s_param = qmc->dpram + (chan->id * 64);
> /* 16 bd per channel (8 rx and 8 tx) */