Quite a regular
Joined: 2006/12/6 12:05 Last Login
: 4/27 22:46
From Beverland
Group:
Registered Users
|
@geennaam
Ok, there is definitly something weird going on with my system. I use the RadeonRX V1.17 driver (latest one without GART/DMA). I can see that the CPU load peaks to 100% every second or so. But this can be normal behaviour without DMA.
I've just installed my HD audio soundcard again. Sound is playing at the correct speed but I noticed that the stereo sound is off. Music is audible without any stuttering or hissing but still you can hear that it is not entirely how it is supposed to sound. Like a "Hall" effect.
When I pan the volume in amigaamp I can confirm that it is not real stereo because I cannot completely mute the other channel anymore. Although possible, panning is not handled inside the sound hardware. It could be done by AmigaAmp or the AHI mixing routine. The only explaition that I have is that someting is going wrong with the DMA transfer, the DDR3 memory controller or os memory handling in general.
Sound is playing at the correct speed means in this case that the soundcard is fetching the expected amount of data with DMA from memory at the correct rate. So somehow the order of samples is mixed up. I doubt that it would get to this stage if wrong setup information was send to the soundcard.
Playing sound is nothing more than: 1. Wait for a DMA complete interrupt 2. Calling the AHI mixing routine to request a new block of samples. (AHI CPU routine; no dma involved) 3. Run a "for" loop to fetch, byteswap and write those samples to the DMA buffer location with the CPU. (again no DMA involved) 4. Repeat
So something goes wrong such that those samples arrive in the wrong sequence at the soundcard. But the error is subtile because music is audible. Maybe 1 failed write every x samples. This would swap left and right every x samples because the left and right samples are interleaved in memory.
A memory handling issue would also explain the cache coherency output on a warm reset. Afterall, the wrong CPU information is fetched from memory.
Anyways, like all the other issues. This issue disappears too when I go back to my R9 270x.
|