Benjamin Herrenschmidt wrote:
On Thu, 2008-11-13 at 03:38 -0800, Kevin Diggs wrote:
12,206 PowerMac Zilog interrupts
Interrupt load is higher without the DMA support.
Is it possible that this hardware was not meant to be used without the
DMA (i.e. it does not work quite right?)?
Well, the HW Rx buffer is only 3 bytes so if you have high interrupt
latencies you are more likely to loose data...
These are not real 8530s any more, right? How certain are we of this?
Is it possible that there is a larger buffer when used with the DMA
capability ... somehow?
Now, as I said, have you looked at flow control ? It's a likely cause of
problems and it's possible that pmac_zilog doesn't do it the way
macserial did...
I tried to put some debug statements where the flow lines are managed. I
could have goofed it up. They never produce any output. The latest
attempt used nortscts which should have disabled flow control. That
coupled with the fact that a 250 MHz 750GX is talking to a 486dx4 at
1200 - 9600 baud I would have thought would reduce the chance the PowerMac
would fall behind?
Regarding DMA, it's possible to implement, though there were interesting
issues with the way it was done in macserial, it should be done
differently in pmac_zilog.
I think the only approach that really works properly (though it's fugly)
is what Apple does in OSX I think, which is to have a DMA descriptor per
input byte (no need for a huge DMA buffer anyway).
You would need to explain to me the advantage of doing DMA in this case???
Cheers,
Ben.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev