usb: dwc2: gadget: Add descriptor DMA parameter

Add a parameter for descriptor DMA and set it based on hardware
capabilities. This won't actually be used by the gadget until later,
when the descriptor DMA code is in place.

Signed-off-by: Vahram Aharonyan <vahrama@synopsys.com>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
Vahram Aharonyan 2016-11-09 19:27:48 -08:00 коммит произвёл Felipe Balbi
Родитель aa4049f3a5
Коммит dec4b55677
3 изменённых файлов: 19 добавлений и 0 удалений

Просмотреть файл

@ -419,6 +419,7 @@ enum dwc2_ep0_state {
* 0 - No (default) * 0 - No (default)
* 1 - Yes * 1 - Yes
* @g_dma: Enables gadget dma usage (default: autodetect). * @g_dma: Enables gadget dma usage (default: autodetect).
* @g_dma_desc: Enables gadget descriptor DMA (default: autodetect).
* @g_rx_fifo_size: The periodic rx fifo size for the device, in * @g_rx_fifo_size: The periodic rx fifo size for the device, in
* DWORDS from 16-32768 (default: 2048 if * DWORDS from 16-32768 (default: 2048 if
* possible, otherwise autodetect). * possible, otherwise autodetect).
@ -498,6 +499,7 @@ struct dwc2_core_params {
/* Gadget parameters */ /* Gadget parameters */
bool g_dma; bool g_dma;
bool g_dma_desc;
u16 g_rx_fifo_size; u16 g_rx_fifo_size;
u16 g_np_tx_fifo_size; u16 g_np_tx_fifo_size;
u32 g_tx_fifo_size[MAX_EPS_CHANNELS]; u32 g_tx_fifo_size[MAX_EPS_CHANNELS];

Просмотреть файл

@ -96,6 +96,17 @@ static inline bool using_dma(struct dwc2_hsotg *hsotg)
return hsotg->params.g_dma; return hsotg->params.g_dma;
} }
/*
* using_desc_dma - return the descriptor DMA status of the driver.
* @hsotg: The driver state.
*
* Return true if we're using descriptor DMA.
*/
static inline bool using_desc_dma(struct dwc2_hsotg *hsotg)
{
return hsotg->params.g_dma_desc;
}
/** /**
* dwc2_gadget_incr_frame_num - Increments the targeted frame number. * dwc2_gadget_incr_frame_num - Increments the targeted frame number.
* @hs_ep: The endpoint * @hs_ep: The endpoint

Просмотреть файл

@ -1097,6 +1097,12 @@ static void dwc2_set_gadget_dma(struct dwc2_hsotg *hsotg)
false, "gadget-dma", false, "gadget-dma",
true, false, true, false,
dma_capable); dma_capable);
/* DMA Descriptor */
dwc2_set_param_bool(hsotg, &p->g_dma_desc, false,
"gadget-dma-desc",
p->g_dma, false,
!!hw->dma_desc_enable);
} }
/** /**