Date: Tue, 22 Sep 2015 18:02:43 +0300 From: Michael BlackHeart <amdmiek@gmail.com> To: Alexander Motin <mav@freebsd.org>, freebsd-stable <freebsd-stable@freebsd.org> Subject: Re: ATA/ACHI Jmicron broken up Message-ID: <CA%2BAz77MTSP1aLO=OaMUF-hj9aUfzie51m-JvfEpYnr%2BsqoVA2A@mail.gmail.com> In-Reply-To: <56011F1A.5000406@FreeBSD.org> References: <CA%2BAz77OsS6wHmTh1PF_rV0NeRapJQiz5oCRPrOw50aNqWkSGbg@mail.gmail.com> <56011AA5.6090904@FreeBSD.org> <CA%2BAz77O6biemjNw74g6OXUVyNWHUJiMQ_yv6NYdUzTKNzPj9ew@mail.gmail.com> <56011F1A.5000406@FreeBSD.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
Thanks! Patch helped.
2015-09-22 12:27 GMT+03:00 Alexander Motin <mav@freebsd.org>:
> On 22.09.2015 12:19, Michael BlackHeart wrote:
> > dmesg from updated system is a little bit tricky right now. I can
> > provide working system dmesg and say what's missing in it's output when
> > I try to boot new kernel.
> >
> > Here goes pciconf
> >
> > atapci0@pci0:2:0:0: class=0x010400 card=0x75121462 chip=0x2363197b
> > rev=0x03 hdr=0x00
> > vendor = 'JMicron Technology Corp.'
> > device = 'JMB363 SATA/IDE Controller'
> > class = mass storage
> > subclass = RAID
> > bar [24] = type Memory, range 32, base 0xf7dfe000, size 8192,
> enabled
> > cap 01[68] = powerspec 2 supports D0 D3 current D0
> > cap 10[50] = PCI-Express 1 legacy endpoint IRQ 1 max data 128(128)
> > link x1(x1)
> > speed 2.5(2.5) ASPM disabled(L0s)
>
> OK, I see the problem -- it is reported as RAID, but not as AHCI, as
> devices that I had before, and so ahci(4) driver does not attach. Could
> you test the attached patch? I should allow driver attachment to such
> devices.
>
> --
> Alexander Motin
>
--
amd_miek
Think different.
Just superior.
[-- Attachment #2 --]
Index: ahci_pci.c
===================================================================
--- ahci_pci.c (revision 288021)
+++ ahci_pci.c (working copy)
@@ -327,6 +327,9 @@ ahci_probe(device_t dev)
pci_get_subclass(dev) == PCIS_STORAGE_SATA &&
pci_get_progif(dev) == PCIP_STORAGE_SATA_AHCI_1_0)
valid = 1;
+ else if (pci_get_class(dev) == PCIC_STORAGE &&
+ pci_get_subclass(dev) == PCIS_STORAGE_RAID)
+ valid = 2;
/* Is this a known AHCI chip? */
for (i = 0; ahci_ids[i].id != 0; i++) {
if (ahci_ids[i].id == devid &&
@@ -343,7 +346,7 @@ ahci_probe(device_t dev)
return (BUS_PROBE_DEFAULT);
}
}
- if (!valid)
+ if (valid != 1)
return (ENXIO);
device_set_desc_copy(dev, "AHCI SATA controller");
return (BUS_PROBE_DEFAULT);
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BAz77MTSP1aLO=OaMUF-hj9aUfzie51m-JvfEpYnr%2BsqoVA2A>
