18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* Copyright (C) 2012-2019 ARM Limited (or its affiliates). */ 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci/* \file cc_request_mgr.h 58c2ecf20Sopenharmony_ci * Request Manager 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#ifndef __REQUEST_MGR_H__ 98c2ecf20Sopenharmony_ci#define __REQUEST_MGR_H__ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include "cc_hw_queue_defs.h" 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciint cc_req_mgr_init(struct cc_drvdata *drvdata); 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci/** 168c2ecf20Sopenharmony_ci * cc_send_request() - Enqueue caller request to crypto hardware. 178c2ecf20Sopenharmony_ci * 188c2ecf20Sopenharmony_ci * @drvdata: Associated device driver context 198c2ecf20Sopenharmony_ci * @cc_req: The request to enqueue 208c2ecf20Sopenharmony_ci * @desc: The crypto sequence 218c2ecf20Sopenharmony_ci * @len: The crypto sequence length 228c2ecf20Sopenharmony_ci * @req: Asynchronous crypto request 238c2ecf20Sopenharmony_ci * 248c2ecf20Sopenharmony_ci * Return: 258c2ecf20Sopenharmony_ci * Returns -EINPROGRESS or error 268c2ecf20Sopenharmony_ci */ 278c2ecf20Sopenharmony_ciint cc_send_request(struct cc_drvdata *drvdata, struct cc_crypto_req *cc_req, 288c2ecf20Sopenharmony_ci struct cc_hw_desc *desc, unsigned int len, 298c2ecf20Sopenharmony_ci struct crypto_async_request *req); 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ciint cc_send_sync_request(struct cc_drvdata *drvdata, 328c2ecf20Sopenharmony_ci struct cc_crypto_req *cc_req, struct cc_hw_desc *desc, 338c2ecf20Sopenharmony_ci unsigned int len); 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciint send_request_init(struct cc_drvdata *drvdata, struct cc_hw_desc *desc, 368c2ecf20Sopenharmony_ci unsigned int len); 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_civoid complete_request(struct cc_drvdata *drvdata); 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_civoid cc_req_mgr_fini(struct cc_drvdata *drvdata); 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci#endif /*__REQUEST_MGR_H__*/ 43