12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
- */
- #ifndef _CAM_ICP_CONTEXT_H_
- #define _CAM_ICP_CONTEXT_H_
- #include "cam_context.h"
- /**
- * struct cam_icp_context - icp context
- * @base: icp context object
- * @state_machine: state machine for ICP context
- * @req_base: common request structure
- * @state: icp context state
- * @ctxt_to_hw_map: context to FW handle mapping
- */
- struct cam_icp_context {
- struct cam_context *base;
- struct cam_ctx_ops *state_machine;
- struct cam_ctx_request req_base[CAM_CTX_ICP_REQ_MAX];
- uint32_t state;
- void *ctxt_to_hw_map;
- };
- /**
- * cam_icp_context_init() - ICP context init
- * @ctx: Pointer to context
- * @hw_intf: Pointer to ICP hardware interface
- * @ctx_id: ID for this context
- * @img_iommu_hdl: IOMMU HDL for image buffers
- * @icp_dev_name: name of the icp subdevice
- */
- int cam_icp_context_init(struct cam_icp_context *ctx,
- struct cam_hw_mgr_intf *hw_intf, uint32_t ctx_id,
- int img_iommu_hdl, const char *icp_dev_name);
- /**
- * cam_icp_context_deinit() - ICP context deinit
- * @ctx: Pointer to context
- */
- int cam_icp_context_deinit(struct cam_icp_context *ctx);
- #endif /* _CAM_ICP_CONTEXT_H_ */
|