Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 59 additions & 23 deletions drivers/media/pci/intel/ipu7/abi/ipu7_fw_isys_abi.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,15 @@ enum ipu7_insys_frame_format_type {
IPU_INSYS_FRAME_FORMAT_ARGB888 = 31,
IPU_INSYS_FRAME_FORMAT_BGRA888 = 32,
IPU_INSYS_FRAME_FORMAT_ABGR888 = 33,
IPU_INSYS_FRAME_FORMAT_RGB888 = 34,
IPU_INSYS_FRAME_FORMAT_YUV420_LEGACY = 35,
IPU_INSYS_FRAME_FORMAT_RAW6 = 36,
IPU_INSYS_FRAME_FORMAT_RAW7 = 37,
IPU_INSYS_FRAME_FORMAT_RGB444 = 38,
IPU_INSYS_FRAME_FORMAT_RGB666 = 39,
IPU_INSYS_FRAME_FORMAT_RAW20 = 40,
IPU_INSYS_FRAME_FORMAT_P010 = 41,
IPU_INSYS_FRAME_FORMAT_RGB555 = 42,
N_IPU_INSYS_FRAME_FORMAT
};

Expand Down Expand Up @@ -251,13 +260,16 @@ struct ipu7_insys_output_link {
u8 pad[2];
};

struct ipu7_insys_output_cropping_v1 {
u16 line_top;
u16 line_bottom;
};

struct ipu7_insys_output_cropping {
u16 line_top;
u16 line_bottom;
#ifdef IPU8_INSYS_NEW_ABI
u16 column_left;
u16 column_right;
#endif
};

struct ipu7_insys_output_dpcm {
Expand All @@ -267,7 +279,6 @@ struct ipu7_insys_output_dpcm {
u8 pad;
};

#ifdef IPU8_INSYS_NEW_ABI
enum ipu_insys_cfa_dim {
IPU_INSYS_CFA_DIM_2x2 = 0,
IPU_INSYS_CFA_DIM_4x4 = 1,
Expand All @@ -294,28 +305,31 @@ struct ipu7_insys_capture_output_pin_cfg {
ia_gofo_addr_t upipe_capture_cfg;
};

#endif
struct ipu7_insys_output_pin_v1 {
struct ipu7_insys_output_link link;
struct ipu7_insys_output_cropping_v1 crop;
struct ipu7_insys_output_dpcm dpcm;
u32 stride;
u16 ft;
u8 send_irq;
u8 input_pin_id;
u8 early_ack_en;
u8 pad[3];
};

struct ipu7_insys_output_pin {
struct ipu7_insys_output_link link;
struct ipu7_insys_output_cropping crop;
struct ipu7_insys_output_dpcm dpcm;
#ifdef IPU8_INSYS_NEW_ABI
struct ipu7_insys_upipe_output_pin upipe_pin_cfg;
#endif
u32 stride;
u16 ft;
#ifdef IPU8_INSYS_NEW_ABI
u8 upipe_enable;
#endif
u8 send_irq;
u8 input_pin_id;
u8 early_ack_en;
#ifdef IPU8_INSYS_NEW_ABI
u8 cfa_dim;
u8 binning_factor;
#else
u8 pad[3];
#endif
};

struct ipu7_insys_input_pin {
Expand All @@ -328,6 +342,17 @@ struct ipu7_insys_input_pin {
u8 pad[2];
};

struct ipu7_insys_stream_cfg_v1 {
struct ipu7_insys_input_pin input_pins[4];
struct ipu7_insys_output_pin_v1 output_pins[4];
u16 stream_msg_map;
u8 port_id;
u8 vc;
u8 nof_input_pins;
u8 nof_output_pins;
u8 pad[2];
};

struct ipu7_insys_stream_cfg {
struct ipu7_insys_input_pin input_pins[4];
struct ipu7_insys_output_pin output_pins[4];
Expand All @@ -339,35 +364,48 @@ struct ipu7_insys_stream_cfg {
u8 pad[2];
};

struct ipu7_insys_buffset_v1 {
struct ipu7_insys_capture_output_pin_payload output_pins[4];
u8 capture_msg_map;
u8 frame_id;
u8 skip_frame;
u8 pad[5];
};

struct ipu7_insys_buffset {
#ifdef IPU8_INSYS_NEW_ABI
struct ipu7_insys_capture_output_pin_cfg output_pins[4];
#else
struct ipu7_insys_capture_output_pin_payload output_pins[4];
#endif
u8 capture_msg_map;
u8 frame_id;
u8 skip_frame;
u8 pad[5];
};

struct ipu7_insys_resp {
struct ipu7_insys_resp_v1 {
u64 buf_id;
struct ipu7_insys_capture_output_pin_payload pin;
struct ia_gofo_msg_err error_info;
u32 timestamp[2];
#ifdef IPU8_INSYS_NEW_ABI
u8 type;
u8 msg_link_streaming_mode;
u8 stream_id;
u8 pin_id;
u8 frame_id;
u8 skip_frame;
u16 mipi_fn;
#endif
};

struct ipu7_insys_resp {
u64 buf_id;
struct ipu7_insys_capture_output_pin_payload pin;
struct ia_gofo_msg_err error_info;
u32 timestamp[2];
u8 type;
u8 msg_link_streaming_mode;
u8 stream_id;
u8 pin_id;
u8 frame_id;
u8 skip_frame;
#ifndef IPU8_INSYS_NEW_ABI
u16 mipi_fn;
#endif
};

struct ipu7_insys_resp_queue_token {
Expand Down Expand Up @@ -424,14 +462,12 @@ enum insys_msg_err_stream {
INSYS_MSG_ERR_STREAM_INSUFFICIENT_RESOURCES_OUTPUT = 36,
INSYS_MSG_ERR_STREAM_WIDTH_OUTPUT_SIZE = 37,
INSYS_MSG_ERR_STREAM_CLOSED = 38,
#ifdef IPU8_INSYS_NEW_ABI
INSYS_MSG_ERR_STREAM_BINNING_FACTOR_NOT_SUPPORTED = 39,
INSYS_MSG_ERR_STREAM_CFA_DIM_NOT_SUPPORTED = 40,
INSYS_MSG_ERR_STREAM_INVALID_UPIPE_ENABLE = 41,
INSYS_MSG_ERR_STREAM_INVALID_UPIPE_UOB_SINGLE = 42,
INSYS_MSG_ERR_STREAM_INVALID_UPIPE_UOB_SHARED = 43,
INSYS_MSG_ERR_STREAM_INVALID_UPIPE_OPAQUE_PIN_CFG = 44,
#endif
INSYS_MSG_ERR_STREAM_N
};

Expand Down
Loading
Loading