Fix interrupt mask
Signed-off-by: Sameeh Jubran <sameeh@daynix.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
This commit is contained in:
parent
e828c45bf2
commit
35c93f3886
@ -4,6 +4,11 @@
|
|||||||
|
|
||||||
#pragma code_seg(push)
|
#pragma code_seg(push)
|
||||||
#pragma code_seg()
|
#pragma code_seg()
|
||||||
|
|
||||||
|
#define WIN_QXL_INT_MASK ((QXL_INTERRUPT_DISPLAY) | \
|
||||||
|
(QXL_INTERRUPT_CURSOR) | \
|
||||||
|
(QXL_INTERRUPT_IO_CMD))
|
||||||
|
|
||||||
// BEGIN: Non-Paged Code
|
// BEGIN: Non-Paged Code
|
||||||
|
|
||||||
// Bit is 1 from Idx to end of byte, with bit count starting at high order
|
// Bit is 1 from Idx to end of byte, with bit count starting at high order
|
||||||
@ -3347,7 +3352,7 @@ NTSTATUS QxlDevice::QxlInit(DXGK_DISPLAY_INFORMATION* pDispInfo)
|
|||||||
|
|
||||||
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_RESET), 0);
|
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_RESET), 0);
|
||||||
CreateRings();
|
CreateRings();
|
||||||
m_RamHdr->int_mask = ~0;
|
m_RamHdr->int_mask = WIN_QXL_INT_MASK;
|
||||||
CreateMemSlots();
|
CreateMemSlots();
|
||||||
InitDeviceMemoryResources();
|
InitDeviceMemoryResources();
|
||||||
return Status;
|
return Status;
|
||||||
@ -4551,10 +4556,11 @@ BOOLEAN QxlDevice::InterruptRoutine(_In_ PDXGKRNL_INTERFACE pDxgkInterface, _In_
|
|||||||
|
|
||||||
pDxgkInterface->DxgkCbNotifyInterrupt(pDxgkInterface->DeviceHandle,¬ifyInt);
|
pDxgkInterface->DxgkCbNotifyInterrupt(pDxgkInterface->DeviceHandle,¬ifyInt);
|
||||||
if (!pDxgkInterface->DxgkCbQueueDpc(pDxgkInterface->DeviceHandle)) {
|
if (!pDxgkInterface->DxgkCbQueueDpc(pDxgkInterface->DeviceHandle)) {
|
||||||
m_RamHdr->int_mask = ~0;
|
m_RamHdr->int_mask = WIN_QXL_INT_MASK;
|
||||||
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_UPDATE_IRQ), 0);
|
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_UPDATE_IRQ), 0);
|
||||||
DbgPrint(TRACE_LEVEL_FATAL, ("---> %s DxgkCbQueueDpc failed\n", __FUNCTION__));
|
DbgPrint(TRACE_LEVEL_FATAL, ("---> %s DxgkCbQueueDpc failed\n", __FUNCTION__));
|
||||||
}
|
}
|
||||||
|
DbgPrint(TRACE_LEVEL_VERBOSE, ("<--- %s\n", __FUNCTION__));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4586,7 +4592,7 @@ VOID QxlDevice::DpcRoutine(PVOID ptr)
|
|||||||
DbgPrint(TRACE_LEVEL_INFORMATION, ("---> %s m_IoCmdEvent\n", __FUNCTION__));
|
DbgPrint(TRACE_LEVEL_INFORMATION, ("---> %s m_IoCmdEvent\n", __FUNCTION__));
|
||||||
KeSetEvent (&m_IoCmdEvent, IO_NO_INCREMENT, FALSE);
|
KeSetEvent (&m_IoCmdEvent, IO_NO_INCREMENT, FALSE);
|
||||||
}
|
}
|
||||||
m_RamHdr->int_mask = ~0;
|
m_RamHdr->int_mask = WIN_QXL_INT_MASK;
|
||||||
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_UPDATE_IRQ), 0);
|
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_UPDATE_IRQ), 0);
|
||||||
|
|
||||||
DbgPrint(TRACE_LEVEL_INFORMATION, ("<--- %s\n", __FUNCTION__));
|
DbgPrint(TRACE_LEVEL_INFORMATION, ("<--- %s\n", __FUNCTION__));
|
||||||
|
Loading…
Reference in New Issue
Block a user