diff options
author | Herve Codina <herve.codina@bootlin.com> | 2023-12-05 16:21:14 +0100 |
---|---|---|
committer | Herve Codina <herve.codina@bootlin.com> | 2023-12-12 10:29:20 +0100 |
commit | 7a2ee1576dcc6bbe017a8283fba237b05b13fd15 (patch) | |
tree | 32b06f8875a4fdab1d6637e12e0f0eb2fb94059c /include/soc/fsl | |
parent | soc: fsl: cpm1: qmc: Remove timeslots handling from setup_chan() (diff) | |
download | linux-7a2ee1576dcc6bbe017a8283fba237b05b13fd15.tar.xz linux-7a2ee1576dcc6bbe017a8283fba237b05b13fd15.zip |
soc: fsl: cpm1: qmc: Introduce functions to change timeslots at runtime
Introduce qmc_chan_{get,set}_ts_info() function to allow timeslots
modification at runtime.
The modification is provided using qmc_chan_set_ts_info() and will be
applied on next qmc_chan_start().
qmc_chan_set_ts_info() must be called with the channel rx and/or tx
stopped.
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20231205152116.122512-18-herve.codina@bootlin.com
Diffstat (limited to 'include/soc/fsl')
-rw-r--r-- | include/soc/fsl/qe/qmc.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/soc/fsl/qe/qmc.h b/include/soc/fsl/qe/qmc.h index 166484bb4294..2a333fc1ea81 100644 --- a/include/soc/fsl/qe/qmc.h +++ b/include/soc/fsl/qe/qmc.h @@ -40,6 +40,16 @@ struct qmc_chan_info { int qmc_chan_get_info(struct qmc_chan *chan, struct qmc_chan_info *info); +struct qmc_chan_ts_info { + u64 rx_ts_mask_avail; + u64 tx_ts_mask_avail; + u64 rx_ts_mask; + u64 tx_ts_mask; +}; + +int qmc_chan_get_ts_info(struct qmc_chan *chan, struct qmc_chan_ts_info *ts_info); +int qmc_chan_set_ts_info(struct qmc_chan *chan, const struct qmc_chan_ts_info *ts_info); + struct qmc_chan_param { enum qmc_mode mode; union { |