lkml.org 
[lkml]   [2017]   [May]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 4.9 31/80] crypto: ccp - Use only the relevant interrupt bits
Date
4.9-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Gary R Hook <gary.hook@amd.com>

commit 56467cb11cf8ae4db9003f54b3d3425b5f07a10a upstream.

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>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
drivers/crypto/ccp/ccp-dev-v5.c | 9 +++++----
drivers/crypto/ccp/ccp-dev.h | 5 ++---
2 files changed, 7 insertions(+), 7 deletions(-)

--- a/drivers/crypto/ccp/ccp-dev-v5.c
+++ b/drivers/crypto/ccp/ccp-dev-v5.c
@@ -740,7 +740,7 @@ static int ccp5_init(struct ccp_device *
ioread32(cmd_q->reg_status);

/* Clear the interrupts */
- iowrite32(ALL_INTERRUPTS, cmd_q->reg_interrupt_status);
+ iowrite32(SUPPORTED_INTERRUPTS, cmd_q->reg_interrupt_status);
}

dev_dbg(dev, "Requesting an IRQ...\n");
@@ -824,7 +824,7 @@ static int ccp5_init(struct ccp_device *
/* Enable interrupts */
for (i = 0; i < ccp->cmd_q_count; i++) {
cmd_q = &ccp->cmd_q[i];
- iowrite32(ALL_INTERRUPTS, cmd_q->reg_int_enable);
+ iowrite32(SUPPORTED_INTERRUPTS, cmd_q->reg_int_enable);
}

dev_dbg(dev, "Registering device...\n");
@@ -884,7 +884,7 @@ static void ccp5_destroy(struct ccp_devi
iowrite32(cmd_q->qcontrol & ~CMD5_Q_RUN, cmd_q->reg_control);

/* Disable the interrupts */
- iowrite32(ALL_INTERRUPTS, cmd_q->reg_interrupt_status);
+ iowrite32(SUPPORTED_INTERRUPTS, cmd_q->reg_interrupt_status);

/* Clear the interrupt status */
iowrite32(0x00, cmd_q->reg_int_enable);
@@ -944,7 +944,8 @@ static irqreturn_t ccp5_irq_handler(int
cmd_q->int_rcvd = 1;

/* Acknowledge the interrupt and wake the kthread */
- iowrite32(ALL_INTERRUPTS, cmd_q->reg_interrupt_status);
+ iowrite32(SUPPORTED_INTERRUPTS,
+ cmd_q->reg_interrupt_status);
wake_up_interruptible(&cmd_q->int_queue);
}
}
--- 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 SUPPORTED_INTERRUPTS (INT_COMPLETION | INT_ERROR)

#define LSB_REGION_WIDTH 5
#define MAX_LSB_CNT 8

\
 
 \ /
  Last update: 2017-05-18 13:26    [W:0.207 / U:1.340 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site