Date: Wed, 13 Jul 2005 10:10:18 +0900 From: Pyun YongHyeon <pyunyh@gmail.com> To: Muzaffar Ariff <mus.bsd@gmail.com> Cc: freebsd-multimedia@freebsd.org Subject: Re: ESS Maestro3 no sound Message-ID: <20050713011018.GB4479@rndsoft.co.kr> In-Reply-To: <8eb2b8105071217477e240667@mail.gmail.com> References: <8eb2b81050628200659d338ab@mail.gmail.com> <20050629043027.GB8832@rndsoft.co.kr> <42C2B94F.2010708@samsco.org> <20050701014258.GE17058@rndsoft.co.kr> <8eb2b810507110203229b46b@mail.gmail.com> <20050711092238.GC858@rndsoft.co.kr> <8eb2b8105071217477e240667@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--5mCyUwZo2JvN/JJP Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Wed, Jul 13, 2005 at 08:47:00AM +0800, Muzaffar Ariff wrote: > > Hmm, I'm afraid you loaded old module again. Please let me know which > > FreeBSD version you used. I can make a patch for the specific FreeBSD > > version. > > I'm using FreeBSD 5.3-release. Are you saying that I did the patching > and loading of the patch correctly, its just you gave the wrong one? > (need to know either my methods were right) > I can't sure but your dmeseg output says it was not patched. Try attached patch on your system. 1. Save attached patch file to your system(e.g. /tmp). 2. Patch and build. #cd /usr/src #patch -p0 < /path/to/patchfile #cd /usr/src/sys/modules/sound/driver/maestro3 #make 3. Load built module and experiment it. #kldload ./snd_maestro3.ko 4. It the driver works then install it. #make install Please let me know how it goes on your system. -- Regards, Pyun YongHyeon --5mCyUwZo2JvN/JJP Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="maestro3.resource.diff2" --- sys/dev/sound/pci/maestro3.c.orig Fri Jul 16 12:59:27 2004 +++ sys/dev/sound/pci/maestro3.c Wed Jul 13 10:02:46 2005 @@ -1105,19 +1105,21 @@ } } + pci_enable_busmaster(dev); data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN); + data |= (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN); pci_write_config(dev, PCIR_COMMAND, data, 2); sc->regid = PCIR_BAR(0); - sc->regtype = SYS_RES_MEMORY; + data = pci_read_config(dev, PCIR_COMMAND, 2); + device_printf(dev,"PCIR_COMMAND = 0x%x\n", data); + sc->regtype = SYS_RES_IOPORT; + if ((data & PCIM_CMD_PORTEN) == 0) { + sc->regtype = SYS_RES_MEMORY; + device_printf(dev,"using memory mapped I/O\n"); + } sc->reg = bus_alloc_resource_any(dev, sc->regtype, &sc->regid, RF_ACTIVE); - if (!sc->reg) { - sc->regtype = SYS_RES_IOPORT; - sc->reg = bus_alloc_resource_any(dev, sc->regtype, &sc->regid, - RF_ACTIVE); - } if (!sc->reg) { device_printf(dev, "unable to allocate register space\n"); goto bad; --5mCyUwZo2JvN/JJP--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050713011018.GB4479>