[wdmaudiodev] Re: Need some help with passing the General Audio Test

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 2 Apr 2014 10:40:55 -0700

Stephen Pinto wrote:
>  
>
>     You based your work on MSVAD, which is a Port Class miniport.  The Port
>     Class model is designed for devices that connect directly to a hardware
>     bus (like PCI), and therefore have no latency.   So, the model assumes
>     that the IDmaChannel methods (like CopyTo and CopyFrom) will all execute
>     immediately.  Your design requires those methods to delay while you wait
>     on action from outside.
>
>
>         In our driver we are not performing any major operations
> inside CopyTo. What we do in CopyTo is just copy the data from the DMA
> buffer to some other buffer and return. There is then this another
> thread which performs the task of reading from that buffer and do what
> we need to i.e. perform our operations. So I presume we are not
> halting the CopyTo while we do our operations. Am I still missing out
> on something ?

No, your question is a good one, and it has made me realize that there
is a gap in my knowledge of Port Class.  The message you got from the
HCK test says that it submitted an IRP_KS_WRITE_STREAM request while in
KSSTATE_PAUSE, it was expecting the request to be pended, and instead
the request was held in the driver.  As far as I know, that kind of
thing is outside the control of a Port Class miniport -- it's handled by
the Port Class driver.

So, I don't know the answer.  Someone who is better with Port Class
should probably take over this thread.

-- 
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.

Other related posts: