usb: gadget: Move udc_priv bit fields to MSM central header file.
The req->udc_priv value is used to transfer parameters from a function
driver to a udc, for enabling sps/bam mode for MSM architecture.
This change moves the definitions of the bit fields inside the udc_priv to
msm_hsusb.h in order to avoid duplicate definitions in u_bam.c and
ci13xxx_udc.h. Also this will allow other function drivers and other udcs
to use this definitions, for example, debug class over dwc3 udc.
Change-Id: I37a011524f7ba6d06029d1f3ab3f58d4cb248e4d
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
diff --git a/drivers/usb/gadget/ci13xxx_udc.c b/drivers/usb/gadget/ci13xxx_udc.c
index 8e0bef0..54d041a 100644
--- a/drivers/usb/gadget/ci13xxx_udc.c
+++ b/drivers/usb/gadget/ci13xxx_udc.c
@@ -64,6 +64,7 @@
#include <linux/usb/ch9.h>
#include <linux/usb/gadget.h>
#include <linux/usb/otg.h>
+#include <linux/usb/msm_hsusb.h>
#include "ci13xxx_udc.h"
@@ -1676,7 +1677,7 @@
if (CI13XX_REQ_VENDOR_ID(mReq->req.udc_priv) == MSM_VENDOR_ID) {
if (mReq->req.udc_priv & MSM_SPS_MODE) {
mReq->ptr->token = TD_STATUS_ACTIVE;
- if (mReq->req.udc_priv & MSM_TBE)
+ if (mReq->req.udc_priv & MSM_IS_FINITE_TRANSFER)
mReq->ptr->next = TD_TERMINATE;
else
mReq->ptr->next = MSM_ETD_TYPE | mReq->dma;
@@ -1794,7 +1795,7 @@
if (CI13XX_REQ_VENDOR_ID(mReq->req.udc_priv) == MSM_VENDOR_ID)
if ((mReq->req.udc_priv & MSM_SPS_MODE) &&
- (mReq->req.udc_priv & MSM_TBE))
+ (mReq->req.udc_priv & MSM_IS_FINITE_TRANSFER))
return -EBUSY;
if (mReq->zptr) {
if ((TD_STATUS_ACTIVE & mReq->zptr->token) != 0)
diff --git a/drivers/usb/gadget/ci13xxx_udc.h b/drivers/usb/gadget/ci13xxx_udc.h
index 684517b..0c811e1 100644
--- a/drivers/usb/gadget/ci13xxx_udc.h
+++ b/drivers/usb/gadget/ci13xxx_udc.h
@@ -30,15 +30,8 @@
*/
#define CI13XX_REQ_VENDOR_ID(id) (id & 0xFFFF0000UL)
-/* MSM specific */
-#define MSM_PIPE_ID_MASK (0x1F)
-#define MSM_TX_PIPE_ID_OFS (16)
-#define MSM_SPS_MODE BIT(5)
-#define MSM_TBE BIT(6)
-#define MSM_ETD_TYPE BIT(1)
-#define MSM_ETD_IOC BIT(9)
-#define MSM_VENDOR_ID BIT(16)
-#define MSM_EP_PIPE_ID_RESET_VAL 0x1F001F
+#define MSM_ETD_TYPE BIT(1)
+#define MSM_EP_PIPE_ID_RESET_VAL 0x1F001F
/******************************************************************************
* STRUCTURES
diff --git a/drivers/usb/gadget/u_bam.c b/drivers/usb/gadget/u_bam.c
index 36270d4..3113c45 100644
--- a/drivers/usb/gadget/u_bam.c
+++ b/drivers/usb/gadget/u_bam.c
@@ -79,10 +79,6 @@
#define BAM_CH_OPENED BIT(0)
#define BAM_CH_READY BIT(1)
-#define SPS_PARAMS_PIPE_ID_MASK (0x1F)
-#define SPS_PARAMS_SPS_MODE BIT(5)
-#define SPS_PARAMS_TBE BIT(6)
-#define MSM_VENDOR_ID BIT(16)
struct bam_ch_info {
unsigned long flags;
@@ -741,8 +737,8 @@
d->rx_req->context = port;
d->rx_req->complete = gbam_endless_rx_complete;
d->rx_req->length = 0;
- sps_params = (SPS_PARAMS_SPS_MODE | d->src_pipe_idx |
- MSM_VENDOR_ID) & ~SPS_PARAMS_TBE;
+ sps_params = (MSM_SPS_MODE | d->src_pipe_idx |
+ MSM_VENDOR_ID) & ~MSM_IS_FINITE_TRANSFER;
d->rx_req->udc_priv = sps_params;
d->tx_req = usb_ep_alloc_request(port->port_usb->in, GFP_KERNEL);
if (!d->tx_req)
@@ -751,8 +747,8 @@
d->tx_req->context = port;
d->tx_req->complete = gbam_endless_tx_complete;
d->tx_req->length = 0;
- sps_params = (SPS_PARAMS_SPS_MODE | d->dst_pipe_idx |
- MSM_VENDOR_ID) & ~SPS_PARAMS_TBE;
+ sps_params = (MSM_SPS_MODE | d->dst_pipe_idx |
+ MSM_VENDOR_ID) & ~MSM_IS_FINITE_TRANSFER;
d->tx_req->udc_priv = sps_params;
/* queue in & out requests */