[PATCH] Added a 5ms wait after a msi-irq is masked

Subsystems: the rest

STALE3790d

2 messages, 1 author, 2016-03-22 · open the first message on its own page

[PATCH] Added a 5ms wait after a msi-irq is masked

From: Philippe Bergheaud <hidden>
Date: 2016-03-22 10:45:45

From: Vaibhav Jain <redacted>

Adds a 5ms wait to phb3_msi_set_xive after the interrupt is masked so
that the kernel delays cleanup until an irq if its in-flight is
handled. The value 5ms is the worst case time needed by an irq to be
presented to the host after its generated.

Signed-off-by: Vaibhav Jain <redacted>
---
This patch requires the following patches:
https://patchwork.ozlabs.org/patch/581764/
https://patchwork.ozlabs.org/patch/581765/

 hw/phb3.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/hw/phb3.c b/hw/phb3.c
index fbdcb9e..e5d49b2 100644
--- a/hw/phb3.c
+++ b/hw/phb3.c
@@ -1751,6 +1751,8 @@ static int64_t phb3_msi_set_xive(void *data,
 			PHB_IVC_UPDATE_ENABLE_Q |
 			PHB_IVC_UPDATE_ENABLE_GEN;
 		out_be64(p->regs + PHB_IVC_UPDATE, ivc);
+		/* wait for 5ms before signalling the interrupt is masked */
+		time_wait_ms(5);
 	}
 
 	return OPAL_SUCCESS;
-- 
2.7.1

Re: [PATCH] Added a 5ms wait after a msi-irq is masked

From: Philippe Bergheaud <hidden>
Date: 2016-03-22 10:49:34

Sorry, I've sent this to the wrong list.

Philippe

Philippe Bergheaud wrote:
quoted hunk
From: Vaibhav Jain <redacted>

Adds a 5ms wait to phb3_msi_set_xive after the interrupt is masked so
that the kernel delays cleanup until an irq if its in-flight is
handled. The value 5ms is the worst case time needed by an irq to be
presented to the host after its generated.

Signed-off-by: Vaibhav Jain <redacted>
---
This patch requires the following patches:
https://patchwork.ozlabs.org/patch/581764/
https://patchwork.ozlabs.org/patch/581765/

 hw/phb3.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/hw/phb3.c b/hw/phb3.c
index fbdcb9e..e5d49b2 100644
--- a/hw/phb3.c
+++ b/hw/phb3.c
@@ -1751,6 +1751,8 @@ static int64_t phb3_msi_set_xive(void *data,
 			PHB_IVC_UPDATE_ENABLE_Q |
 			PHB_IVC_UPDATE_ENABLE_GEN;
 		out_be64(p->regs + PHB_IVC_UPDATE, ivc);
+		/* wait for 5ms before signalling the interrupt is masked */
+		time_wait_ms(5);
 	}
 
 	return OPAL_SUCCESS;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help