Welcome to WinForumz.com!
FAQFAQ      ProfileProfile    Private MessagesPrivate Messages   Log inLog in

[Question] DMA Transfer in PCI Express

 
   Windows XP (Home) -> XP Device Driver RSS
Next:  Unable to run Media Center on Windows Vista  
Author Message
SlowTransfer

External


Since: Feb 23, 2007
Posts: 3



(Msg. 1) Posted: Mon May 07, 2007 8:42 pm
Post subject: [Question] DMA Transfer in PCI Express
Archived from groups: microsoft>public>windowsxp>device_driver>dev (more info?)

Hi. Everyone.

I'm Developing a Device Driver for my Express board.
And I already got so many helps in this discussion group.
I have been appreciated to DDK MVPs in this group. Thank you.

I have a question again.

My device doen't support Scatter & gather DMA, So, I decided to transfer
data with Common buffer type.

I could successfully create DMA adapter for my board using IoGetDmaAdapter
function.
================================
pdx->pDmaAdapter = IoGetDmaAdapter(pdx->Pdo, &pdx->deviceDescription,
&pdx->nMapRegs);
================================
And Created Common buffer to transfer data
And Marked to 0xa5 to identify if there any changes.
================================
pdx->VirtualBuffAddr =
pdx->pDmaAdapter->DmaOperations->AllocateCommonBuffer(pdx->pDmaAdapter, 4096,
&pdx->PhysicalBuffAddr, TRUE);
pdx->uPhysicalAddress = pdx->PhysicalBuffAddr.LowPart;
memset(pdx->VirtualBuffAddr, 0xa5, 4096); // To mark memroy
================================
And I sent Physical Address to my device to let my device to transfer data
to the physical address.

After transfering(I checked if correct packets generated in FPGA) datas.
I couldn't find any differences than before. Nothing happened.

Should I have to use another address for my device to transfer?

Please let me know. Thank you

 >> Stay informed about: [Question] DMA Transfer in PCI Express 
Back to top
Login to vote
SlowTransfer

External


Since: Feb 23, 2007
Posts: 3



(Msg. 2) Posted: Tue May 08, 2007 12:38 am
Post subject: RE: [Question] DMA Transfer in PCI Express [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

I found something.

After the transfer I tried to print*((unsigned int *)pdx->VirtualBuffAddr))
And, that value was not changed.
When I test another memory like below
for (l_i =0 ;l_i < 32; l_i++) *((unsigned int *)pdx->VirtualBuffAddr+l_i))

I found change after second memory.

Now i'm trying to find what makes this buffer not to be written correctly..

Thank you for your interesting. Have a nice day.

"SlowTransfer" wrote:

> Hi. Everyone.
>
> I'm Developing a Device Driver for my Express board.
> And I already got so many helps in this discussion group.
> I have been appreciated to DDK MVPs in this group. Thank you.
>
> I have a question again.
>
> My device doen't support Scatter & gather DMA, So, I decided to transfer
> data with Common buffer type.
>
> I could successfully create DMA adapter for my board using IoGetDmaAdapter
> function.
> ================================
> pdx->pDmaAdapter = IoGetDmaAdapter(pdx->Pdo, &pdx->deviceDescription,
> &pdx->nMapRegs);
> ================================
> And Created Common buffer to transfer data
> And Marked to 0xa5 to identify if there any changes.
> ================================
> pdx->VirtualBuffAddr =
> pdx->pDmaAdapter->DmaOperations->AllocateCommonBuffer(pdx->pDmaAdapter, 4096,
> &pdx->PhysicalBuffAddr, TRUE);
> pdx->uPhysicalAddress = pdx->PhysicalBuffAddr.LowPart;
> memset(pdx->VirtualBuffAddr, 0xa5, 4096); // To mark memroy
> ================================
> And I sent Physical Address to my device to let my device to transfer data
> to the physical address.
>
> After transfering(I checked if correct packets generated in FPGA) datas.
> I couldn't find any differences than before. Nothing happened.
>
> Should I have to use another address for my device to transfer?
>
> Please let me know. Thank you

 >> Stay informed about: [Question] DMA Transfer in PCI Express 
Back to top
Login to vote
Display posts from previous:   
Related Topics:
Data Transfer in PCI Express - Thank you for reading. I have a problem in data transfering with PCI Express Device. When I try to send data using WRITE_REGISTER_BUFFER_ULONG function I could send 10 words to my device correctly. But data transfer was too slow. So I tried to find ou...

2-way Interrupt transfer USB driver - Hello All, I'm trying to change my driver from Bulk to Interrupt, the thing is that my device changed from Host initiated bulk transfer to async capture. The only way to Async capture is to while(nothing_received) { read_bulk} and this makes my..

USB "insert driver" question - I would like to "remotely access" a USB device. What I mean is have a USB device in PC #1 and access it from PC #2 some distance away (even across the world!). My initial thoughts are to have a device drive on PC#1 expose all the USB ports...

Driver Install Question - Hey All, I have these Window's device drivers that can be installed by right clicking on an inf file and selecting install. Then when the device is plugged into a USB port, the New Hardware Wizard will pop up and the user can instruct it to find and...

A filter driver question,I need your help badly! - hi, everyone,I am sorry to ask this win me question here.I cann't find a win me News and this is the only place I can count on. My question is: how to filter the multimedia keys such as Mute or WWW in Windows Me OS.Do I need a filter driver,Which..
   Windows XP (Home) -> XP Device Driver All times are: Eastern Time (US & Canada) (change)
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You can edit your posts in this forum
You can delete your posts in this forum
You can vote in polls in this forum

Categories:
  Windows XP
 Windows Vista!
 Win 2000/NT/98/ME


[ Contact us | Terms of Service/Privacy Policy ]