SiS 190 NIC driver
Pyun YongHyeon
pyunyh at gmail.com
Mon Dec 10 17:56:35 PST 2007
On Mon, Dec 10, 2007 at 08:46:27PM +0100, Alexander Pohoyda wrote:
> Hello!
>
> Attached is a driver for the SiS 190 NIC found in some Shuttle XPS boxes. I
> have developed it based on the code of SiS 900 BSD driver using hints and
> enums from Linux and Solaris drivers.
>
> It is developed and tested to be working on FreeBSD 5.4 amd64. Please bear in
> mind that this is my first driver ever. The driver surely needs some
> corrections and more work (collision handling, polling mode, etc) but I'm not
> able to do this right now becasue of the missing documentation.
>
> Please review the code and add it into the source with any corrections you
> dimi necessary.
>
> Thank you!
>
Great work!
I've looked over the driver code and I guess the driver is not
for RELENG_6/RELENG_7/CURRENT. Would you make it work for CURRENT?
Some conmments:
- I guess SiS 190 is a gigabit controller but the probe message just
shows 10/100TX message. Does this driver supports 1Gbps?
- The usage of bus_dma(9) KPI seems to be incorrect. For example
there should be no reason to set BUS_DMA_ALLOCNOW flag in
bus_dma_tag_create. You can also use bus_dmamap_load_mbuf_sg(9)
for newer FreeBSD which make it possible to remove book-keepings
needed to pass/get to/from callback. Please check other network
drivers for correct usage of bus_dma(9).
- It seems that Tx/Rx ring have alignment restrictions, probably
16 bytes or larger. Would you please check it?
- Descriptor counter 64 seems to be small for gigabit controllers.
I guess 256 or higher would be more reasonable one.
- I'm not sure SiS 190 can't handle DMA gathering in Tx path but
it seems that Linux doesn't use multiple Tx descriptors at all
in Tx path(NETIF_F_SG flag is absent in Linux) So I guess you can
simplify sis_encap() function.
- It seems the driver name sis19x looks odd. How about sge(SiS
Gigabit Ethernet)?
- Missing Makefile and man page.
- style(9) cleanup.
I don't have SiS 190 hardware to test the driver. So it's hard for me
to make it work on CURRENT. Feel free to contact to me if you have
any questions.
--
Regards,
Pyun YongHyeon
More information about the freebsd-drivers
mailing list