|
@@ -30,6 +30,7 @@
|
|
#include "audiodev.h"
|
|
#include "audiodev.h"
|
|
#include "audio/audio.h"
|
|
#include "audio/audio.h"
|
|
#include "pci.h"
|
|
#include "pci.h"
|
|
|
|
+#include "dma.h"
|
|
|
|
|
|
/* Missing stuff:
|
|
/* Missing stuff:
|
|
SCTRL_P[12](END|ST)INC
|
|
SCTRL_P[12](END|ST)INC
|
|
@@ -802,7 +803,7 @@ static void es1370_transfer_audio (ES1370State *s, struct chan *d, int loop_sel,
|
|
if (!acquired)
|
|
if (!acquired)
|
|
break;
|
|
break;
|
|
|
|
|
|
- cpu_physical_memory_write (addr, tmpbuf, acquired);
|
|
|
|
|
|
+ pci_dma_write (&s->dev, addr, tmpbuf, acquired);
|
|
|
|
|
|
temp -= acquired;
|
|
temp -= acquired;
|
|
addr += acquired;
|
|
addr += acquired;
|
|
@@ -816,7 +817,7 @@ static void es1370_transfer_audio (ES1370State *s, struct chan *d, int loop_sel,
|
|
int copied, to_copy;
|
|
int copied, to_copy;
|
|
|
|
|
|
to_copy = audio_MIN ((size_t) temp, sizeof (tmpbuf));
|
|
to_copy = audio_MIN ((size_t) temp, sizeof (tmpbuf));
|
|
- cpu_physical_memory_read (addr, tmpbuf, to_copy);
|
|
|
|
|
|
+ pci_dma_read (&s->dev, addr, tmpbuf, to_copy);
|
|
copied = AUD_write (voice, tmpbuf, to_copy);
|
|
copied = AUD_write (voice, tmpbuf, to_copy);
|
|
if (!copied)
|
|
if (!copied)
|
|
break;
|
|
break;
|