Le 26/07/2023 à 17:02, Herve Codina a écrit :
Available timeslots masks define timeslots available for the related channel. These timeslots are defined by the QMC binding.
Timeslots used are initialized to available timeslots but can be a subset of available timeslots. This prepares the dynamic timeslots management (ie. changing timeslots at runtime).
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, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c index 2d2a9d88ba6c..21ad7e79e7bd 100644 --- a/drivers/soc/fsl/qe/qmc.c +++ b/drivers/soc/fsl/qe/qmc.c @@ -177,7 +177,9 @@ struct qmc_chan { struct qmc *qmc; void __iomem *s_param; enum qmc_mode mode;
- u64 tx_ts_mask_avail; u64 tx_ts_mask;
- u64 rx_ts_mask_avail; u64 rx_ts_mask; bool is_reverse_data;
@@ -875,7 +877,8 @@ static int qmc_of_parse_chans(struct qmc *qmc, struct device_node *np) of_node_put(chan_np); return ret; }
chan->tx_ts_mask = ts_mask;
chan->tx_ts_mask_avail = ts_mask;
chan->tx_ts_mask = chan->tx_ts_mask_avail;
ret = of_property_read_u64(chan_np, "fsl,rx-ts-mask", &ts_mask); if (ret) {
@@ -884,7 +887,8 @@ static int qmc_of_parse_chans(struct qmc *qmc, struct device_node *np) of_node_put(chan_np); return ret; }
chan->rx_ts_mask = ts_mask;
chan->rx_ts_mask_avail = ts_mask;
chan->rx_ts_mask = chan->rx_ts_mask_avail;
mode = "transparent"; ret = of_property_read_string(chan_np, "fsl,operational-mode", &mode);