ARC: ioremap: use more commonly used PAGE_KERNEL based uncached flag
[linux-2.6-microblaze.git] / drivers / crypto / ccree / cc_request_mgr.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (C) 2012-2019 ARM Limited (or its affiliates). */
3
4 /* \file cc_request_mgr.h
5  * Request Manager
6  */
7
8 #ifndef __REQUEST_MGR_H__
9 #define __REQUEST_MGR_H__
10
11 #include "cc_hw_queue_defs.h"
12
13 int cc_req_mgr_init(struct cc_drvdata *drvdata);
14
15 /**
16  * cc_send_request() - Enqueue caller request to crypto hardware.
17  *
18  * @drvdata: Associated device driver context
19  * @cc_req: The request to enqueue
20  * @desc: The crypto sequence
21  * @len: The crypto sequence length
22  * @req: Asynchronous crypto request
23  *
24  * Return:
25  * Returns -EINPROGRESS or error
26  */
27 int cc_send_request(struct cc_drvdata *drvdata, struct cc_crypto_req *cc_req,
28                     struct cc_hw_desc *desc, unsigned int len,
29                     struct crypto_async_request *req);
30
31 int cc_send_sync_request(struct cc_drvdata *drvdata,
32                          struct cc_crypto_req *cc_req, struct cc_hw_desc *desc,
33                          unsigned int len);
34
35 int send_request_init(struct cc_drvdata *drvdata, struct cc_hw_desc *desc,
36                       unsigned int len);
37
38 void complete_request(struct cc_drvdata *drvdata);
39
40 void cc_req_mgr_fini(struct cc_drvdata *drvdata);
41
42 #endif /*__REQUEST_MGR_H__*/