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:
parent
ca7d5f8ab6
commit
c78683be1f
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user