public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: linux-omap-open-source@linux.omap.com
Subject: [PATCH 6/9] musb_hdrc: Rename dma.h to musb_dma.h
Date: Mon, 20 Aug 2007 02:10:24 -0700	[thread overview]
Message-ID: <11876010423282-git-send-email-tony@atomide.com> (raw)
In-Reply-To: <11876010403850-git-send-email-tony@atomide.com>

Rename dma.h to musb_dma.h

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 drivers/usb/musb/cppi_dma.h  |    2 +-
 drivers/usb/musb/dma.h       |  174 ------------------------------------------
 drivers/usb/musb/musb_core.h |    2 +-
 drivers/usb/musb/musb_dma.h  |  174 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 176 insertions(+), 176 deletions(-)
 delete mode 100644 drivers/usb/musb/dma.h
 create mode 100644 drivers/usb/musb/musb_dma.h

diff --git a/drivers/usb/musb/cppi_dma.h b/drivers/usb/musb/cppi_dma.h
index c121865..1d72c1b 100644
--- a/drivers/usb/musb/cppi_dma.h
+++ b/drivers/usb/musb/cppi_dma.h
@@ -9,7 +9,7 @@
 #include <linux/errno.h>
 #include <linux/dmapool.h>
 
-#include "dma.h"
+#include "musb_dma.h"
 #include "musb_core.h"
 #include "davinci.h"
 
diff --git a/drivers/usb/musb/dma.h b/drivers/usb/musb/dma.h
deleted file mode 100644
index deef0c2..0000000
--- a/drivers/usb/musb/dma.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * MUSB OTG driver DMA controller abstraction
- *
- * Copyright 2005 Mentor Graphics Corporation
- * Copyright (C) 2005-2006 by Texas Instruments
- * Copyright (C) 2006-2007 Nokia Corporation
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- *
- * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
- * NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#ifndef __MUSB_DMA_H__
-#define __MUSB_DMA_H__
-
-struct musb_hw_ep;
-
-/*
- * DMA Controller Abstraction
- *
- * DMA Controllers are abstracted to allow use of a variety of different
- * implementations of DMA, as allowed by the Inventra USB cores.  On the
- * host side, usbcore sets up the DMA mappings and flushes caches; on the
- * peripheral side, the gadget controller driver does.  Responsibilities
- * of a DMA controller driver include:
- *
- *  - Handling the details of moving multiple USB packets
- *    in cooperation with the Inventra USB core, including especially
- *    the correct RX side treatment of short packets and buffer-full
- *    states (both of which terminate transfers).
- *
- *  - Knowing the correlation between dma channels and the
- *    Inventra core's local endpoint resources and data direction.
- *
- *  - Maintaining a list of allocated/available channels.
- *
- *  - Updating channel status on interrupts,
- *    whether shared with the Inventra core or separate.
- */
-
-#define	DMA_ADDR_INVALID	(~(dma_addr_t)0)
-
-#ifndef CONFIG_USB_MUSB_DISABLE_DMA
-#define	is_dma_capable()	(1)
-#else
-#define	is_dma_capable()	(0)
-#endif
-
-#ifdef CONFIG_USB_TI_CPPI_DMA
-#define	is_cppi_enabled()	1
-#else
-#define	is_cppi_enabled()	0
-#endif
-
-#ifdef CONFIG_USB_TUSB_OMAP_DMA
-#define tusb_dma_omap()			1
-#else
-#define tusb_dma_omap()			0
-#endif
-
-/*
- * DMA channel status ... updated by the dma controller driver whenever that
- * status changes, and protected by the overall controller spinlock.
- */
-enum dma_channel_status {
-	/* unallocated */
-	MUSB_DMA_STATUS_UNKNOWN,
-	/* allocated ... but not busy, no errors */
-	MUSB_DMA_STATUS_FREE,
-	/* busy ... transactions are active */
-	MUSB_DMA_STATUS_BUSY,
-	/* transaction(s) aborted due to ... dma or memory bus error */
-	MUSB_DMA_STATUS_BUS_ABORT,
-	/* transaction(s) aborted due to ... core error or USB fault */
-	MUSB_DMA_STATUS_CORE_ABORT
-};
-
-struct dma_controller;
-
-/**
- * struct dma_channel - A DMA channel.
- * @private_data: channel-private data
- * @max_len: the maximum number of bytes the channel can move in one
- *	transaction (typically representing many USB maximum-sized packets)
- * @actual_len: how many bytes have been transferred
- * @status: current channel status (updated e.g. on interrupt)
- * @desired_mode: TRUE if mode 1 is desired; FALSE if mode 0 is desired
- *
- * channels are associated with an endpoint for the duration of at least
- * one usb transfer.
- */
-struct dma_channel {
-	void			*private_data;
-	// FIXME not void* private_data, but a dma_controller *
-	size_t			max_len;
-	size_t			actual_len;
-	enum dma_channel_status	status;
-	u8			desired_mode;
-};
-
-/*
- * dma_channel_status - return status of dma channel
- * @c: the channel
- *
- * Returns the software's view of the channel status.  If that status is BUSY
- * then it's possible that the hardware has completed (or aborted) a transfer,
- * so the driver needs to update that status.
- */
-static inline enum dma_channel_status
-dma_channel_status(struct dma_channel *c)
-{
-	return (is_dma_capable() && c) ? c->status : MUSB_DMA_STATUS_UNKNOWN;
-}
-
-/**
- * struct dma_controller - A DMA Controller.
- * @private_data: controller-private data;
- * @start: call this to start a DMA controller;
- *	return 0 on success, else negative errno
- * @stop: call this to stop a DMA controller
- *	return 0 on success, else negative errno
- * @channel_alloc: call this to allocate a DMA channel
- * @channel_release: call this to release a DMA channel
- * @channel_abort: call this to abort a pending DMA transaction,
- *	returning it to FREE (but allocated) state
- *
- * Controllers manage dma channels.
- */
-struct dma_controller {
-	void			*private_data;
-	int			(*start)(struct dma_controller *);
-	int			(*stop)(struct dma_controller *);
-	struct dma_channel	*(*channel_alloc)(struct dma_controller *,
-					struct musb_hw_ep *, u8 is_tx);
-	void			(*channel_release)(struct dma_channel *);
-	int			(*channel_program)(struct dma_channel *channel,
-							u16 maxpacket, u8 mode,
-							dma_addr_t dma_addr,
-							u32 length);
-	int			(*channel_abort)(struct dma_channel *);
-};
-
-/* called after channel_program(), may indicate a fault */
-extern void musb_dma_completion(struct musb *musb, u8 epnum, u8 transmit);
-
-
-extern struct dma_controller *__init
-dma_controller_create(struct musb *, void __iomem *);
-
-extern void dma_controller_destroy(struct dma_controller *);
-
-#endif	/* __MUSB_DMA_H__ */
diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h
index ed02839..56f8fbb 100644
--- a/drivers/usb/musb/musb_core.h
+++ b/drivers/usb/musb/musb_core.h
@@ -54,7 +54,7 @@ struct musb_ep;
 
 
 #include "debug.h"
-#include "dma.h"
+#include "musb_dma.h"
 
 #ifdef CONFIG_USB_MUSB_SOC
 /*
diff --git a/drivers/usb/musb/musb_dma.h b/drivers/usb/musb/musb_dma.h
new file mode 100644
index 0000000..deef0c2
--- /dev/null
+++ b/drivers/usb/musb/musb_dma.h
@@ -0,0 +1,174 @@
+/*
+ * MUSB OTG driver DMA controller abstraction
+ *
+ * Copyright 2005 Mentor Graphics Corporation
+ * Copyright (C) 2005-2006 by Texas Instruments
+ * Copyright (C) 2006-2007 Nokia Corporation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
+ * NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#ifndef __MUSB_DMA_H__
+#define __MUSB_DMA_H__
+
+struct musb_hw_ep;
+
+/*
+ * DMA Controller Abstraction
+ *
+ * DMA Controllers are abstracted to allow use of a variety of different
+ * implementations of DMA, as allowed by the Inventra USB cores.  On the
+ * host side, usbcore sets up the DMA mappings and flushes caches; on the
+ * peripheral side, the gadget controller driver does.  Responsibilities
+ * of a DMA controller driver include:
+ *
+ *  - Handling the details of moving multiple USB packets
+ *    in cooperation with the Inventra USB core, including especially
+ *    the correct RX side treatment of short packets and buffer-full
+ *    states (both of which terminate transfers).
+ *
+ *  - Knowing the correlation between dma channels and the
+ *    Inventra core's local endpoint resources and data direction.
+ *
+ *  - Maintaining a list of allocated/available channels.
+ *
+ *  - Updating channel status on interrupts,
+ *    whether shared with the Inventra core or separate.
+ */
+
+#define	DMA_ADDR_INVALID	(~(dma_addr_t)0)
+
+#ifndef CONFIG_USB_MUSB_DISABLE_DMA
+#define	is_dma_capable()	(1)
+#else
+#define	is_dma_capable()	(0)
+#endif
+
+#ifdef CONFIG_USB_TI_CPPI_DMA
+#define	is_cppi_enabled()	1
+#else
+#define	is_cppi_enabled()	0
+#endif
+
+#ifdef CONFIG_USB_TUSB_OMAP_DMA
+#define tusb_dma_omap()			1
+#else
+#define tusb_dma_omap()			0
+#endif
+
+/*
+ * DMA channel status ... updated by the dma controller driver whenever that
+ * status changes, and protected by the overall controller spinlock.
+ */
+enum dma_channel_status {
+	/* unallocated */
+	MUSB_DMA_STATUS_UNKNOWN,
+	/* allocated ... but not busy, no errors */
+	MUSB_DMA_STATUS_FREE,
+	/* busy ... transactions are active */
+	MUSB_DMA_STATUS_BUSY,
+	/* transaction(s) aborted due to ... dma or memory bus error */
+	MUSB_DMA_STATUS_BUS_ABORT,
+	/* transaction(s) aborted due to ... core error or USB fault */
+	MUSB_DMA_STATUS_CORE_ABORT
+};
+
+struct dma_controller;
+
+/**
+ * struct dma_channel - A DMA channel.
+ * @private_data: channel-private data
+ * @max_len: the maximum number of bytes the channel can move in one
+ *	transaction (typically representing many USB maximum-sized packets)
+ * @actual_len: how many bytes have been transferred
+ * @status: current channel status (updated e.g. on interrupt)
+ * @desired_mode: TRUE if mode 1 is desired; FALSE if mode 0 is desired
+ *
+ * channels are associated with an endpoint for the duration of at least
+ * one usb transfer.
+ */
+struct dma_channel {
+	void			*private_data;
+	// FIXME not void* private_data, but a dma_controller *
+	size_t			max_len;
+	size_t			actual_len;
+	enum dma_channel_status	status;
+	u8			desired_mode;
+};
+
+/*
+ * dma_channel_status - return status of dma channel
+ * @c: the channel
+ *
+ * Returns the software's view of the channel status.  If that status is BUSY
+ * then it's possible that the hardware has completed (or aborted) a transfer,
+ * so the driver needs to update that status.
+ */
+static inline enum dma_channel_status
+dma_channel_status(struct dma_channel *c)
+{
+	return (is_dma_capable() && c) ? c->status : MUSB_DMA_STATUS_UNKNOWN;
+}
+
+/**
+ * struct dma_controller - A DMA Controller.
+ * @private_data: controller-private data;
+ * @start: call this to start a DMA controller;
+ *	return 0 on success, else negative errno
+ * @stop: call this to stop a DMA controller
+ *	return 0 on success, else negative errno
+ * @channel_alloc: call this to allocate a DMA channel
+ * @channel_release: call this to release a DMA channel
+ * @channel_abort: call this to abort a pending DMA transaction,
+ *	returning it to FREE (but allocated) state
+ *
+ * Controllers manage dma channels.
+ */
+struct dma_controller {
+	void			*private_data;
+	int			(*start)(struct dma_controller *);
+	int			(*stop)(struct dma_controller *);
+	struct dma_channel	*(*channel_alloc)(struct dma_controller *,
+					struct musb_hw_ep *, u8 is_tx);
+	void			(*channel_release)(struct dma_channel *);
+	int			(*channel_program)(struct dma_channel *channel,
+							u16 maxpacket, u8 mode,
+							dma_addr_t dma_addr,
+							u32 length);
+	int			(*channel_abort)(struct dma_channel *);
+};
+
+/* called after channel_program(), may indicate a fault */
+extern void musb_dma_completion(struct musb *musb, u8 epnum, u8 transmit);
+
+
+extern struct dma_controller *__init
+dma_controller_create(struct musb *, void __iomem *);
+
+extern void dma_controller_destroy(struct dma_controller *);
+
+#endif	/* __MUSB_DMA_H__ */
-- 
1.5.2.3

  reply	other threads:[~2007-08-20  9:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-20  9:10 [PATCH 0/9] musb_hdrc: Unify naming and rename common files Tony Lindgren
2007-08-20  9:10 ` [PATCH 1/9] musb_hdrc: Search and replace USB_INVENTRA_FIFO with USB_MUSB_DISABLE_DMA Tony Lindgren
2007-08-20  9:10   ` [PATCH 2/9] musb_hdrc: Search and replace USB_INVENTRA_HCD_LOGGING with USB_MUSB_LOGLEVEL Tony Lindgren
2007-08-20  9:10     ` [PATCH 3/9] musb_hdrc: Rename plat_uds.c to musb_core.c, plat_arc.h to musb_arch.h Tony Lindgren
2007-08-20  9:10       ` [PATCH 4/9] musb_hdrc: Rename musbhdrc.h to musb_regs.h Tony Lindgren
2007-08-20  9:10         ` [PATCH 5/9] musb_hdrc: Rename musbdefs.h to musb_core.h Tony Lindgren
2007-08-20  9:10           ` Tony Lindgren [this message]
2007-08-20  9:10             ` [PATCH 7/9] musb_hdrc: Rename g_ep0.c musb_gadget_ep0.c Tony Lindgren
2007-08-20  9:10               ` [PATCH 8/9] musb_hdrc: Rename virthub.c musb_host_virthub.c Tony Lindgren
2007-08-20  9:10                 ` [PATCH 9/9] musb_hdrc: Rename debug.h to musb_debug.h Tony Lindgren
2007-08-21  7:23 ` [PATCH 0/9] musb_hdrc: Unify naming and rename common files Tony Lindgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=11876010423282-git-send-email-tony@atomide.com \
    --to=tony@atomide.com \
    --cc=linux-omap-open-source@linux.omap.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox