]> git.baikalelectronics.ru Git - kernel.git/commit
crypto: hisilicon/qm - modify event irq processing
authorWeili Qian <qianweili@huawei.com>
Thu, 9 Jun 2022 12:31:19 +0000 (20:31 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 17 Jun 2022 09:19:20 +0000 (17:19 +0800)
commit748c2d6226eb5ce6c0b280875130054e9e23e92e
tree9f43334086c3843bdc67bc3bdb7e90058b8ad1bc
parentbdb5e9b19ff6ad90ca81e3ae01558a9e7efe350f
crypto: hisilicon/qm - modify event irq processing

When the driver receives an event interrupt, the driver will enable
the event interrupt after handling all completed tasks on the function,
tasks on the function are parsed through only one thread. If the task's
user callback takes time, other tasks on the function will be blocked.

Therefore, the event irq processing is modified as follows:
1. Obtain the ID of the queue that completes the task.
2. Enable event interrupt.
3. Parse the completed tasks in the queue and call the user callback.
Enabling event interrupt in advance can quickly report pending event
interrupts and process tasks in multiple threads.

Signed-off-by: Weili Qian <qianweili@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/hisilicon/qm.c
include/linux/hisi_acc_qm.h