help required on writing Network device driver

rashmi ns nsrashmi at gmail.com
Wed Sep 21 00:35:57 PDT 2005


Hello All,
            Regarding the details of the device for which i'm trying
to write a driver is a hdlc controller  This is the output of pciconf
for that device
hdlc0 at pci1:11:0:        class=0x028000 card=0x00000000 chip=0x313413ea
rev=0x01 hdr=0x00
   vendor   = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
   device   = 'DS3134/31256 Chateau/Envoy 256 Channel HDLC Controller'
   class    = network
none1 at pci1:11:1:        class=0x068000 card=0x00000000 chip=0x313413ea
rev=0x01 hdr=0x00
   vendor   = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
   device   = 'DS3134/31256 Chateau/Envoy 256 Channel HDLC Controller'
   class    = bridge
   subclass = PCI-unknown

Currently we are writing drivers only for function 0 and in probe we
are probing only for function zero based on the classid  .

so in general i have to write a network driver .

In the transmit side the device the device has transmit FIFO OF SIZE
16kb and the host writes the pending queue to inform the dma that a
particular channel has data to be transferred associated with each
pending queue descriptor is linked list of one or more transmit packet
desc that describe the packet data .each of this Tx packet descriptor
also has a pointer to tx data buffer which actually contains the data
payload
As the hdlc controller processes transmit pending queue descriptor
entries it creates transmit done queue descriptorqueue entries. The
DMA will write to the done queue when it has completed transmitting
either a complete packet or data buffer depending on how the hdlc
controller  is configured. Via these done queue descriptors, the DMA
informs
the host about the status of the outgoing packet data.
information.
Kindly let me know how do we really create dma tags to all of these
descriptors that is for transmit_packet_desc ,
pending_q_desc,done_q_desc
 tx data
Thanks in Advance,
Rashmi.N.S


More information about the freebsd-hackers mailing list