On Thu, Mar 29, 2007 at 11:46:36PM +0200, Rene Herman wrote:
I checked the MPU IRQs (you allow 2/9, 3, 5, 7, 10, 15 while the DOS driver only allows 2/9, 3, 5, 7).
Thanks for your testing. Could you also test playback of 16-bit sounds through an 8-bit DMA channel in DOS?
All of 2/9, 3, 5, 7, and 10 work fine here and 15 does not work. 15 also doesn't work here for the Jazz IRQ though while the DOS driver does allow 15 for that one, so I expect that's a local problem (no, nothing evident; no IDE, 15 reserved for ISA, ...). If you need me to I'll try in a different machine, but if 15 works fine for the Jazz IRQ for you, I'd write it not working for either IRQ for me off as an uninteresting glitch.
While IRQ 15 works fine for me with an AD1816A card, I can not get IRQ 15 to work with the Jazz on the same machine. Over the weekend I'll try to use autoprobing to figure out exactly what is and isn't supported. I'll also look at circuit board traces and the ISA bus connector pinout for clues.
I also checked the 210, 230 and 250 base values the DOS driver allows me to set the "Jazz16 I/O Port" to and all of those work fine. A change to jazz16pnp is attached as the first attachment. Has been tested, works fine.
I also tried 0x270, but it didn't work. Maybe due to worries about the possibility of a parallel port at 0x278. I also tried 0x340, 0x350, 0x360 and 0x370 for the MPU port, but also with no luck.
Lastly, how would you feel about setting the DOS/Windows default resource values as the preffered values and all the others as mere acceptable?
I'll leave that up to Adam Belany. Personally, I have never understood the point of having a preferred option with the default values and an acceptable one with all the possible ones. A naive PnP stack risks that the defaults take required resources away from another card while a sofisticated PnP stack will most likely overrule the defaults anyway to prevent resource starvation.
@@ -194,7 +200,9 @@ static struct pnp_irq jazz16pnp_irqs[2] .flags = IORESOURCE_IRQ_HIGHEDGE }, };
-static struct pnp_dma jazz16pnp_dmas[2] __initdata = { +static struct pnp_dma jazz16pnp_dmas[] __initdata = {
- { .map = (1 << 1), .flags = IORESOURCE_DMA_8BIT, },
- { .map = (1 << 5), .flags = IORESOURCE_DMA_16BIT, }, { .map = (1 << 1) | (1 << 3), .flags = IORESOURCE_DMA_8BIT, }, { .map = (1 << 5) | (1 << 7), .flags = IORESOURCE_DMA_16BIT, },
};
You can change the second last DMA definition to
{ .map = (1 << 1) | (1 << 3) | (1 << 5) | (1 << 7), .flags = IORESOURCE_DMA_8AND16BIT, },