Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
  • Creating the right design for your requirements
  • Reviewing your existing driver code
  • Analyzing driver reliability/performance issues
  • Custom training mixed with consulting and focused directly on your specific areas of interest/concern.
Check us out. OSR, the Windows driver experts.

Upcoming OSR Seminars:

Writing WDF Drivers I: Core Concepts, Nashua, NH 15-19 May, 2017
Writing WDF Drivers II: Advanced Implementation Tech., Nashua, NH 23-26 May, 2017
Kernel Debugging and Crash Analysis, Dulles, VA 26-30 June, 2017
Windows Internals & Software Driver Development, Nashua, NH 24-28 July, 2017


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 6  
16 Feb 17 05:06
TTheHung
xxxxxx@gmail.com
Join Date: 16 Feb 2017
Posts To This List: 3
How can Bus driver notified Function driver

Hi All, I am new to develop Windows driver. Currently there is a customer which request driver to a PCIe card which have a FPGA support several Serial Port and some other function. After reading on ntdev, I found several other topics which shared the same design so I understand that it will be best if i wrote a bus driver which talk read/write to FPGA registers and handle the interrupt. Another serial driver will talk with bus driver through an interface. My question is that I still don't really understand how the ISR will notify the Function driver. All follow are Read/Write from Serial driver point of view. -For Read operation I think it will be like : Serial driver will need to request Bus driver first. Interrupt came, ISR in bus driver will check which COM port make this interrupt then copy data from FPGA UART register to a driver buffer then return TRUE. After that DPC will send the data to serial driver by interface. Is this correct ? -For Write operation : Serial driver will receive data from user application, then it will request an inverted call back to bus driver. When bus driver receive interrupt for Transmitter Holding Register empty, it will finish the call back and Serial driver can send data to Bus driver. This last part is just my assumption and I am not sure about this. Is there another way that bus driver can notify serial driver when Transmitter Holding Register empty interrupt came ? Thank you for reading.
  Message 2 of 6  
16 Feb 17 11:20
Shane Corbin
xxxxxx@hotmail.com
Join Date: 14 Jun 2007
Posts To This List: 198
How can Bus driver notified Function driver

Tell me more about your other FPGA functions. You *might* consider using the multifunction driver to substitute the bus driver in your example. One advantage of that is that you can distribute interrupts to the underlying drivers.
  Message 3 of 6  
16 Feb 17 20:18
TTheHung
xxxxxx@gmail.com
Join Date: 16 Feb 2017
Posts To This List: 3
How can Bus driver notified Function driver

Hi Shane, It use the standard core of UART16550, with one legacy interrupt shared.
  Message 4 of 6  
17 Feb 17 12:09
Shane Corbin
xxxxxx@hotmail.com
Join Date: 14 Jun 2007
Posts To This List: 198
How can Bus driver notified Function driver

In that case I'd point you to using mf.sys
  Message 5 of 6  
18 Feb 17 01:39
TTheHung
xxxxxx@gmail.com
Join Date: 16 Feb 2017
Posts To This List: 3
How can Bus driver notified Function driver

Hi Shane, I saw in other topic that you also mentioned that you can use mf.sys for shared interrupt ( my register are separated). Can you please show me some suggestion on how to do it ? Thank you very much,
  Message 6 of 6  
22 Feb 17 12:03
Shane Corbin
xxxxxx@hotmail.com
Join Date: 14 Jun 2007
Posts To This List: 198
How can Bus driver notified Function driver

How many BARs does this device expose? How are the UARTs laid out? If you can share that I might be able to help you figure out how to use mf.sys to fit your configuration.
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntdev list to be able to post.

All times are GMT -5. The time now is 06:34.


Copyright ©2015, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license