Skip to contentSkip to conversation

: What should we do in txd->tx_submit() and device_issue_pending()

Query viresh kumar 2 participants 3 messages Jul 19, 2011

lore
Share & tools
lore
#0 lore raw

Hi Dan/Vinod,

I have one query regarding implementation of few routines in DMA drivers.

What the exact purpose of txd->tx_submit() and device_issue_pending() routines?

Should tx_submit() always start physical transfer (Obviously, if channel is free)? Or should it just queue requests and then finally a call to device_issue_pending() must start physical transfers?

Signature · 1 line
viresh
#1 lore raw

(pls wrap your email to 80lines, I have reflowed below for readability)

Quoted 9 lines

Hi Dan/Vinod,

I have one query regarding implementation of few routines in DMA drivers.

What the exact purpose of txd->tx_submit() and device_issue_pending() routines?

Should tx_submit() always start physical transfer (Obviously, if channel is free)? Or should it just queue requests and then finally a call to device_issue_pending() must start physical transfers?

(reflowed your email for 80lines)
tx_submit is not supposed to start the transfer, it is supposed to add the descriptors in dma driver's queue. The issue_pending is supposed to actually start the transfer. The reasons were well articulated is discussion we had when we did the DMA documentation.
Pls see https://lkml.org/lkml/2011/5/24/530

~Vinod

#2 lore raw
Quoted 11 lines · Vinod

(pls wrap your email to 80lines, I have reflowed below for readability)

Quoted 9 lines

Hi Dan/Vinod,

I have one query regarding implementation of few routines in DMA drivers.

What the exact purpose of txd->tx_submit() and device_issue_pending() routines?

Should tx_submit() always start physical transfer (Obviously, if channel is free)? Or should it just queue requests and then finally a call to device_issue_pending() must start physical transfers?

(reflowed your email for 80lines)

Sorry!! :(

Quoted 6 lines

tx_submit is not supposed to start the transfer, it is supposed to add the descriptors in dma driver's queue. The issue_pending is supposed to actually start the transfer. The reasons were well articulated is discussion we had when we did the DMA documentation.
Pls see https://lkml.org/lkml/2011/5/24/530

Thanks.

Signature · 1 line
viresh