From b5d0ba8a51cfefc45f1f2ee6322be14d700b6ed4 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 7 Mar 2022 12:09:47 -0300 Subject: [PATCH] CMI8x38: Improve TDMA logging --- src/sound/snd_cmi8x38.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/sound/snd_cmi8x38.c b/src/sound/snd_cmi8x38.c index d28ccf9de..072997f46 100644 --- a/src/sound/snd_cmi8x38.c +++ b/src/sound/snd_cmi8x38.c @@ -183,7 +183,10 @@ cmi8x38_sb_dma_post(cmi8x38_t *dev, uint16_t *addr, uint16_t *count, int channel /* Restart TDMA. */ *addr = dev->tdma_base_addr; *count = dev->tdma_base_count; - cmi8x38_log("CMI8x38: Restarting TDMA on DMA %d with addr %08X count %04X\n", channel, (dma[channel].ab & 0xffff0000) | *addr, *count); + cmi8x38_log("CMI8x38: Restarting TDMA on DMA %d with addr %08X count %04X\n", + channel, + (channel & 4) ? ((dma[channel].ab & 0xfffe0000) | ((*addr) << 1)) : ((dma[channel].ab & 0xffff0000) | *addr), + *count); } else { /* Mask TDMA. */ dev->tdma_mask |= 1 << channel; @@ -311,7 +314,10 @@ cmi8x38_dma_write(uint16_t addr, uint8_t val, void *priv) *count = (uint16_t *) &dev->io_regs[0x1e]; *addr = dev->tdma_base_addr = dma[channel].ab >> !!(channel & 4); *count = dev->tdma_base_count = dma[channel].cb; - cmi8x38_log("CMI8x38: Starting TDMA on DMA %d with addr %08X count %04X\n", channel, (dma[channel].ab & 0xffff0000) | *addr, *count); + cmi8x38_log("CMI8x38: Starting TDMA on DMA %d with addr %08X count %04X\n", + channel, + (channel & 4) ? ((dma[channel].ab & 0xfffe0000) | ((*addr) << 1)) : ((dma[channel].ab & 0xffff0000) | *addr), + *count); /* Set high channel flag. */ if (channel & 4)