Re: VIA, 32bit PIO and 2.5.x kernel

Andre Hedrick (andre@linux-ide.org)
Fri, 12 Apr 2002 02:15:28 -0700 (PDT)


On Fri, 12 Apr 2002, Jens Axboe wrote:

> On Fri, Apr 12 2002, Petr Vandrovec wrote:
> > I believe that there must be some reason for doing that... And
> > do not ask me why it worked in 2.4.x, as it cleared io_32bit
> > in task_out_intr too.
>
> Because 2.4 doesn't use that path for fs requests. And be glad that it
> doesn't otherwise _everybody_ would have much worse problems than you
> are currently seeing.

Maybe if everyone ever bothered to look at the code base and not assume
they know everything ... and enjoying feable attempts to cast me as a
fool. Better yet maybe understand the hardware ...

ata_input_data

io_32bit = drive->io_32bit;

if (io_32bit)
insl(IDE_DATA_REG, buffer, wcount);
else
insw(IDE_DATA_REG, buffer, wcount<<1);

or

ata_output_data

io_32bit = drive->io_32bit;

if (io_32bit)
outsl(IDE_DATA_REG, buffer, wcount);
else
outsw(IDE_DATA_REG, buffer, wcount<<1);

WHOA is it not obvious it is the total number of calls to the same damn
DATA-TASKFILE-REGISTER-PORT

Which is only SIXTEEN BITS WIDE!

So please contine to write 32 bits to a 16 bit wide address...
Legacy or not the physical layer to the device, so please go look there.
Why do I even bother, all of you are so much smarter than me.

Cheers,

Andre Hedrick
LAD Storage Consulting Group

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/