BA0READ4
mem = BA0READ4(sc, CS4280_CLKCR1) | CLKCR1_SWCE;
while ((BA0READ4(sc, CS4280_ACSTS) & ACSTS_CRDY) == 0) {
while ((BA0READ4(sc, CS4280_ACISV) & (ACISV_ISV3 | ACISV_ISV4)) !=
mem = BA0READ4(sc, CS4280_MIDCR) & ~MIDCR_MASK;
DPRINTF(("midi reset: 0x%x\n", BA0READ4(sc, CS4280_MIDCR)));
mem = BA0READ4(sc, CS4280_CLKCR1);
while (BA0READ4(sc, CS4280_SERBST) & SERBST_WBSY) {
mem = BA0READ4(sc, CS4280_MIDCR) & ~MIDCR_MASK;
if (mem != BA0READ4(sc, CS4280_MIDCR)) {
DPRINTF(("midi_open: MIDCR=%d\n", BA0READ4(sc, CS4280_MIDCR)));
DPRINTF(("MIDCR=0x%x\n", BA0READ4(sc, CS4280_MIDCR)));
mem = BA0READ4(sc, CS4280_MIDCR);
if ((BA0READ4(sc, CS4280_MIDSR) & MIDSR_TBF) == 0) {
mem = BA0READ4(sc, CS4280_MIDWP) & ~MIDWP_MASK;
if (mem != BA0READ4(sc, CS4280_MIDWP)) {
mem, BA0READ4(sc, CS4280_MIDWP)));
BA0READ4(sc, CS4280_ACSDA);
while (!(BA0READ4(sc, CS4280_ACSTS) & ACSTS_VSTS)) {
*data = BA0READ4(sc, CS4280_ACSDA);
while ((BA0READ4(sc, CS4280_ACCTL) & ACCTL_DCV)) {
intr = BA0READ4(sc, CS4280_HISR);
BA0READ4(sc, CS4280_MIDSR)));
((BA0READ4(sc, CS4280_MIDSR) & MIDSR_RBE) == 0)) {
data = BA0READ4(sc, CS4280_MIDRP) & MIDRP_MASK;
if ((BA0READ4(sc, CS4280_MIDSR) & MIDSR_TBF) == 0) {
((BA0READ4(sc, CS4280_MIDSR) & MIDSR_TBF) == 0)) {
while (BA0READ4(sc, CS4280_ACISV) != (ACISV_ISV3 | ACISV_ISV4)) {
while((BA0READ4(sc, CS4281_ACSTS) & ACSTS_CRDY) == 0) {
while((BA0READ4(sc, CS4281_ACSTS2) & ACSTS2_CRDY2) == 0) {
dat32 = BA0READ4(sc, CS4281_ACSTS) & ACSTS_CRDY;
dat32 = BA0READ4(sc, CS4281_ACISV) & (ACISV_ISV3 | ACISV_ISV4) ;
BA0READ4(sc, CS4281_ACSDA);
while ((BA0READ4(sc, CS4281_ACSTS) & ACSTS_VSTS) == 0) {
*ac97_data = BA0READ4(sc, CS4281_ACSDA);
while ((BA0READ4(sc, CS4281_ACCTL) & ACCTL_DCV)) {
intr = BA0READ4(sc, CS4281_HISR);
val = BA0READ4(sc, CS4281_HDSR0); /* clear intr condition */
val = BA0READ4(sc, CS4281_HDSR1); /* clear intr condition */
DPRINTF((" PB DMA 0x%x(%d)", (int)BA0READ4(sc, CS4281_DCA0),
(int)BA0READ4(sc, CS4281_DCC0)));
val = BA0READ4(sc, CS4281_HDSR1);
DPRINTF((" CP DMA 0x%x(%d)", (int)BA0READ4(sc, CS4281_DCA1),
(int)BA0READ4(sc, CS4281_DCC1)));
BA0WRITE4(sc, CS4281_DCR0, BA0READ4(sc, CS4281_DCR0) | DCRn_MSK);
BA0WRITE4(sc, CS4281_DCR1, BA0READ4(sc, CS4281_DCR1) | DCRn_MSK);
BA0WRITE4(sc, CS4281_DCR0, BA0READ4(sc, CS4281_DCR0) | DCRn_MSK);
fmt = BA0READ4(sc, CS4281_DMR0) & ~DMRn_FMTMSK;
BA0WRITE4(sc, CS4281_DCR0, BA0READ4(sc, CS4281_DCR0) & ~DCRn_MSK);
DPRINTF(("HICR =0x%08x(expected 0x00000001)\n", BA0READ4(sc, CS4281_HICR)));
DPRINTF(("HIMR =0x%08x(expected 0x00f0fc3f)\n", BA0READ4(sc, CS4281_HIMR)));
DPRINTF(("DMR0 =0x%08x(expected 0x2???0018)\n", BA0READ4(sc, CS4281_DMR0)));
DPRINTF(("DCR0 =0x%08x(expected 0x00030000)\n", BA0READ4(sc, CS4281_DCR0)));
DPRINTF(("FCR0 =0x%08x(expected 0x81000f00)\n", BA0READ4(sc, CS4281_FCR0)));
BA0READ4(sc, CS4281_DACSR)));
DPRINTF(("SRCSA=0x%08x(expected 0x0b0a0100)\n", BA0READ4(sc, CS4281_SRCSA)));
BA0READ4(sc, CS4281_SSPM) & SSPM_PSRCEN));
BA0WRITE4(sc, CS4281_DCR1, BA0READ4(sc, CS4281_DCR1) | DCRn_MSK);
fmt = BA0READ4(sc, CS4281_DMR1) & ~DMRn_FMTMSK;
BA0WRITE4(sc, CS4281_DCR1, BA0READ4(sc, CS4281_DCR1) & ~DCRn_MSK);
DPRINTF(("HICR=0x%08x\n", BA0READ4(sc, CS4281_HICR)));
DPRINTF(("HIMR=0x%08x\n", BA0READ4(sc, CS4281_HIMR)));
DPRINTF(("DMR1=0x%08x\n", BA0READ4(sc, CS4281_DMR1)));
DPRINTF(("DCR1=0x%08x\n", BA0READ4(sc, CS4281_DCR1)));
dat32 = BA0READ4(sc, CS4281_EPPMC);
while ((BA0READ4(sc, CS4281_CLKCR1)& (CLKCR1_DLLRDY | CLKCR1_CLKON))
while((BA0READ4(sc, CS4281_ACSTS) & ACSTS_CRDY) == 0) {
while((BA0READ4(sc, CS4281_ACSTS2) & ACSTS2_CRDY2) == 0) {
dat32 = BA0READ4(sc, CS4281_ACSTS) & ACSTS_CRDY;
dat32 = BA0READ4(sc, CS4281_ACISV) & (ACISV_ISV3 | ACISV_ISV4);
BA0WRITE4(sc, CS4281_FCR0, (BA0READ4(sc,CS4281_FCR0) & ~FCRn_FEN));
BA0WRITE4(sc, CS4281_FCR1, (BA0READ4(sc,CS4281_FCR1) & ~FCRn_FEN));
BA0WRITE4(sc, CS4281_FCR2, (BA0READ4(sc,CS4281_FCR2) & ~FCRn_FEN));
BA0WRITE4(sc, CS4281_FCR3, (BA0READ4(sc,CS4281_FCR3) & ~FCRn_FEN));
dat32 = BA0READ4(sc, CS4281_HIMR) & 0xfffbfcff;