1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright (c) 2017-2018, 2021, The Linux Foundation. All rights reserved.
- */
- #ifndef _CAM_JPEG_CONTEXT_H_
- #define _CAM_JPEG_CONTEXT_H_
- #include <media/cam_jpeg.h>
- #include "cam_context.h"
- #include "cam_jpeg_hw_mgr_intf.h"
- #define CAM_JPEG_HW_EVENT_MAX 20
- /**
- * struct cam_jpeg_context - Jpeg context
- * @base : Base jpeg cam context object
- * @jpeg_req : Jpeg reguest data stored during prepare update
- * @req_base : Common request structure
- */
- struct cam_jpeg_context {
- struct cam_context *base;
- struct cam_jpeg_request_data jpeg_req[CAM_CTX_REQ_MAX];
- struct cam_ctx_request req_base[CAM_CTX_REQ_MAX];
- };
- /* cam jpeg context irq handling function type */
- typedef int (*cam_jpeg_hw_event_cb_func)(
- struct cam_jpeg_context *ctx_jpeg,
- void *evt_data);
- /**
- * struct cam_jpeg_ctx_irq_ops - Function table for handling IRQ callbacks
- *
- * @irq_ops: Array of handle function pointers.
- *
- */
- struct cam_jpeg_ctx_irq_ops {
- cam_jpeg_hw_event_cb_func irq_ops[CAM_JPEG_HW_EVENT_MAX];
- };
- /**
- * cam_jpeg_context_init()
- *
- * @brief: Initialization function for the JPEG context
- *
- * @ctx: JPEG context obj to be initialized
- * @ctx_base: Context base from cam_context
- * @hw_intf: JPEG hw manager interface
- * @ctx_id: ID for this context
- * @img_iommu_hdl: IOMMU HDL for image buffers
- *
- */
- int cam_jpeg_context_init(struct cam_jpeg_context *ctx,
- struct cam_context *ctx_base,
- struct cam_hw_mgr_intf *hw_intf,
- uint32_t ctx_id,
- int img_iommu_hdl);
- /**
- * cam_jpeg_context_deinit()
- *
- * @brief: Deinitialize function for the JPEG context
- *
- * @ctx: JPEG context obj to be deinitialized
- *
- */
- int cam_jpeg_context_deinit(struct cam_jpeg_context *ctx);
- #endif /* __CAM_JPEG_CONTEXT_H__ */
|