Re: [linux 2.4.18] via-rhine.c

Roger Luethi (rl@hellgate.ch)
Tue, 20 May 2003 15:44:00 +0200


You should ask this kind of questions on the kernelnewbies list.

On Mon, 19 May 2003 12:43:17 -0700, Pawan Deepika wrote:
> through the source code in via-rhine.c. What I
> understand till now is that in Memory-mapped devices,
> I/O operation is performed using
> read(b/w/l)/write(b/w/l) functions while in IO mapped
> devices it is done using in/out(b/w/l). Am I right?

What you do with inb etc. is called PIO (Programmed I/O).

> But in via-rhine.c I notice use of inb and outb even
> in memory mapped case(code is shown below)
>
> ------------------------------------------------------
> #ifdef USE_MEM
> 530 static void __devinit enable_mmio(long ioaddr, int
> chip_id)
> 531 {

It does exactly what the function name says: it uses PIO to flip a bit in
some register to enable MMIO, which is just a different (and better) way to
transfer the data.

Roger
-
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/