Re: pata_ali can't detect partitions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> In the IDE layer driver, the guard is:
> 
> 	if (north && north->vendor != PCI_VENDOR_ID_AL)
> 		goto out;
> 
> This means the programming is done iff:
> 
> 1) We find no device at PCI_DEVFN(0,0)
> 
> 2) We find a device and vendor is ALI
> 
> I suspect case #1 triggers on sparc64.  The guard in the PATA
> driver is:
> 
> 	north = pci_get_bus_and_slot(0, PCI_DEVFN(0,0));
> 	if (north && north->vendor == PCI_VENDOR_ID_AL && ali_isa_bridge) {
> 
> which is different.  It won't do the programming if we find no
> device at PCI_DEVFN(0,0).
> 
> This might be the critical difference, I don't know, just pointing
> it out.

The logic in pata_ali is the intended logic there (and the comments in
drivers/ide match the code in pata_ali but the code doesn't)

What docs I have say you need to program the isa enable bit if you are
using an ALi north bridge (which always appears at 0,0,0). The other PC
case is the Transmeta systems, and in that case the setup is done by the
firmware and undocumented entirely.

I have exactly zero Sparc64 documentation on the subject. The only Sparc
related material I have is the C2/C3 post reset stuff. That *might* be a
relevant difference in behaviour for C2 and C3 devices but only with an
ALi bridge (ali_c2_c3_postreset)

Alan


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

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux