when writing to one of the setup registers, a 32-bit write is required.

this apparently fixes problems initialising certain es1371/es1373/ct5880
revisions.

Confirmed working by: Richard J Kuhns <rjk@grauel.com>
PR:		i386/25944
This commit is contained in:
Cameron Grant 2001-03-24 20:36:59 +00:00
parent ca7d5f8ab6
commit c78683be1f

View File

@ -487,8 +487,9 @@ es1371_init(struct es_info *es, device_t dev)
es->sctrl = 0;
/* initialize the chips */
if (revid == 7 || revid >= 9 || (devid == ES1371_PCI_ID3 && revid == 2)) {
#define ES1371_BINTSUMM_OFF 0x07
bus_space_write_4(es->st, es->sh, ES1371_BINTSUMM_OFF, 0x20);
#define ES1371_BINTSUMM_OFF 0x04
bus_space_write_4(es->st, es->sh, ES1371_BINTSUMM_OFF, 0x20000000);
DELAY(20000);
if (debug > 0) printf("es_init rev == 7 || rev >= 9\n");
} else { /* pre ac97 2.1 card */
bus_space_write_4(es->st, es->sh, ES1370_REG_CONTROL, es->ctrl);