summaryrefslogtreecommitdiffstats
path: root/drivers/staging/comedi
diff options
context:
space:
mode:
authorH Hartley Sweeten2016-05-02 19:11:50 +0200
committerGreg Kroah-Hartman2016-05-03 23:11:15 +0200
commitf5f4f0c7c8c66bac165e6a16d77dc26fbeb4967e (patch)
tree642ad375b32d2271cb96724c11df12e24173fe15 /drivers/staging/comedi
parentstaging: comedi: mite: move mite_prep_dma() (diff)
downloadkernel-qcow2-linux-f5f4f0c7c8c66bac165e6a16d77dc26fbeb4967e.tar.gz
kernel-qcow2-linux-f5f4f0c7c8c66bac165e6a16d77dc26fbeb4967e.tar.xz
kernel-qcow2-linux-f5f4f0c7c8c66bac165e6a16d77dc26fbeb4967e.zip
staging: comedi: mite: move the mite dma arm/disarm/reset functions
For aesthetics, move these functions to a more logical spot in the code and add docbook comments for the exported functions. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/comedi')
-rw-r--r--drivers/staging/comedi/drivers/mite.c76
-rw-r--r--drivers/staging/comedi/drivers/mite.h5
2 files changed, 45 insertions, 36 deletions
diff --git a/drivers/staging/comedi/drivers/mite.c b/drivers/staging/comedi/drivers/mite.c
index 82f4fda08493..ce479addf1b3 100644
--- a/drivers/staging/comedi/drivers/mite.c
+++ b/drivers/staging/comedi/drivers/mite.c
@@ -213,12 +213,6 @@ static unsigned int mite_drq_reqs(unsigned int drq_line)
return CR_REQS((drq_line & 0x3) | 0x4);
}
-static void mite_dma_reset(struct mite_channel *mite_chan)
-{
- writel(CHOR_DMARESET | CHOR_FRESET,
- mite_chan->mite->mmio + MITE_CHOR(mite_chan->channel));
-}
-
static unsigned int mite_fifo_size(struct mite *mite, unsigned int channel)
{
unsigned int fcr_bits = readl(mite->mmio + MITE_FCR(channel));
@@ -228,25 +222,6 @@ static unsigned int mite_fifo_size(struct mite *mite, unsigned int channel)
return empty_count + full_count;
}
-void mite_dma_arm(struct mite_channel *mite_chan)
-{
- struct mite *mite = mite_chan->mite;
- unsigned long flags;
-
- /*
- * memory barrier is intended to insure any twiddling with the buffer
- * is done before writing to the mite to arm dma transfer
- */
- smp_mb();
- spin_lock_irqsave(&mite->lock, flags);
- mite_chan->done = 0;
- /* arm */
- writel(CHOR_START, mite->mmio + MITE_CHOR(mite_chan->channel));
- mmiowb();
- spin_unlock_irqrestore(&mite->lock, flags);
-}
-EXPORT_SYMBOL_GPL(mite_dma_arm);
-
static u32 mite_device_bytes_transferred(struct mite_channel *mite_chan)
{
struct mite *mite = mite_chan->mite;
@@ -298,15 +273,6 @@ static u32 mite_bytes_read_from_memory_ub(struct mite_channel *mite_chan)
return mite_device_bytes_transferred(mite_chan) + in_transit_count;
}
-void mite_dma_disarm(struct mite_channel *mite_chan)
-{
- struct mite *mite = mite_chan->mite;
-
- /* disarm */
- writel(CHOR_ABORT, mite->mmio + MITE_CHOR(mite_chan->channel));
-}
-EXPORT_SYMBOL_GPL(mite_dma_disarm);
-
static void mite_sync_input_dma(struct mite_channel *mite_chan,
struct comedi_subdevice *s)
{
@@ -447,6 +413,48 @@ int mite_done(struct mite_channel *mite_chan)
}
EXPORT_SYMBOL_GPL(mite_done);
+static void mite_dma_reset(struct mite_channel *mite_chan)
+{
+ writel(CHOR_DMARESET | CHOR_FRESET,
+ mite_chan->mite->mmio + MITE_CHOR(mite_chan->channel));
+}
+
+/**
+ * mite_dma_arm() - Start a MITE dma transfer.
+ * @mite_chan: MITE dma channel.
+ */
+void mite_dma_arm(struct mite_channel *mite_chan)
+{
+ struct mite *mite = mite_chan->mite;
+ unsigned long flags;
+
+ /*
+ * memory barrier is intended to insure any twiddling with the buffer
+ * is done before writing to the mite to arm dma transfer
+ */
+ smp_mb();
+ spin_lock_irqsave(&mite->lock, flags);
+ mite_chan->done = 0;
+ /* arm */
+ writel(CHOR_START, mite->mmio + MITE_CHOR(mite_chan->channel));
+ mmiowb();
+ spin_unlock_irqrestore(&mite->lock, flags);
+}
+EXPORT_SYMBOL_GPL(mite_dma_arm);
+
+/**
+ * mite_dma_disarm() - Stop a MITE dma transfer.
+ * @mite_chan: MITE dma channel.
+ */
+void mite_dma_disarm(struct mite_channel *mite_chan)
+{
+ struct mite *mite = mite_chan->mite;
+
+ /* disarm */
+ writel(CHOR_ABORT, mite->mmio + MITE_CHOR(mite_chan->channel));
+}
+EXPORT_SYMBOL_GPL(mite_dma_disarm);
+
/**
* mite_prep_dma() - Prepare a MITE dma channel for transfers.
* @mite_chan: MITE dma channel.
diff --git a/drivers/staging/comedi/drivers/mite.h b/drivers/staging/comedi/drivers/mite.h
index 4017ddb0bf85..c7ae3dbabc23 100644
--- a/drivers/staging/comedi/drivers/mite.h
+++ b/drivers/staging/comedi/drivers/mite.h
@@ -60,14 +60,15 @@ struct mite {
spinlock_t lock;
};
-void mite_dma_arm(struct mite_channel *mite_chan);
-void mite_dma_disarm(struct mite_channel *mite_chan);
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 *,
bool sync);
int mite_done(struct mite_channel *mite_chan);
+void mite_dma_arm(struct mite_channel *);
+void mite_dma_disarm(struct mite_channel *);
+
void mite_prep_dma(struct mite_channel *,
unsigned int num_device_bits, unsigned int num_memory_bits);