change from an adaptive to spin mutex @ IPL_TTY. This seems to mitigate
or eliminate a lot of locking-related issues (such as a hang when running
glxgears under AIGLX). Tested by me and Vincent <10.50@free.fr>.
In this code, we have three locks: irq, dma, and device. If anyone has
any thoughts on how to improve this situation, e.g. by using different
lock types/priorities/soft interrupts/etc. for different locks, please
share them with me.
NOTE: I've had the best results thusfar using Mesa 7.0.2-rc1 (r300 users
could even try the r300 driver code from the master branch) and xorg-server
1.4+patches from GIT.
- make sure to set HD_ROW1_ADDR before putting characters at the first line
in hd44780_ddram_redraw()
- use memmove(9) rather than bcopy(9) for possibly overlapped copies
If you have a system where it doesn't get one and you still want pcic,
you can just disable cbb. This check is invalid as soon as the PCI
interrupt register is not used and broke on my Dell Latitude for that
reason.
model 9030 and 9050/9052. They work a functional bridge to host
any kind of I/O devices. The exact product type can be identified
via VPD (vital product ID) PCI configuration registers if they are
programmed by the particular PLX I/O accelerator applications.
Otherwise, it's not possible to distinguish which kind of function
is implemented inside.
operator consistent in locking macros, use mb(9) for memory barrier ops
(to be replaced with bus_space_barrier(9) at a later date; this is not
necessary for x86 but might be for e.g. mips).
More to come. Try it out! It's a lot more stable now just with the
mutex(9) changes.
- distinguish 8842 from 8841. 8842 now keeps media selection "auto"
and indicates "up 100baseTX-FDX flow" when either of two ports has
a valid link. There is no provision to see and control the two this
moment and their media selections remain in "auto" all the time. This
arrangement is considered acceptable since 8842's external ports are
connected with the internal EMAC via managed 3 port Ethernet switch.
- 8841 behaves a plain stanadrd 10/100 EMAC with standard media
selection feature.
- gather MIB statistics counter values with evcnt(8) framework.
- increase Tx/Rx DMA DMA burst transfer size from 16 to 32.