Re: ASMedia ASM1061 SATA support for ahci(4)

2018-01-03 Thread Mark Kettenis
> Date: Wed, 3 Jan 2018 10:31:14 +1000
> From: Jonathan Matthew 
> 
> On Tue, Jan 02, 2018 at 11:25:55PM +0100, Mark Kettenis wrote:
> > This cip advertises itself as a PCI IDE controller, but actually
> > implements an AHCI interface.  Adding it to the ahci_devices lists,
> > without any quirks makes ahci(4) work.  It doesn't actually work with
> > our pciide(4) driver!
> > 
> > ok?
> 
> ok.  I think this is just a mistake in the device's PCI config, because
> the ASMedia controllers seem to be AHCI-only.  Working around it like this
> seems reasonable to me.

The device actually has the standard PCIIDE IO BARs.  Probably needs
some additonal magic to set up the ports like most other legacy SATA
devices.  But since AHCI works there is now point ;).

Committed, Thanks.

> > Index: dev/pci/ahci_pci.c
> > ===
> > RCS file: /cvs/src/sys/dev/pci/ahci_pci.c,v
> > retrieving revision 1.13
> > diff -u -p -r1.13 ahci_pci.c
> > --- dev/pci/ahci_pci.c  27 May 2017 14:16:45 -  1.13
> > +++ dev/pci/ahci_pci.c  2 Jan 2018 22:07:30 -
> > @@ -109,6 +109,13 @@ static const struct ahci_device ahci_dev
> > { PCI_VENDOR_ATI,   PCI_PRODUCT_ATI_SBX00_SATA_6,
> > NULL,   ahci_ati_sb700_attach },
> >  
> > +   { PCI_VENDOR_ASMEDIA,   PCI_PRODUCT_ASMEDIA_ASM1061_SATA },
> > +
> > { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_6SERIES_AHCI_1,
> > NULL,   ahci_intel_attach },
> > { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_6SERIES_AHCI_2,
> > 
> 



Re: ASMedia ASM1061 SATA support for ahci(4)

2018-01-02 Thread Jonathan Matthew
On Tue, Jan 02, 2018 at 11:25:55PM +0100, Mark Kettenis wrote:
> This cip advertises itself as a PCI IDE controller, but actually
> implements an AHCI interface.  Adding it to the ahci_devices lists,
> without any quirks makes ahci(4) work.  It doesn't actually work with
> our pciide(4) driver!
> 
> ok?

ok.  I think this is just a mistake in the device's PCI config, because
the ASMedia controllers seem to be AHCI-only.  Working around it like this
seems reasonable to me.

> 
> 
> Index: dev/pci/ahci_pci.c
> ===
> RCS file: /cvs/src/sys/dev/pci/ahci_pci.c,v
> retrieving revision 1.13
> diff -u -p -r1.13 ahci_pci.c
> --- dev/pci/ahci_pci.c27 May 2017 14:16:45 -  1.13
> +++ dev/pci/ahci_pci.c2 Jan 2018 22:07:30 -
> @@ -109,6 +109,13 @@ static const struct ahci_device ahci_dev
>   { PCI_VENDOR_ATI,   PCI_PRODUCT_ATI_SBX00_SATA_6,
>   NULL,   ahci_ati_sb700_attach },
>  
> + { PCI_VENDOR_ASMEDIA,   PCI_PRODUCT_ASMEDIA_ASM1061_SATA },
> +
>   { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_6SERIES_AHCI_1,
>   NULL,   ahci_intel_attach },
>   { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_6SERIES_AHCI_2,
> 



Re: ASMedia ASM1061 SATA support for ahci(4)

2018-01-02 Thread David Gwynne

> On 3 Jan 2018, at 08:25, Mark Kettenis  wrote:
> 
> This cip advertises itself as a PCI IDE controller, but actually
> implements an AHCI interface.  Adding it to the ahci_devices lists,
> without any quirks makes ahci(4) work.  It doesn't actually work with
> our pciide(4) driver!
> 
> ok?

im not angry, just disappointed.

ok.

> 
> 
> Index: dev/pci/ahci_pci.c
> ===
> RCS file: /cvs/src/sys/dev/pci/ahci_pci.c,v
> retrieving revision 1.13
> diff -u -p -r1.13 ahci_pci.c
> --- dev/pci/ahci_pci.c27 May 2017 14:16:45 -  1.13
> +++ dev/pci/ahci_pci.c2 Jan 2018 22:07:30 -
> @@ -109,6 +109,13 @@ static const struct ahci_device ahci_dev
>   { PCI_VENDOR_ATI,   PCI_PRODUCT_ATI_SBX00_SATA_6,
>   NULL,   ahci_ati_sb700_attach },
> 
> + { PCI_VENDOR_ASMEDIA,   PCI_PRODUCT_ASMEDIA_ASM1061_SATA },
> +
>   { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_6SERIES_AHCI_1,
>   NULL,   ahci_intel_attach },
>   { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_6SERIES_AHCI_2,
>