Re: Micron Samurai chipset in 2.4.x (ide-pci.c)

Alan Cox (alan@lxorguk.ukuu.org.uk)
30 Dec 2002 18:22:59 +0000


On Mon, 2002-12-30 at 16:51, Stephen Brown wrote:
>
> 00:19.1 IDE interface: Micron Samurai_IDE (prog-if 8f [Master SecP SecO PriP PriO])
> Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 0
> Interrupt: pin A routed to IRQ 0
> Region 0: I/O ports at fca0 [disabled] [size=8]
> Region 1: I/O ports at fca8 [disabled] [size=8]
> Region 2: I/O ports at fcb0 [disabled] [size=8]
> Region 3: I/O ports at fcb8 [disabled] [size=8]
> Region 4: I/O ports at fcc0 [disabled] [size=16]

We found the device and being overly smart tried to enable it. Trouble
is on IBM thinkpad docking stations this is the right thing to do with
the on board controllers 8(, in the case of the generic dma it may well
not be.

Ok can you try the following checks to decide when to skip. In
generic_init_one add some code to do:

u16 cmd;

pci_read_config_word(dev, PCI_COMMAND, &cmd);

if(!(cmd & PCI_COMMAND_IO))
{
printk(KERN_INFO "Skipping disabled %s controller.\n",
d->name);
return 1;
}

That will mean we enable PCI controllers we know about specifically but
not generic PCI bus masters. If that turns out to be too conservative
then adding a flag per controller can always be done.

Alan

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