smci_qseecomcompat.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* SPDX-License-Identifier: GPL-2.0-only
  2. *
  3. * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
  4. */
  5. #ifndef __SMCI_QSEECOMCOMPAT_H
  6. #define __SMCI_QSEECOMCOMPAT_H
  7. #include "smci_object.h"
  8. #include "IQSEEComCompat.h"
  9. #define SMCI_QSEECOMCOMPAT_ERROR_APP_UNAVAILABLE INT32_C(10)
  10. #define SMCI_QSEECOMCOMPAT_OP_SENDREQUEST 0
  11. #define SMCI_QSEECOMCOMPAT_OP_DISCONNECT 1
  12. #define SMCI_QSEECOMCOMPAT_OP_UNLOAD 2
  13. static inline int32_t
  14. smci_qseecomcompat_release(struct smci_object self)
  15. {
  16. return IQSEEComCompat_release(self);
  17. }
  18. static inline int32_t
  19. smci_qseecomcompat_retain(struct smci_object self)
  20. {
  21. return IQSEEComCompat_retain(self);
  22. }
  23. static inline int32_t
  24. smci_qseecomcompat_sendrequest(struct smci_object self,
  25. const void *req_in_ptr, size_t req_in_len,
  26. const void *rsp_in_ptr, size_t rsp_in_len,
  27. void *req_out_ptr, size_t req_out_len, size_t *req_out_lenout,
  28. void *rsp_out_ptr, size_t rsp_out_len, size_t *rsp_out_lenout,
  29. const uint32_t *embedded_buf_offsets_ptr,
  30. size_t embedded_buf_offsets_len, uint32_t is64_val,
  31. struct smci_object smo1_val, struct smci_object smo2_val,
  32. struct smci_object smo3_val, struct smci_object smo4_val)
  33. {
  34. return IQSEEComCompat_sendRequest(self,
  35. req_in_ptr, req_in_len,
  36. rsp_in_ptr, rsp_in_len,
  37. req_out_ptr, req_out_len, req_out_lenout,
  38. rsp_out_ptr, rsp_out_len, rsp_out_lenout,
  39. embedded_buf_offsets_ptr,
  40. embedded_buf_offsets_len, is64_val,
  41. smo1_val, smo2_val,
  42. smo3_val, smo4_val);
  43. }
  44. static inline int32_t
  45. smci_qseecomcompat_disconnect(struct smci_object self)
  46. {
  47. return IQSEEComCompat_disconnect(self);
  48. }
  49. static inline int32_t
  50. smci_qseecomcompat_unload(struct smci_object self)
  51. {
  52. return IQSEEComCompat_unload(self);
  53. }
  54. #endif /* __SMCI_QSEECOMCOMPAT_H */