Files
android_kernel_samsung_sm86…/drivers/cam_jpeg/cam_jpeg_context.h
Jigar Agrawal e8f91ce471 msm: camera: jpeg: Add Support for JPEG retry mechanism
Add support for JPEG Thumbnail retry mechanism. Restructure
the command buffer arrangement, add JPEG generic blob functionality
and add support to notify user when the JPEG Thumbnail encoder
size increases than the threshold size received through blob.

CRs-Fixed: 2999106
Change-Id: Ica74f934939b562a3a88af551bfb5de79399e247
Signed-off-by: Jigar Agrawal <jigar@codeaurora.org>
2021-08-12 18:14:36 -07:00

70 řádky
1.7 KiB
C

/* 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
*
*/
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);
/**
* 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__ */