* [PATCH 0/2] Interrupt management fixes
@ 2017-04-12 22:54 Gary R Hook
2017-04-12 22:54 ` [PATCH 1/2] crypto: ccp - Use only the relevant interrupt bits Gary R Hook
2017-04-12 22:54 ` [PATCH 2/2] crypto: ccp - Disable interrupts early on unload Gary R Hook
0 siblings, 2 replies; 3+ messages in thread
From: Gary R Hook @ 2017-04-12 22:54 UTC (permalink / raw)
To: linux-crypto; +Cc: thomas.lendacky, herbert, davem
The following series implements...
Correct the driver to attend only to interrupt bits that
are relevant, and ensure that interrupts are managed
properly at module unload.
---
Gary R Hook (2):
crypto: ccp - Use only the relevant interrupt bits
crypto: ccp - Disable interrupts early on unload
drivers/crypto/ccp/ccp-dev-v5.c | 4 ++--
drivers/crypto/ccp/ccp-dev.h | 5 ++---
2 files changed, 4 insertions(+), 5 deletions(-)
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] crypto: ccp - Use only the relevant interrupt bits
2017-04-12 22:54 [PATCH 0/2] Interrupt management fixes Gary R Hook
@ 2017-04-12 22:54 ` Gary R Hook
2017-04-12 22:54 ` [PATCH 2/2] crypto: ccp - Disable interrupts early on unload Gary R Hook
1 sibling, 0 replies; 3+ messages in thread
From: Gary R Hook @ 2017-04-12 22:54 UTC (permalink / raw)
To: linux-crypto; +Cc: thomas.lendacky, herbert, davem
Each CCP queue can product interrupts for 4 conditions:
operation complete, queue empty, error, and queue stopped.
This driver only works with completion and error events.
Signed-off-by: Gary R Hook <gary.hook@amd.com>
---
drivers/crypto/ccp/ccp-dev.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/crypto/ccp/ccp-dev.h b/drivers/crypto/ccp/ccp-dev.h
index 191274d..a60aac7 100644
--- a/drivers/crypto/ccp/ccp-dev.h
+++ b/drivers/crypto/ccp/ccp-dev.h
@@ -109,9 +109,8 @@
#define INT_COMPLETION 0x1
#define INT_ERROR 0x2
#define INT_QUEUE_STOPPED 0x4
-#define ALL_INTERRUPTS (INT_COMPLETION| \
- INT_ERROR| \
- INT_QUEUE_STOPPED)
+#define INT_EMPTY_QUEUE 0x8
+#define ALL_INTERRUPTS (INT_COMPLETION | INT_ERROR)
#define LSB_REGION_WIDTH 5
#define MAX_LSB_CNT 8
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] crypto: ccp - Disable interrupts early on unload
2017-04-12 22:54 [PATCH 0/2] Interrupt management fixes Gary R Hook
2017-04-12 22:54 ` [PATCH 1/2] crypto: ccp - Use only the relevant interrupt bits Gary R Hook
@ 2017-04-12 22:54 ` Gary R Hook
1 sibling, 0 replies; 3+ messages in thread
From: Gary R Hook @ 2017-04-12 22:54 UTC (permalink / raw)
To: linux-crypto; +Cc: thomas.lendacky, herbert, davem
From: Gary R Hook <ghook@amd.com>
Ensure that we disable interrupts first when shutting down
the driver.
Signed-off-by: Gary R Hook <ghook@amd.com>
---
drivers/crypto/ccp/ccp-dev-v5.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/crypto/ccp/ccp-dev-v5.c b/drivers/crypto/ccp/ccp-dev-v5.c
index e03d06a..293c08e 100644
--- a/drivers/crypto/ccp/ccp-dev-v5.c
+++ b/drivers/crypto/ccp/ccp-dev-v5.c
@@ -942,10 +942,10 @@ static void ccp5_destroy(struct ccp_device *ccp)
iowrite32(cmd_q->qcontrol & ~CMD5_Q_RUN, cmd_q->reg_control);
/* Disable the interrupts */
- iowrite32(ALL_INTERRUPTS, cmd_q->reg_interrupt_status);
+ iowrite32(0x00, cmd_q->reg_int_enable);
/* Clear the interrupt status */
- iowrite32(0x00, cmd_q->reg_int_enable);
+ iowrite32(ALL_INTERRUPTS, cmd_q->reg_interrupt_status);
ioread32(cmd_q->reg_int_status);
ioread32(cmd_q->reg_status);
}
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-04-12 22:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-12 22:54 [PATCH 0/2] Interrupt management fixes Gary R Hook
2017-04-12 22:54 ` [PATCH 1/2] crypto: ccp - Use only the relevant interrupt bits Gary R Hook
2017-04-12 22:54 ` [PATCH 2/2] crypto: ccp - Disable interrupts early on unload Gary R Hook
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).