At Thu, 29 Jan 2009 15:55:27 +0100, Krzysztof Helt wrote: > > On Mon, 26 Jan 2009 10:42:29 +0100 > Takashi Iwai <tiwai@xxxxxxx> wrote: > > > At Sun, 25 Jan 2009 23:05:55 +0100, > > Rene Herman wrote: > > > > > > On 25-01-09 21:10, Krzysztof Helt wrote: > > > > > > > From: Krzysztof Helt <krzysztof.h1@xxxxx> > > > > > > > > The ess1688 driver uses the same port > > > > for PCM audio (SB compatible) and OPL3 > > > > synthesis. It is wrong so allow to > > > > choose a correct port for OPL3 synthesis. > > > > > > Only a very quick reply -- generally, the low 2 SB ports are indeed OPL3 > > > compatible (or was it just OPL2? ...) > > > > All devices have separate OPL3 I/O ports. So there must be a > > reason... > > > > The ESS 688 datasheet states that FM chip select signal (FMCSB) > is activated when one of the port ranges: > 388H-389H, 2x8H-2x9H, 2x0H-2x3H > is selected. The current code may work on on the ESS 688. > However, it obviously does not work with the ESS 1688 (bug #282). > The bug report states that the OPL3 synthesis works with the > OSS driver which chooses the 0x388 port for the OPL3. > > My patch adds a new port setting so it is still possible to set > the fm_port value the same as the port value. No change here. > However, it allows setting different values to the port and the > fm_port setting if needed. Fair enough. However... > Takashi, please consider applying my patch to the alsa tree. One thing I noticed in your patch is that opl3 won't be created after your change as default, as fmport=SNDRV_AUTO_PORT. This is a regression. The code should be like below instead: if (fm_port[n] == SNDRV_AUTO_PORT) fm_port[n] = chip->port; /* share the same port */ if (fm_port[n] > 0) { if (snd_opl3_create(card, fm_port[n], fm_port[n] + 2, OPL3_HW_OPL3, 0, &opl3) < 0) ... Could you fix and repost? thanks, Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel