Do not enable interrupts on codec status change, since we do not handle those. This fixes the lockup on the EeePC, and follows the description in the HDA specs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29172 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -789,8 +789,14 @@ hda_hw_init(hda_controller* controller)
|
|||||||
dprintf("hda: init_corb_rirb_pos failed\n");
|
dprintf("hda: init_corb_rirb_pos failed\n");
|
||||||
goto corb_rirb_failed;
|
goto corb_rirb_failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
controller->Write16(HDAC_WAKE_ENABLE, 0x7fff);
|
/*
|
||||||
|
* Don't enable codec state change interrupts. We don't handle
|
||||||
|
* them, as we want to use the STATE_STATUS register to identify
|
||||||
|
* available codecs. We'd have to clear that register in the interrupt
|
||||||
|
* handler to 'ack' the codec change.
|
||||||
|
*/
|
||||||
|
controller->Write16(HDAC_WAKE_ENABLE, 0x0);
|
||||||
|
|
||||||
/* Enable controller interrupts */
|
/* Enable controller interrupts */
|
||||||
controller->Write32(HDAC_INTR_CONTROL, INTR_CONTROL_GLOBAL_ENABLE
|
controller->Write32(HDAC_INTR_CONTROL, INTR_CONTROL_GLOBAL_ENABLE
|
||||||
|
|||||||
Reference in New Issue
Block a user