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__*/ |
43 | |