]> Git Repo - qemu.git/commit
PPC: xnu kernel expects FLUSH to be cleared on STOP
authorAmadeusz Sławiński <[email protected]>
Thu, 21 Feb 2013 07:34:11 +0000 (07:34 +0000)
committerAlexander Graf <[email protected]>
Fri, 8 Mar 2013 20:04:53 +0000 (21:04 +0100)
commit987422bc4a4c6366ca6a7fbfa38a9920fd7ada2f
treebd74c61b98681253bb0d781e190a2537ead3332d
parente13da40448fabb0829d75b01dc57da5f44f391b3
PPC: xnu kernel expects FLUSH to be cleared on STOP

otherwise it gets stuck in a loop
so clear it when unsetting run when flush is set

void
IODBDMAStop( volatile IODBDMAChannelRegisters *registers)
{

IOSetDBDMAChannelControl( registers,
IOClearDBDMAChannelControlBits( kdbdmaRun )
| IOSetDBDMAChannelControlBits(  kdbdmaFlush ));

DBDMA: writel 0x0000000000000b00 <= 0xa0002000
DBDMA: channel 0x16 reg 0x0
DBDMA:     status 0x00002000

while( IOGetDBDMAChannelStatus( registers) & (
kdbdmaActive | kdbdmaFlush))
eieio();

DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
DBDMA: readl 0x0000000000000b04 => 0x00002000
DBDMA: channel 0x16 reg 0x1
it continues to get printed

}

Signed-off-by: Amadeusz Sławiński <[email protected]>
[agraf: replace tabs with spaces]
Signed-off-by: Alexander Graf <[email protected]>
hw/mac_dbdma.c
This page took 0.027258 seconds and 4 git commands to generate.