summaryrefslogtreecommitdiffstats
path: root/include/soc
diff options
context:
space:
mode:
authorHerve Codina <herve.codina@bootlin.com>2023-12-05 16:21:14 +0100
committerHerve Codina <herve.codina@bootlin.com>2023-12-12 10:29:20 +0100
commit7a2ee1576dcc6bbe017a8283fba237b05b13fd15 (patch)
tree32b06f8875a4fdab1d6637e12e0f0eb2fb94059c /include/soc
parentsoc: fsl: cpm1: qmc: Remove timeslots handling from setup_chan() (diff)
downloadlinux-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')
-rw-r--r--include/soc/fsl/qe/qmc.h10
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 {