ESS Maestro3 no sound
Pyun YongHyeon
pyunyh at gmail.com
Wed Jul 13 01:11:34 GMT 2005
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
-------------- next part --------------
--- 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;
More information about the freebsd-multimedia
mailing list