49 lines
2.2 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (c) 2020 Rockchip Electronics Co., Ltd. */
#ifndef _RKISP_CAPTURE_V2X_H
#define _RKISP_CAPTURE_V2X_H
struct rkisp_stream;
struct rkisp_dummy_buffer *hdr_dqbuf(struct list_head *q);
void hdr_qbuf(struct list_head *q, struct rkisp_dummy_buffer *buf);
int hdr_config_dmatx(struct rkisp_device *dev);
int hdr_update_dmatx_buf(struct rkisp_device *dev);
void hdr_stop_dmatx(struct rkisp_device *dev);
void hdr_destroy_buf(struct rkisp_device *dev);
void rkisp_config_dmatx_valid_buf(struct rkisp_device *dev);
#if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V20)
int rkisp_register_stream_v20(struct rkisp_device *dev);
void rkisp_unregister_stream_v20(struct rkisp_device *dev);
void rkisp_mi_v20_isr(u32 mis_val, struct rkisp_device *dev);
void rkisp_mipi_v20_isr(u32 phy, u32 packet, u32 overflow, u32 state, struct rkisp_device *dev);
void rkisp_spbuf_queue(struct rkisp_stream *stream, struct rkisp_buffer *sp_buf);
int rkisp_start_spstream(struct rkisp_stream *stream);
void rkisp_stop_spstream(struct rkisp_stream *stream);
void rkisp_update_spstream_buf(struct rkisp_stream *stream);
#else
static inline int rkisp_register_stream_v20(struct rkisp_device *dev) { return -EINVAL; }
static inline void rkisp_unregister_stream_v20(struct rkisp_device *dev) {}
static inline void rkisp_mi_v20_isr(u32 mis_val, struct rkisp_device *dev) {}
static inline void rkisp_mipi_v20_isr(u32 phy, u32 packet, u32 overflow, u32 state, struct rkisp_device *dev) {}
static inline void rkisp_update_spstream_buf(struct rkisp_stream *stream) {}
#endif
#if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V21)
int rkisp_register_stream_v21(struct rkisp_device *dev);
void rkisp_unregister_stream_v21(struct rkisp_device *dev);
void rkisp_mi_v21_isr(u32 mis_val, struct rkisp_device *dev);
void rkisp_mipi_v21_isr(u32 phy, u32 packet, u32 overflow, u32 state, struct rkisp_device *dev);
#else
static inline int rkisp_register_stream_v21(struct rkisp_device *dev) { return -EINVAL; }
static inline void rkisp_unregister_stream_v21(struct rkisp_device *dev) {}
static inline void rkisp_mi_v21_isr(u32 mis_val, struct rkisp_device *dev) {}
static inline void rkisp_mipi_v21_isr(u32 phy, u32 packet, u32 overflow, u32 state, struct rkisp_device *dev) {}
#endif
#endif