Skip site navigation (1)Skip section navigation (2)
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>