Messages in this thread | | | Date | Tue, 20 May 2003 15:44:00 +0200 | From | Roger Luethi <> | Subject | Re: [linux 2.4.18] via-rhine.c |
| |
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/
| |