Date: Tue, 08 Mar 2005 15:33:34 -0700 From: Scott Long <scottl@samsco.org> To: Kevin Oberman <oberman@es.net> Cc: "M. Warner Losh" <imp@bsdimp.com> Subject: Re: cvs commit: src/sys/dev/cardbus cardbus.c Message-ID: <422E283E.3080009@samsco.org> In-Reply-To: <20050308221021.5FA265D08@ptavv.es.net> References: <20050308221021.5FA265D08@ptavv.es.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Kevin Oberman wrote: >>Date: Tue, 08 Mar 2005 09:35:35 -0700 (MST) >>From: "M. Warner Losh" <imp@bsdimp.com> >>Sender: owner-cvs-all@freebsd.org >> >>In message: <20050308072731.GI94451@obiwan.tataz.chchile.org> >> Jeremie Le Hen <jeremie@le-hen.org> writes: >>: > Both laptops are Dell (Inspiron 4150 and Inspiron 8100). >>: >>: I don't know if it cares, but mine is a Dell Latitute CPx. >>: >>: dmesg(8) is attached, with cardbus rev 1.48. >> >>This looks like it is working to me. Is that correct? I tried it >>last night on my Sony and got two interesting results. The rl card I >>have just worked, and the dc card appeared to work, but locked up the >>system completely. I've noticed some anomalies with the lights on the >>card (which indicate power issues), which may be the cause of some of >>these problems. I'll look into those when I get the chance (maybe >>Thursday night unless work is exceptionally non-busy before then). > > > The if_dc issues is with busdma and Scott is aware of it. (Hopefully a > fix is coming soon.) In the meantime I have a patch to get dc to work > again. It's a kludge, but it at least lives. > > > ------------------------------------------------------------------------ > > --- sys/pci/if_dc.c~ Fri Oct 15 17:53:44 2004 > +++ sys/pci/if_dc.c Mon Dec 20 14:22:48 2004 > @@ -2151,8 +2151,8 @@ > } > > /* Allocate a busdma tag for mbufs. */ > error = bus_dma_tag_create(NULL, PAGE_SIZE, 0, BUS_SPACE_MAXADDR_32BIT, > - BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES * DC_TX_LIST_CNT, > + BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, > DC_TX_LIST_CNT, MCLBYTES, 0, NULL, NULL, &sc->dc_mtag); > if (error) { > printf("dc%d: failed to allocate busdma tag\n", unit); I think that this patch is actually the correct thing to do. I also believe that the alignment argument should be changed from PAGE_SIZE to '1'. Considering that busdma never used to do alignment fixups, this change should effectively be a NOP for the driver, and will avoid the whole bounce-buffer mess. Care to give this a sanity test? Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?422E283E.3080009>