Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Mar 2016 19:09:15 -0600
From:      Ian Lepore <ian@freebsd.org>
To:        Ruslan Makhmatkhanov <rm@FreeBSD.org>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: SD card adapter doesn't working anymore
Message-ID:  <1458954555.1091.94.camel@freebsd.org>
In-Reply-To: <56F5CCDA.2060808@FreeBSD.org>
References:  <56F5A0A9.8030207@FreeBSD.org> <1458947510.1091.91.camel@freebsd.org> <56F5CCDA.2060808@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-jUbba7m6ihm6c3IP7ZyY
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

On Sat, 2016-03-26 at 02:42 +0300, Ruslan Makhmatkhanov wrote:
> Ian Lepore wrote on 03/26/16 02:11 AM:
> > On Fri, 2016-03-25 at 23:33 +0300, Ruslan Makhmatkhanov wrote:
> > > Hello,
> > > 
> > > I have this in pciconf output:
> > > 
> > > =================================================================
> > > ====
> > > =
> > > none1@pci0:36:0:0:	class=0x088000 card=0x167e103c
> > > chip=0x2392197b
> > > rev=0x30 hdr=0x00
> > >       vendor     = 'JMicron Technology Corp.'
> > >       device     = 'SD/MMC Host Controller'
> > >       class      = base peripheral
> > > 
> > > none2@pci0:36:0:3:	class=0x088000 card=0x167e103c
> > > chip=0x2393197b
> > > rev=0x30 hdr=0x00
> > >       vendor     = 'JMicron Technology Corp.'
> > >       device     = 'MS Host Controller'
> > >       class      = base peripheral
> > > =================================================================
> > > ====
> > > =
> > > 
> > > And my SD-card controller is not working anymore (it worked on
> > > -current
> > > on the same laptop year or two ago). Do I need to load some kld
> > > to
> > > make
> > > it working, or support for this controllers was dropped
> > > altogether
> > > for
> > > some reason? I have mostly vanilla GENERIC at r296772, but it
> > > actually
> > > stopped to work much earlier.
> > > 
> > > Thanks.
> > > 
> > 
> > Do you have a pciconf entry for class=080501 chip=0x2391197b,
> > device
> > would probably be "SD Host Controller", and if so, is it none@pci o
> > r
> > sdhci_pci@pci ?  If sdhci_pci attached, there would be dmesg output
> > for
> > it, and I'm curious whether any irq-related error showed up when it
> > attached.
> > 
> > The only change I can find that might have some effect is a switch
> > to
> > MSI-based interrupts some time ago.  That was MFC'd to 10-stable in
> > r271051, and that's very close to range cited in that PR.
> > 
> > It might be worth trying to set hw.sdhci.enable_msi=0 in
> > loader.conf
> > and see if it makes a difference.
> > 
> > -- Ian
> 
> Sorry, but nothing has changed in pciconf/dmesg with this option at
> boot.
> 

Hmm, well so much for logic ("what changed around the time reported in
that PR?").  Now for intuition...

Maybe this JMicro device id needs the same quirks as the 2381 ID that's
already in the driver.  The attached patch would add that.  If this
fixes it, that's good, but it doesn't explain why it worked then
stopped working at some point.

-- Ian

--=-jUbba7m6ihm6c3IP7ZyY
Content-Disposition: inline; filename="temp.diff"
Content-Type: text/x-patch; name="temp.diff"; charset="us-ascii"
Content-Transfer-Encoding: 7bit

Index: dev/sdhci/sdhci_pci.c
===================================================================
--- dev/sdhci/sdhci_pci.c	(revision 297146)
+++ dev/sdhci/sdhci_pci.c	(working copy)
@@ -105,6 +105,9 @@ static const struct sdhci_device {
 	{ 0x2381197B, 	0xffff,	"JMicron JMB38X SD",
 	    SDHCI_QUIRK_32BIT_DMA_SIZE |
 	    SDHCI_QUIRK_RESET_AFTER_REQUEST },
+	{ 0x2391197B, 	0xffff,	"JMicron JMB38X SD",
+	    SDHCI_QUIRK_32BIT_DMA_SIZE |
+	    SDHCI_QUIRK_RESET_AFTER_REQUEST },
 	{ 0x16bc14e4,	0xffff,	"Broadcom BCM577xx SDXC/MMC Card Reader",
 	    SDHCI_QUIRK_BCM577XX_400KHZ_CLKSRC },
 	{ 0,		0xffff,	NULL,

--=-jUbba7m6ihm6c3IP7ZyY--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1458954555.1091.94.camel>