[LinuxBIOS] [PATCH] More vt8237r fixes

Rudolf Marek r.marek at assembler.cz
Wed Nov 7 21:45:36 CET 2007

Corey Osgood wrote:
> See patch. Rudolf, can you test this one to make sure it works correctly
> on your board?


Your patch seems not so solve KBD and RTC correct? This could be implemented in 
superio on other board for example. Also the clock gating for Ethernet should be 
made programmable.

index = PCI_FUNC(dev->path.u.pci.devfn);

This is not very user friendly, index is quite confusing, in fact I was staring 
to the code quite long time to get how it works. Perhaps two variables would be 
more handy???

I would suggest some lookup table to make it more elegant???? Plus we will need 
at least for RTC and KBD some? variables, just like enable_internal_RTC....
or something shorter.

More over you cant enable just UHCI function 2 and not enable function zero and 
one. Plus you cant disable all UHCIs when EHCI is enabled. (you would violate 
PCI specs not having fn0)

The lookup table could be:

u8/u16 enable_bits[dev-15][fn=6] = { { 0xb , 0x0}, { c, d, a, 8, 9} ....

Or alternatively we could store the bitmask which would allow to enable usb fn0 
when someone wants fn1 for example...

The table would be 4*6*2 bytes so 48B, this is not so much contrary to the big 
if else if code...


More information about the coreboot mailing list