2018-12-10 13:48:54

by Corentin LABBE

[permalink] [raw]
Subject: [PATCH] ata: pata_oldpiix: Add missing device ID for INTEL_82371AB

When playing with a virtual SPARC machine with qemu, I found that the
IDE emulated device was not probing with the ata/pata_oldpiix driver.
But with the old ide/piix, it was probed.

This is due to this PCI devid was not migrated from the old ide/piix.

Signed-off-by: Corentin Labbe <[email protected]>
---
drivers/ata/pata_oldpiix.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/ata/pata_oldpiix.c b/drivers/ata/pata_oldpiix.c
index b9bf78b7d48d..63a964062865 100644
--- a/drivers/ata/pata_oldpiix.c
+++ b/drivers/ata/pata_oldpiix.c
@@ -249,6 +249,7 @@ static int oldpiix_init_one (struct pci_dev *pdev, const struct pci_device_id *e

static const struct pci_device_id oldpiix_pci_tbl[] = {
{ PCI_VDEVICE(INTEL, 0x1230), },
+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_82371AB), },

{ } /* terminate list */
};
--
2.19.2



2018-12-10 15:05:33

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH] ata: pata_oldpiix: Add missing device ID for INTEL_82371AB

Hello!

On 12/10/2018 04:46 PM, Corentin Labbe wrote:

> When playing with a virtual SPARC machine with qemu, I found that the
> IDE emulated device was not probing with the ata/pata_oldpiix driver.

Correctly, it should probe with ata_piix,

> But with the old ide/piix, it was probed.>
> This is due to this PCI devid was not migrated from the old ide/piix.

It wasn't on purpose -- the IDE driver supports the original PIIX
incorrectly.

> Signed-off-by: Corentin Labbe <[email protected]>

NAK.

MBR, Sergei

2019-03-12 10:41:43

by Corentin LABBE

[permalink] [raw]
Subject: Re: [PATCH] ata: pata_oldpiix: Add missing device ID for INTEL_82371AB

On Mon, Dec 10, 2018 at 05:52:35PM +0300, Sergei Shtylyov wrote:
> Hello!
>
> On 12/10/2018 04:46 PM, Corentin Labbe wrote:
>
> > When playing with a virtual SPARC machine with qemu, I found that the
> > IDE emulated device was not probing with the ata/pata_oldpiix driver.
>
> Correctly, it should probe with ata_piix,
>
> > But with the old ide/piix, it was probed.>
> > This is due to this PCI devid was not migrated from the old ide/piix.
>
> It wasn't on purpose -- the IDE driver supports the original PIIX
> incorrectly.
>

Hello

What about removing this old driver totally if it dont work ?

Regards

2019-03-12 10:45:39

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH] ata: pata_oldpiix: Add missing device ID for INTEL_82371AB

On 03/12/2019 01:41 PM, LABBE Corentin wrote:

>>> When playing with a virtual SPARC machine with qemu, I found that the
>>> IDE emulated device was not probing with the ata/pata_oldpiix driver.
>>
>> Correctly, it should probe with ata_piix,
>>
>>> But with the old ide/piix, it was probed.>
>>> This is due to this PCI devid was not migrated from the old ide/piix.
>>
>> It wasn't on purpose -- the IDE driver supports the original PIIX
>> incorrectly.
>>
>
> Hello
>
> What about removing this old driver totally if it dont work ?

It supports the later Intrel controllers OK, just the original PIIX support
is buggy.

> Regards

MBR, Sergei

2019-03-12 12:07:55

by Alan Cox

[permalink] [raw]
Subject: Re: [PATCH] ata: pata_oldpiix: Add missing device ID for INTEL_82371AB

On Tue, 12 Mar 2019 11:41:02 +0100
LABBE Corentin <[email protected]> wrote:

> On Mon, Dec 10, 2018 at 05:52:35PM +0300, Sergei Shtylyov wrote:
> > Hello!
> >
> > On 12/10/2018 04:46 PM, Corentin Labbe wrote:
> >
> > > When playing with a virtual SPARC machine with qemu, I found that the
> > > IDE emulated device was not probing with the ata/pata_oldpiix driver.
> >
> > Correctly, it should probe with ata_piix,
> >
> > > But with the old ide/piix, it was probed.>
> > > This is due to this PCI devid was not migrated from the old ide/piix.
> >
> > It wasn't on purpose -- the IDE driver supports the original PIIX
> > incorrectly.
> >
>
> Hello
>
> What about removing this old driver totally if it dont work ?

If the virtual Sparc emulator is using it does that also mean actual
Sparc hardware has it. In which case presumably it needs fixing, or at
least moving to the generic driver assuming the firmware sets it up ?

Alan

2019-03-12 13:38:59

by Corentin LABBE

[permalink] [raw]
Subject: Re: [PATCH] ata: pata_oldpiix: Add missing device ID for INTEL_82371AB

On Tue, Mar 12, 2019 at 12:06:23PM +0000, Alan Cox wrote:
> On Tue, 12 Mar 2019 11:41:02 +0100
> LABBE Corentin <[email protected]> wrote:
>
> > On Mon, Dec 10, 2018 at 05:52:35PM +0300, Sergei Shtylyov wrote:
> > > Hello!
> > >
> > > On 12/10/2018 04:46 PM, Corentin Labbe wrote:
> > >
> > > > When playing with a virtual SPARC machine with qemu, I found that the
> > > > IDE emulated device was not probing with the ata/pata_oldpiix driver.
> > >
> > > Correctly, it should probe with ata_piix,
> > >
> > > > But with the old ide/piix, it was probed.>
> > > > This is due to this PCI devid was not migrated from the old ide/piix.
> > >
> > > It wasn't on purpose -- the IDE driver supports the original PIIX
> > > incorrectly.
> > >
> >
> > Hello
> >
> > What about removing this old driver totally if it dont work ?
>
> If the virtual Sparc emulator is using it does that also mean actual
> Sparc hardware has it. In which case presumably it needs fixing, or at
> least moving to the generic driver assuming the firmware sets it up ?
>

The qemu works perfectly with the new Linux driver.

2019-03-22 17:38:05

by Alan Cox

[permalink] [raw]
Subject: Re: [PATCH] ata: pata_oldpiix: Add missing device ID for INTEL_82371AB

> > If the virtual Sparc emulator is using it does that also mean actual
> > Sparc hardware has it. In which case presumably it needs fixing, or at
> > least moving to the generic driver assuming the firmware sets it up ?
> >
>
> The qemu works perfectly with the new Linux driver.

For some configurations both drivers will work with even older chips. The
question is whether your chip has separate slave timings, if not then
while it'll work single device with ata_piix some combinations will fail.

Digging into the datasheet the part in question has slave timing (0x44) so
should indeed be ata_piix.

Alan