aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/comedi/drivers/mite.c23
-rw-r--r--drivers/staging/comedi/drivers/mite.h9
2 files changed, 28 insertions, 4 deletions
diff --git a/drivers/staging/comedi/drivers/mite.c b/drivers/staging/comedi/drivers/mite.c
index ce479addf1b3..440090e87f2c 100644
--- a/drivers/staging/comedi/drivers/mite.c
+++ b/drivers/staging/comedi/drivers/mite.c
@@ -229,6 +229,10 @@ static u32 mite_device_bytes_transferred(struct mite_channel *mite_chan)
return readl(mite->mmio + MITE_DAR(mite_chan->channel));
}
+/**
+ * mite_bytes_in_transit() - Returns the number of unread bytes in the fifo.
+ * @mite_chan: MITE dma channel.
+ */
u32 mite_bytes_in_transit(struct mite_channel *mite_chan)
{
struct mite *mite = mite_chan->mite;
@@ -349,6 +353,11 @@ static void mite_sync_output_dma(struct mite_channel *mite_chan,
}
}
+/**
+ * mite_sync_dma() - Sync the MITE dma with the COMEDI async buffer.
+ * @mite_chan: MITE dma channel.
+ * @s: COMEDI subdevice.
+ */
void mite_sync_dma(struct mite_channel *mite_chan, struct comedi_subdevice *s)
{
if (mite_chan->dir == COMEDI_INPUT)
@@ -376,6 +385,14 @@ static unsigned int mite_get_status(struct mite_channel *mite_chan)
return status;
}
+/**
+ * mite_ack_linkc() - Check and ack the LINKC interrupt,
+ * @mite_chan: MITE dma channel.
+ * @s: COMEDI subdevice.
+ * @sync: flag to force a mite_sync_dma().
+ *
+ * This will also ack the DONE interrupt if active.
+ */
void mite_ack_linkc(struct mite_channel *mite_chan,
struct comedi_subdevice *s,
bool sync)
@@ -399,6 +416,12 @@ void mite_ack_linkc(struct mite_channel *mite_chan,
}
EXPORT_SYMBOL_GPL(mite_ack_linkc);
+/**
+ * mite_done() - Check is a MITE dma transfer is complete.
+ * @mite_chan: MITE dma channel.
+ *
+ * This will also ack the DONE interrupt if active.
+ */
int mite_done(struct mite_channel *mite_chan)
{
struct mite *mite = mite_chan->mite;
diff --git a/drivers/staging/comedi/drivers/mite.h b/drivers/staging/comedi/drivers/mite.h
index c7ae3dbabc23..b6349aed97d0 100644
--- a/drivers/staging/comedi/drivers/mite.h
+++ b/drivers/staging/comedi/drivers/mite.h
@@ -60,11 +60,12 @@ struct mite {
spinlock_t lock;
};
-void mite_sync_dma(struct mite_channel *mite_chan, struct comedi_subdevice *s);
-u32 mite_bytes_in_transit(struct mite_channel *mite_chan);
-void mite_ack_linkc(struct mite_channel *, struct comedi_subdevice *,
+u32 mite_bytes_in_transit(struct mite_channel *);
+
+void mite_sync_dma(struct mite_channel *, struct comedi_subdevice *);
+void mite_ack_linkc(struct mite_channel *, struct comedi_subdevice *s,
bool sync);
-int mite_done(struct mite_channel *mite_chan);
+int mite_done(struct mite_channel *);
void mite_dma_arm(struct mite_channel *);
void mite_dma_disarm(struct mite_channel *);