diff mbox series

ata: pata_oldpiix: Add missing device ID for INTEL_82371AB

Message ID 1544449564-16557-1-git-send-email-clabbe@baylibre.com
State Not Applicable
Delegated to: David Miller
Headers show
Series ata: pata_oldpiix: Add missing device ID for INTEL_82371AB | expand

Commit Message

Corentin LABBE Dec. 10, 2018, 1:46 p.m. UTC
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 <clabbe@baylibre.com>
---
 drivers/ata/pata_oldpiix.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Sergei Shtylyov Dec. 10, 2018, 2:52 p.m. UTC | #1
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 <clabbe@baylibre.com>

   NAK.

MBR, Sergei
Corentin LABBE March 12, 2019, 10:41 a.m. UTC | #2
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
Sergei Shtylyov March 12, 2019, 10:44 a.m. UTC | #3
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
Alan Cox March 12, 2019, 12:06 p.m. UTC | #4
On Tue, 12 Mar 2019 11:41:02 +0100
LABBE Corentin <clabbe@baylibre.com> 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
Corentin LABBE March 12, 2019, 1:38 p.m. UTC | #5
On Tue, Mar 12, 2019 at 12:06:23PM +0000, Alan Cox wrote:
> On Tue, 12 Mar 2019 11:41:02 +0100
> LABBE Corentin <clabbe@baylibre.com> 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.
Alan Cox March 22, 2019, 5:36 p.m. UTC | #6
> > 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
diff mbox series

Patch

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 */
 };