Commit 44385c41 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Vinod Koul
Browse files

dmaengine: ti: k3-udma: Use defines for capabilities register parsing



Add defines for the CAP register fields to make the code self explaining.

Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20200717120903.8774-2-peter.ujfalusi@ti.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 4b545ebf
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -3209,13 +3209,13 @@ static int udma_setup_resources(struct udma_dev *ud)
						    "ti,sci-rm-range-rchan",
						    "ti,sci-rm-range-rflow" };

	cap2 = udma_read(ud->mmrs[MMR_GCFG], 0x28);
	cap3 = udma_read(ud->mmrs[MMR_GCFG], 0x2c);
	cap2 = udma_read(ud->mmrs[MMR_GCFG], UDMA_CAP_REG(2));
	cap3 = udma_read(ud->mmrs[MMR_GCFG], UDMA_CAP_REG(3));

	ud->rflow_cnt = cap3 & 0x3fff;
	ud->tchan_cnt = cap2 & 0x1ff;
	ud->echan_cnt = (cap2 >> 9) & 0x1ff;
	ud->rchan_cnt = (cap2 >> 18) & 0x1ff;
	ud->rflow_cnt = UDMA_CAP3_RFLOW_CNT(cap3);
	ud->tchan_cnt = UDMA_CAP2_TCHAN_CNT(cap2);
	ud->echan_cnt = UDMA_CAP2_ECHAN_CNT(cap2);
	ud->rchan_cnt = UDMA_CAP2_RCHAN_CNT(cap2);
	ch_count  = ud->tchan_cnt + ud->rchan_cnt;

	ud->tchan_map = devm_kmalloc_array(dev, BITS_TO_LONGS(ud->tchan_cnt),
+6 −0
Original line number Diff line number Diff line
@@ -37,6 +37,12 @@
#define UDMA_CHAN_RT_BCNT_REG		0x408
#define UDMA_CHAN_RT_SBCNT_REG		0x410

/* UDMA_CAP Registers */
#define UDMA_CAP2_TCHAN_CNT(val)	((val) & 0x1ff)
#define UDMA_CAP2_ECHAN_CNT(val)	(((val) >> 9) & 0x1ff)
#define UDMA_CAP2_RCHAN_CNT(val)	(((val) >> 18) & 0x1ff)
#define UDMA_CAP3_RFLOW_CNT(val)	((val) & 0x3fff)

/* UDMA_CHAN_RT_CTL_REG */
#define UDMA_CHAN_RT_CTL_EN		BIT(31)
#define UDMA_CHAN_RT_CTL_TDOWN		BIT(30)