[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Hardware for Debian-68k




On Thu, 15 Mar 2007, Michael Schmitz wrote:

> > Also, merging would be non-trivial, since the patch was rather large 
> > (only partly because 2.6 was so far behind 2.2) --
> >
> > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=efcce839360fb3a7b6dedeacaec80f68b0f2d052
> 
> I see what you mean :-) There's a few obvious things like these:
> 
> -       sonic_write(dev, SONIC_ISR,0x7fff);
> -       sonic_write(dev, SONIC_IMR,0);
> +       SONIC_WRITE(SONIC_IMR, 0);
> +       SONIC_WRITE(SONIC_ISR, 0x7fff);

It's funny you chose those lines. I still can't figure out if that change 
is better or not :-) I just found it more readable, but I almost persuaded 
myself to leave it unchanged.

> and the transmit timeout handling, but the driver has been largely 
> rewritten. I'll have to look at it some more to see what might be used.

I think that the bug that bit Wouter's 950 was a race between the tx code 
and the interrupt handler (though it was a while ago that I looked at 
this). If so, the 2.6 version could need a complete back-port, since both 
algorithms changed significantly to get zero-copy in the present version 
(and to adopt the DMA API, which isn't in 2.2). There is probably a 
quicker fix.

> Seeing how 2.2 is largely more of a problem than a solution these days, 
> I won't give it high priority either.

Sonic is a real pain to test major changes on (like that rewrite). There 
are onboard variants, nubus and comm-slot, 16 and 32 bit DMA variants, and 
two different ways to route interrupts. And in the case of this bug, the 
race may be hard to reproduce, depending on what hardware you try.

Anyway, I'll certainly look into the IOP ADB problem. Hopefully it won't 
be as nasty as Egret ADB.

-f

> 
> 	Michael
> 



Reply to: