Messages in this thread | | | Subject | Re: Linux 2.4.19-ac2 | From | Alan Cox <> | Date | 04 Aug 2002 22:01:16 +0100 |
| |
On Sun, 2002-08-04 at 20:39, Daniela Engert wrote: > On 04 Aug 2002 21:27:19 +0100, Alan Cox wrote: > > > if((r9 & 0x0A) != 0x0A) /* Legacy only */ > > /* Request programmability */ > > pci_write_config_byte(dev, PCI_CLASS_PROG, r9|0x05); > > There is no guarantee that this will succeed. Quite some PCI IDE > controller chips (f.e. ALi, SiS) may have config register 9 r/o locked > by some other means.
If its locked read only then that is fine. The read back will see the old value not 0x05 bits set. In which case it'll leave it alone
pci_write_config_byte(dev, PCI_CLASS_PROG, r9|0x05); pci_read_config_byte(dev, PCI_CLASS_PROG, &r9);
if((r9 & 0x05) == 0x05) /* Reprogrammable */ return 1;
/* Refused */ return 0;
I'm just trying to get this right so we can do a sensible quick fix for 2.4.19. Its relatively easy to add pci_assign_device(dev) functionality and make the IDE drivers do the right thing when they kick the devices out of legacy mode. Thats the longer term right answer.
- 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/
| |