From a6beedde4c037cf65c5e3c768fe6c3f8e9871b78 Mon Sep 17 00:00:00 2001 From: Andrei-Liviu Simion Date: Fri, 9 Oct 2015 03:51:34 -0700 Subject: [PATCH] dp: tx: Qualify interrupt status with interrupt mask. The status and mask registers are independent - the interrupt status is not affected by the software controlled interrupt mask register. For the contents of the interrupt mask to take effect, qualification of the interrupt status needs to happen in software. Signed-off-by: Andrei-Liviu Simion Acked-by: Shadul Shaikh --- XilinxProcessorIPLib/drivers/dp/src/xdp_intr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/XilinxProcessorIPLib/drivers/dp/src/xdp_intr.c b/XilinxProcessorIPLib/drivers/dp/src/xdp_intr.c index d1aab688..dc8c9de8 100644 --- a/XilinxProcessorIPLib/drivers/dp/src/xdp_intr.c +++ b/XilinxProcessorIPLib/drivers/dp/src/xdp_intr.c @@ -989,6 +989,8 @@ static void XDp_TxInterruptHandler(XDp *InstancePtr) * Note: XDP_TX_INTERRUPT_STATUS is an RC (read-clear) register. */ IntrStatus = XDp_ReadReg(InstancePtr->Config.BaseAddr, XDP_TX_INTERRUPT_STATUS); + IntrStatus &= ~XDp_ReadReg(InstancePtr->Config.BaseAddr, + XDP_TX_INTERRUPT_MASK); HpdEventDetected = IntrStatus & XDP_TX_INTERRUPT_STATUS_HPD_EVENT_MASK; HpdPulseDetected = IntrStatus &