linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* piix vs ata_piix device ID tables
@ 2010-10-04  3:50 Ben Hutchings
  2010-10-04  9:21 ` Alan Cox
  0 siblings, 1 reply; 3+ messages in thread
From: Ben Hutchings @ 2010-10-04  3:50 UTC (permalink / raw)
  To: David Miller, Bartlomiej Zolnierkiewicz, Jeff Garzik, Alan Cox; +Cc: linux-ide

[-- Attachment #1: Type: text/plain, Size: 953 bytes --]

When I converted the Debian kernel configurations over from IDE to
libata-based drivers, I compared the device ID tables for all the PCI
drivers.  I found that ata_piix handles most of the same devices as piix
while pata_oldpiix and pata_mpiix each handle one more.  However, 2
device IDs in piix are not in the device ID tables of any libata-based
driver:

PCI_DEVICE_ID_INTEL_82371FB_0 == 0x122e (PIIX function 0)

piix seems to treat this the same as PCI_DEVICE_ID_INTEL_82371FB_1 ==
0x1230, which is handled by pata_oldpiix.  (This is weird; function 0 is
supposed to be the ISA bridge!)

PCI_DEVICE_ID_INTEL_82801DB_1 == 0x24c1 (ICH4 device 31 function 1)

piix seems to treat this the same as most other ICH PATA interfaces,
which are handled by ata_piix.

Does anyone know why these aren't handled by the libata-based drivers?

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: piix vs ata_piix device ID tables
  2010-10-04  3:50 piix vs ata_piix device ID tables Ben Hutchings
@ 2010-10-04  9:21 ` Alan Cox
  2010-10-04 20:09   ` Ben Hutchings
  0 siblings, 1 reply; 3+ messages in thread
From: Alan Cox @ 2010-10-04  9:21 UTC (permalink / raw)
  To: Ben Hutchings
  Cc: David Miller, Bartlomiej Zolnierkiewicz, Jeff Garzik, linux-ide

On Mon, 04 Oct 2010 04:50:52 +0100
Ben Hutchings <ben@decadent.org.uk> wrote:

> When I converted the Debian kernel configurations over from IDE to
> libata-based drivers, I compared the device ID tables for all the PCI
> drivers.  I found that ata_piix handles most of the same devices as
> piix while pata_oldpiix and pata_mpiix each handle one more.
> However, 2 device IDs in piix are not in the device ID tables of any
> libata-based driver:
> 
> PCI_DEVICE_ID_INTEL_82371FB_0 == 0x122e (PIIX function 0)
> 
> piix seems to treat this the same as PCI_DEVICE_ID_INTEL_82371FB_1 ==
> 0x1230, which is handled by pata_oldpiix.  (This is weird; function 0
> is supposed to be the ISA bridge!)

Given that pre PIIX3 devices (MPIIX and PIIX original) never worked in
the old IDE code (well sometimes semi-worked by accident because the
BIOS values were right and they didn't break anything) I wouldn't draw
any conclusions.

> PCI_DEVICE_ID_INTEL_82801DB_1 == 0x24c1 (ICH4 device 31 function 1)
> 
> piix seems to treat this the same as most other ICH PATA interfaces,
> which are handled by ata_piix.
> 
> Does anyone know why these aren't handled by the libata-based drivers?

I don't know about 0x24C1 however it isn't listed in the Intel ICH
programming manual so given we've also had no reports about it I
suspect it's an error in the PIIX driver ?

Alan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: piix vs ata_piix device ID tables
  2010-10-04  9:21 ` Alan Cox
@ 2010-10-04 20:09   ` Ben Hutchings
  0 siblings, 0 replies; 3+ messages in thread
From: Ben Hutchings @ 2010-10-04 20:09 UTC (permalink / raw)
  To: Alan Cox; +Cc: David Miller, Bartlomiej Zolnierkiewicz, Jeff Garzik, linux-ide

[-- Attachment #1: Type: text/plain, Size: 853 bytes --]

On Mon, 2010-10-04 at 10:21 +0100, Alan Cox wrote:
> On Mon, 04 Oct 2010 04:50:52 +0100
> Ben Hutchings <ben@decadent.org.uk> wrote:
[...]
> > PCI_DEVICE_ID_INTEL_82801DB_1 == 0x24c1 (ICH4 device 31 function 1)
> > 
> > piix seems to treat this the same as most other ICH PATA interfaces,
> > which are handled by ata_piix.
> > 
> > Does anyone know why these aren't handled by the libata-based drivers?
> 
> I don't know about 0x24C1 however it isn't listed in the Intel ICH
> programming manual so given we've also had no reports about it I
> suspect it's an error in the PIIX driver ?

Correction, this is a function of the ICH4-L not the ordinary ICH4.  It
is documented in
<http://www.intel.com/assets/pdf/specupdate/290745.pdf>.

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-10-04 20:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-04  3:50 piix vs ata_piix device ID tables Ben Hutchings
2010-10-04  9:21 ` Alan Cox
2010-10-04 20:09   ` Ben Hutchings

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).