intel_extreme: remove gen8 interrupt handler on exit
should fix #17535 Change-Id: I09d62090c68bd50494ca168d92d3df7b0c6fd0b4 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5138 Reviewed-by: waddlesplash <[email protected]> Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
@@ -773,10 +773,14 @@ intel_extreme_uninit(intel_info &info)
|
|||||||
|
|
||||||
if (!info.fake_interrupts && info.shared_info->vblank_sem > 0) {
|
if (!info.fake_interrupts && info.shared_info->vblank_sem > 0) {
|
||||||
// disable interrupt generation
|
// disable interrupt generation
|
||||||
write32(info, find_reg(info, INTEL_INTERRUPT_ENABLED), 0);
|
if (info.device_type.Generation() >= 8) {
|
||||||
write32(info, find_reg(info, INTEL_INTERRUPT_MASK), ~0);
|
bdw_enable_global_interrupts(info, false);
|
||||||
|
remove_io_interrupt_handler(info.irq, bdw_interrupt_handler, &info);
|
||||||
remove_io_interrupt_handler(info.irq, intel_interrupt_handler, &info);
|
} else {
|
||||||
|
write32(info, find_reg(info, INTEL_INTERRUPT_ENABLED), 0);
|
||||||
|
write32(info, find_reg(info, INTEL_INTERRUPT_MASK), ~0);
|
||||||
|
remove_io_interrupt_handler(info.irq, intel_interrupt_handler, &info);
|
||||||
|
}
|
||||||
|
|
||||||
if (info.use_msi && gPCIx86Module != NULL) {
|
if (info.use_msi && gPCIx86Module != NULL) {
|
||||||
gPCIx86Module->disable_msi(info.pci->bus,
|
gPCIx86Module->disable_msi(info.pci->bus,
|
||||||
|
|||||||
Reference in New Issue
Block a user