Hi Robert, thanks for your reply. Out of curiosity, did any of your buffers
ever cross page boundaries? If so, were there issues with that?
Customers using our product in question (1394 audio device) are restricted
in theory to a minimum of WinXP SP1 or Win2k SP4, and while I’ve seen cases
in the archives of older Win2k service packs having DMA buffer alignment
issues, there just does not seem to be any confirmed cases with never
service packs (maybe I missed them).
I have absolutely no problem with listen, but with talk. Of course, it only
occurs on one customer’s machine (laptop, WinXP Prof. SP2), and only at one
sample rate (96k). The symptom exposed by WPP traces is that talk callbacks
stop being called (DMA simply stop?), and eventually the maximum number of
talk packets are attached, with no talk callbacks being called. There are
no errors in attach/detach completion routines at all. Of course, I have
never seen this on any of my test machines, UP, SMP, or HT; it would be too
easy.
Do you have any idea why DMA on talk would just stop? For sure it is not
being starved; WPP traces confirm this, buffers are being attached. The
only reason I could think of was a buffer_alignment/page_boundary_crossing
issue, but this itself seems fairly unlikely, because I reuse all of my
talk/listen descriptors/MDLs/buffers, and initially talk callbacks are being
called. Any ideas?
thanks,
Philip Lukidis
-----Original Message-----
From: Robert Newton [mailto:xxxxx@telusplanet.net]
Sent: Thursday, February 10, 2005 12:44 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] 1394 talk/listen DMA buffer alignment requirements?
I’m afraid I don’t have a direct answer to your questions. However my
experience has been that when listening for isoch data I need to have
a buffer that starts on a 4K boundary to be successful. I haven’t seen
any documentation of this and haven’t tested it recently.
Hello. Since I could not find any definitive answer in the archive or the
docs, I’ll ask here: for the cases of 1394 talk using equal sized packets
and listen (both using packet based DMA, i.e. RESOURCE_USE_PACKET_BASED),
are there any restrictions on alignment, size and/or straddling a page
boundary? I found some mention of this in the DDK, but only for the case
of
DESCRIPTOR_HEADER_SCATTER_GATHER (which I stopped using). Are there any
descriptor buffer alignment/size/page_boundary_straddling restrictions for
the more general cases (i.e. no DESCRIPTOR_HEADER_SCATTER_GATHER and no
RESOURCE_VARIABLE_ISOCH_PAYLOAD for talk, plain listen, both packet
based)?
thanks for your time,
Philip Lukidis
Robert Newton
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@guillemot.com
To unsubscribe send a blank email to xxxxx@lists.osr.com