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>
