Re: PATA_ARTOP reads byte from PCI IO port without mapping it tothe right address.

From: Alan Cox
Date: Wed Mar 30 2011 - 15:26:00 EST


> unsigned long io = pci_resource_start(pdev, 4); // This
> returns 0x1400 on my machine

That is the PCI port address.

> u8 reg;
>
> ppi[0] = &info_628x;
> if (inb(io) & 0x10)
> // This reads from 0x1400, which isn't were the port actually
> is in the processors address

This reads from I/O port 0x1400 - your inb logic and I/O port mapping on
the platform is responsible for making that work.



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