Message ID | 20230726150225.483464-13-herve.codina@bootlin.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add support for QMC HDLC, framer infrastruture and PEF2256 framer | expand |
Le 26/07/2023 à 17:02, Herve Codina a écrit : > The timeslots checked in qmc_check_chans() are the timeslots used. > With the introduction of the available timeslots, the used timeslots > are a subset of the available timeslots. The timeslots checked during > the qmc_check_chans() call should be the available ones. > > Simply update and check the available timeslots instead of the used > timeslots in qmc_check_chans(). > > Signed-off-by: Herve Codina <herve.codina@bootlin.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> > --- > drivers/soc/fsl/qe/qmc.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c > index 33761c39aee1..82405915f2a4 100644 > --- a/drivers/soc/fsl/qe/qmc.c > +++ b/drivers/soc/fsl/qe/qmc.c > @@ -914,13 +914,13 @@ static int qmc_check_chans(struct qmc *qmc) > rx_ts_assigned_mask = info.nb_rx_ts == 64 ? U64_MAX : (((u64)1) << info.nb_rx_ts) - 1; > > list_for_each_entry(chan, &qmc->chan_head, list) { > - if (chan->tx_ts_mask > tx_ts_assigned_mask) { > - dev_err(qmc->dev, "chan %u uses TSA unassigned Tx TS\n", chan->id); > + if (chan->tx_ts_mask_avail > tx_ts_assigned_mask) { > + dev_err(qmc->dev, "chan %u can use TSA unassigned Tx TS\n", chan->id); > return -EINVAL; > } > > - if (chan->rx_ts_mask > rx_ts_assigned_mask) { > - dev_err(qmc->dev, "chan %u uses TSA unassigned Rx TS\n", chan->id); > + if (chan->rx_ts_mask_avail > rx_ts_assigned_mask) { > + dev_err(qmc->dev, "chan %u can use TSA unassigned Rx TS\n", chan->id); > return -EINVAL; > } > }
diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c index 33761c39aee1..82405915f2a4 100644 --- a/drivers/soc/fsl/qe/qmc.c +++ b/drivers/soc/fsl/qe/qmc.c @@ -914,13 +914,13 @@ static int qmc_check_chans(struct qmc *qmc) rx_ts_assigned_mask = info.nb_rx_ts == 64 ? U64_MAX : (((u64)1) << info.nb_rx_ts) - 1; list_for_each_entry(chan, &qmc->chan_head, list) { - if (chan->tx_ts_mask > tx_ts_assigned_mask) { - dev_err(qmc->dev, "chan %u uses TSA unassigned Tx TS\n", chan->id); + if (chan->tx_ts_mask_avail > tx_ts_assigned_mask) { + dev_err(qmc->dev, "chan %u can use TSA unassigned Tx TS\n", chan->id); return -EINVAL; } - if (chan->rx_ts_mask > rx_ts_assigned_mask) { - dev_err(qmc->dev, "chan %u uses TSA unassigned Rx TS\n", chan->id); + if (chan->rx_ts_mask_avail > rx_ts_assigned_mask) { + dev_err(qmc->dev, "chan %u can use TSA unassigned Rx TS\n", chan->id); return -EINVAL; } }
The timeslots checked in qmc_check_chans() are the timeslots used. With the introduction of the available timeslots, the used timeslots are a subset of the available timeslots. The timeslots checked during the qmc_check_chans() call should be the available ones. Simply update and check the available timeslots instead of the used timeslots in qmc_check_chans(). Signed-off-by: Herve Codina <herve.codina@bootlin.com> --- drivers/soc/fsl/qe/qmc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)