What causes the waste of materials? Flow of bytes to the target.
Thanks for the idea I’ll implement that with lots of comments so, if I come back I won’t wonder why I didn’t just cancel the DMA.
-hlf
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Peter Wieland
Sent: Thursday, December 11, 2014 12:28 PM
To: Windows System Software Devs Interest List
Subject: RE: RE:[ntdev] Cancel/flush DMA transaction
What causes the waste of materials? The delay in waiting for the command to be aborted, or the flow of bytes to the target?
With bus-mastering DMA your driver controls the flow of bytes to the target. WdfDmaTransactionExecute() will call your driver back to trigger the actual DMA operation. So you could mark the request context associated with the DMA such that your DmaTransactionExecute will skip the DMA transfer, report a DMA error and complete the request.
Just because you called Execute doesn’t mean you must transfer the bytes.
-p
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Ford, Harry L
Sent: Thursday, December 11, 2014 6:01 AM
To: Windows System Software Devs Interest List
Subject: RE: RE:[ntdev] Cancel/flush DMA transaction
It’s not the delay that is at issue but the use of materials. This involves a process where (depending on customer) the cost of materials could be very expensive.
-hlf
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@osr.com
Sent: Thursday, December 11, 2014 5:23 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Cancel/flush DMA transaction
How much delay are you SEEING that would make this worthwhile even considering?
Why not just consider anything after starting the transaction to be “missed” by the user?
In my experience, it is almost always a mistake to attempt to cancel in-progress DMA transactions. I did it for years, until I *finally* came to the realization that doing so wasn’t accomplishing anything actually useful.
If you have a very special case where this is required, I’d like to learn about it.
Peter
OSR
@OSRDrivers
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer