cc_request_mgr.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /* Copyright (C) 2012-2019 ARM Limited (or its affiliates). */
  3. /* \file cc_request_mgr.h
  4. * Request Manager
  5. */
  6. #ifndef __REQUEST_MGR_H__
  7. #define __REQUEST_MGR_H__
  8. #include "cc_hw_queue_defs.h"
  9. int cc_req_mgr_init(struct cc_drvdata *drvdata);
  10. /**
  11. * cc_send_request() - Enqueue caller request to crypto hardware.
  12. *
  13. * @drvdata: Associated device driver context
  14. * @cc_req: The request to enqueue
  15. * @desc: The crypto sequence
  16. * @len: The crypto sequence length
  17. * @req: Asynchronous crypto request
  18. *
  19. * Return:
  20. * Returns -EINPROGRESS or error
  21. */
  22. int cc_send_request(struct cc_drvdata *drvdata, struct cc_crypto_req *cc_req,
  23. struct cc_hw_desc *desc, unsigned int len,
  24. struct crypto_async_request *req);
  25. int cc_send_sync_request(struct cc_drvdata *drvdata,
  26. struct cc_crypto_req *cc_req, struct cc_hw_desc *desc,
  27. unsigned int len);
  28. int send_request_init(struct cc_drvdata *drvdata, struct cc_hw_desc *desc,
  29. unsigned int len);
  30. void complete_request(struct cc_drvdata *drvdata);
  31. void cc_req_mgr_fini(struct cc_drvdata *drvdata);
  32. #endif /*__REQUEST_MGR_H__*/