usb: musb: Remove DMA ifdef for musb_gadget.c short_packet
Let's get rid of the horrible ifdef in middle of the expression. We can do it by adding a variable for short_packet and testing it separately for DMA related code. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
729697a13d
commit
fb91cddc54
|
@ -489,6 +489,7 @@ void musb_g_tx(struct musb *musb, u8 epnum)
|
|||
|
||||
if (request) {
|
||||
u8 is_dma = 0;
|
||||
bool short_packet = false;
|
||||
|
||||
if (dma && (csr & MUSB_TXCSR_DMAENAB)) {
|
||||
is_dma = 1;
|
||||
|
@ -507,15 +508,18 @@ void musb_g_tx(struct musb *musb, u8 epnum)
|
|||
* First, maybe a terminating short packet. Some DMA
|
||||
* engines might handle this by themselves.
|
||||
*/
|
||||
if ((request->zero && request->length
|
||||
if ((request->zero && request->length)
|
||||
&& (request->length % musb_ep->packet_sz == 0)
|
||||
&& (request->actual == request->length))
|
||||
#if defined(CONFIG_USB_INVENTRA_DMA) || defined(CONFIG_USB_UX500_DMA)
|
||||
|| (is_dma && (!dma->desired_mode ||
|
||||
short_packet = true;
|
||||
|
||||
if ((musb_dma_inventra(musb) || musb_dma_ux500(musb)) &&
|
||||
(is_dma && (!dma->desired_mode ||
|
||||
(request->actual &
|
||||
(musb_ep->packet_sz - 1))))
|
||||
#endif
|
||||
) {
|
||||
(musb_ep->packet_sz - 1)))))
|
||||
short_packet = true;
|
||||
|
||||
if (short_packet) {
|
||||
/*
|
||||
* On DMA completion, FIFO may not be
|
||||
* available yet...
|
||||
|
|
Loading…
Reference in New Issue