ScatterGather field in DEVICE_DESCRIPTION for AllocateCommonBuffer

Hello,

My device driver allocates a continuous physical RAM using
AllocateCommonBuffer.

This routine uses the structure:

typedef struct _DEVICE_DESCRIPTION {
ULONG Version;
BOOLEAN Master;
BOOLEAN ScatterGather;
BOOLEAN DemandMode;
BOOLEAN AutoInitialize;
BOOLEAN Dma32BitAddresses;
BOOLEAN IgnoreCount;
BOOLEAN Reserved1;
BOOLEAN Dma64BitAddresses;
ULONG BusNumber;
ULONG DmaChannel;
INTERFACE_TYPE InterfaceType;
DMA_WIDTH DmaWidth;
DMA_SPEED DmaSpeed;
ULONG MaximumLength;
ULONG DmaPort;
} DEVICE_DESCRIPTION,

The FPGA initiates DMA from its FIFO to the pre allocated RAM. So the DMA is
not a PC’s resource.

In this case, is there any meaning to the fields:
AutoInitialize, ScatterGather, DemandMode, DmaChannel, DmaPort, BusNumber ?

Upon interrupt I’m setting the FPGA to put next fragment in a specified
offet within this buffer, but for some reason the data always written to the
start of the buffer.

I’m sure the FPGA firmware is OK. Under an old XP driver written in WDM, all
works fine.

Best regards,
Z.V

With all due respect, is there something specific in the documentation about the fields you mentioned that isn’t clear? The docs seem pretty clear to me, which is why I’m asking.

Peter
OSR
@OSRDrivers

Hi Peter,

According to the documentation:
ScatterGather : Indicates whether the device supports scatter/gather DMA.

In my opinion, this is not clear enough.

The FPGA writes data to a physical RAM. It has no scatter gather capability.
So I’m asking if in this case this field has any meaning.

Z.V

-----Original Message-----
From: xxxxx@osr.com
Sent: Saturday, August 01, 2015 05:45 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] ScatterGather field in DEVICE_DESCRIPTION for
AllocateCommonBuffer

With all due respect, is there something specific in the documentation about
the fields you mentioned that isn’t clear? The docs seem pretty clear to
me, which is why I’m asking.

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

Actually, the current documentation says:

ScatterGather
For a bus-master DMA device, this member indicates whether the device
supports scatter/gather DMA. Set to TRUE if the device can do scatter/gather
DMA. Otherwise, set this member to FALSE.

That is pretty clear, your device does not use scatter gather set the field
to FALSE!

Peter was too polite to say it, but you really should consider taking a
class on Windows device drivers. The value of such a class is not only
learning the basics, but more important learning how to search for the
answers on your own.

Don Burn
Windows Driver Consulting
Website: http://www.windrvr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Zvi Vered
Sent: Saturday, August 01, 2015 2:47 PM
To: Windows System Software Devs Interest List
Subject: Re: RE:[ntdev] ScatterGather field in DEVICE_DESCRIPTION for
AllocateCommonBuffer

Hi Peter,

According to the documentation:
ScatterGather : Indicates whether the device supports scatter/gather DMA.

In my opinion, this is not clear enough.

The FPGA writes data to a physical RAM. It has no scatter gather capability.
So I’m asking if in this case this field has any meaning.

Z.V

-----Original Message-----
From: xxxxx@osr.com
Sent: Saturday, August 01, 2015 05:45 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] ScatterGather field in DEVICE_DESCRIPTION for
AllocateCommonBuffer

With all due respect, is there something specific in the documentation about
the fields you mentioned that isn’t clear? The docs seem pretty clear to
me, which is why I’m asking.

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