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:
Родитель
aa4049f3a5
Коммит
dec4b55677
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Загрузка…
Ссылка в новой задаче