none
Setting Up DMA for SAS HBA RRS feed

  • Question

  • Hello,

    In my Storport miniport driver, in HwFindAdapter() routine, I am able to get the DmaAdapter using IoGetDmaAdapter().

    My SAS adapter Hw, requires host queues allocated for request, reply, sense buffers separately and passed on to Hw during HW init. During any request to be sent to the drive, the host will pass the request frame setup in the queue and the HW posts the reply on the reply queue and interrupts the host CPU.

    So, for this purpose, I had allocated memory for request, reply, sense separately using StorPortAllocateContiguousMemorySpecifyCacheNode() calls, found the physical addresses using StorPortConvertPhysicalAddressToUlong(StorPortGetPhysicalAddress() and passed these physical addresses to HW during HW init.

    But, with the DMAAdapter scheme, what are the addresses I should provide for request/reply queues in HwInit ?

    Also, is the DMAAdapter the correct method to be used for storport miniport drivers.

    Really appreciate any help with this.

    Wednesday, April 4, 2018 6:42 PM

Answers

  • you need to stick with the storport APIs in your miniport, this includes all of the storport DMA abstractions. you should not use the WDM APIs in this case 

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, April 4, 2018 7:36 PM

All replies

  • you need to stick with the storport APIs in your miniport, this includes all of the storport DMA abstractions. you should not use the WDM APIs in this case 

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, April 4, 2018 7:36 PM
  • Thanks.
    Wednesday, April 4, 2018 8:32 PM