Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dec4b556 authored by Vahram Aharonyan's avatar Vahram Aharonyan Committed by Felipe Balbi
Browse files

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: default avatarVahram Aharonyan <vahrama@synopsys.com>
Signed-off-by: default avatarJohn Youn <johnyoun@synopsys.com>
Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
parent aa4049f3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -419,6 +419,7 @@ enum dwc2_ep0_state {
 *			0 - No (default)
 *			1 - Yes
 * @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
 *			DWORDS from 16-32768 (default: 2048 if
 *			possible, otherwise autodetect).
@@ -498,6 +499,7 @@ struct dwc2_core_params {

	/* Gadget parameters */
	bool g_dma;
	bool g_dma_desc;
	u16 g_rx_fifo_size;
	u16 g_np_tx_fifo_size;
	u32 g_tx_fifo_size[MAX_EPS_CHANNELS];
+11 −0
Original line number Diff line number Diff line
@@ -96,6 +96,17 @@ static inline bool using_dma(struct dwc2_hsotg *hsotg)
	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.
 * @hs_ep: The endpoint
+6 −0
Original line number Diff line number Diff line
@@ -1097,6 +1097,12 @@ static void dwc2_set_gadget_dma(struct dwc2_hsotg *hsotg)
			    false, "gadget-dma",
			    true, false,
			    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);
}

/**