Commit 8fc67b18 authored by Kate Hsuan's avatar Kate Hsuan Committed by Mauro Carvalho Chehab

media: atomisp: Make two individual enum to define the MIPI format

The original mipi_format_t represents the MIPI format settings for both
atomisp with the same name and the enum member was controlled by #if
defined(ISP2401). However, if we want to make this driver generic, this
enum should be individually defined for them.

Since the format type is redefined, the format setting function
ia_css_isys_set_fmt_type() should be reworked for ISP2400 and ISP2401
called ia_css_isys_2400_set_fmt_type() and ia_css_isys_2401_set_fmt_type()
.

Additionally, the function called is_mipi_format_yuv420() isn't used by any
functions so it can be removed.

Link: https://lore.kernel.org/r/20230713100231.308923-3-hpa@redhat.comSigned-off-by: default avatarKate Hsuan <hpa@redhat.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent b0e59612
...@@ -186,19 +186,6 @@ void receiver_get_state( ...@@ -186,19 +186,6 @@ void receiver_get_state(
_HRT_CSS_RECEIVER_BE_IRQ_CLEAR_REG_IDX); _HRT_CSS_RECEIVER_BE_IRQ_CLEAR_REG_IDX);
} }
bool is_mipi_format_yuv420(
const mipi_format_t mipi_format)
{
bool is_yuv420 = (
(mipi_format == MIPI_FORMAT_YUV420_8) ||
(mipi_format == MIPI_FORMAT_YUV420_10) ||
(mipi_format == MIPI_FORMAT_YUV420_8_SHIFT) ||
(mipi_format == MIPI_FORMAT_YUV420_10_SHIFT));
/* MIPI_FORMAT_YUV420_8_LEGACY is not YUV420 */
return is_yuv420;
}
void receiver_set_compression( void receiver_set_compression(
const rx_ID_t ID, const rx_ID_t ID,
const unsigned int cfg_ID, const unsigned int cfg_ID,
......
...@@ -168,40 +168,40 @@ typedef struct acquisition_unit_state_s acquisition_unit_state_t; ...@@ -168,40 +168,40 @@ typedef struct acquisition_unit_state_s acquisition_unit_state_t;
typedef struct ctrl_unit_state_s ctrl_unit_state_t; typedef struct ctrl_unit_state_s ctrl_unit_state_t;
typedef enum { typedef enum {
MIPI_FORMAT_RGB888 = 0, MIPI_FORMAT_2400_RGB888 = 0,
MIPI_FORMAT_RGB555, MIPI_FORMAT_2400_RGB555,
MIPI_FORMAT_RGB444, MIPI_FORMAT_2400_RGB444,
MIPI_FORMAT_RGB565, MIPI_FORMAT_2400_RGB565,
MIPI_FORMAT_RGB666, MIPI_FORMAT_2400_RGB666,
MIPI_FORMAT_RAW8, /* 5 */ MIPI_FORMAT_2400_RAW8, /* 5 */
MIPI_FORMAT_RAW10, MIPI_FORMAT_2400_RAW10,
MIPI_FORMAT_RAW6, MIPI_FORMAT_2400_RAW6,
MIPI_FORMAT_RAW7, MIPI_FORMAT_2400_RAW7,
MIPI_FORMAT_RAW12, MIPI_FORMAT_2400_RAW12,
MIPI_FORMAT_RAW14, /* 10 */ MIPI_FORMAT_2400_RAW14, /* 10 */
MIPI_FORMAT_YUV420_8, MIPI_FORMAT_2400_YUV420_8,
MIPI_FORMAT_YUV420_10, MIPI_FORMAT_2400_YUV420_10,
MIPI_FORMAT_YUV422_8, MIPI_FORMAT_2400_YUV422_8,
MIPI_FORMAT_YUV422_10, MIPI_FORMAT_2400_YUV422_10,
MIPI_FORMAT_CUSTOM0, /* 15 */ MIPI_FORMAT_2400_CUSTOM0, /* 15 */
MIPI_FORMAT_YUV420_8_LEGACY, MIPI_FORMAT_2400_YUV420_8_LEGACY,
MIPI_FORMAT_EMBEDDED, MIPI_FORMAT_2400_EMBEDDED,
MIPI_FORMAT_CUSTOM1, MIPI_FORMAT_2400_CUSTOM1,
MIPI_FORMAT_CUSTOM2, MIPI_FORMAT_2400_CUSTOM2,
MIPI_FORMAT_CUSTOM3, /* 20 */ MIPI_FORMAT_2400_CUSTOM3, /* 20 */
MIPI_FORMAT_CUSTOM4, MIPI_FORMAT_2400_CUSTOM4,
MIPI_FORMAT_CUSTOM5, MIPI_FORMAT_2400_CUSTOM5,
MIPI_FORMAT_CUSTOM6, MIPI_FORMAT_2400_CUSTOM6,
MIPI_FORMAT_CUSTOM7, MIPI_FORMAT_2400_CUSTOM7,
MIPI_FORMAT_YUV420_8_SHIFT, /* 25 */ MIPI_FORMAT_2400_YUV420_8_SHIFT, /* 25 */
MIPI_FORMAT_YUV420_10_SHIFT, MIPI_FORMAT_2400_YUV420_10_SHIFT,
MIPI_FORMAT_RAW16, MIPI_FORMAT_2400_RAW16,
MIPI_FORMAT_RAW18, MIPI_FORMAT_2400_RAW18,
N_MIPI_FORMAT, N_MIPI_FORMAT_2400,
} mipi_format_t; } mipi_format_2400_t;
#define MIPI_FORMAT_JPEG MIPI_FORMAT_CUSTOM0 #define MIPI_FORMAT_JPEG MIPI_FORMAT_2400_CUSTOM0
#define MIPI_FORMAT_BINARY_8 MIPI_FORMAT_CUSTOM0 #define MIPI_FORMAT_BINARY_8 MIPI_FORMAT_2400_CUSTOM0
#define N_MIPI_FORMAT_CUSTOM 8 #define N_MIPI_FORMAT_CUSTOM 8
/* The number of stores for compressed format types */ /* The number of stores for compressed format types */
......
...@@ -48,8 +48,6 @@ void receiver_get_state( ...@@ -48,8 +48,6 @@ void receiver_get_state(
\return mipi_format == YUV420 \return mipi_format == YUV420
*/ */
bool is_mipi_format_yuv420(
const mipi_format_t mipi_format);
/*! Set compression parameters for cfg[cfg_ID] of RECEIVER[ID] /*! Set compression parameters for cfg[cfg_ID] of RECEIVER[ID]
......
...@@ -22,45 +22,45 @@ ...@@ -22,45 +22,45 @@
#include "isys_irq.h" #include "isys_irq.h"
typedef enum { typedef enum {
MIPI_FORMAT_SHORT1 = 0x08, MIPI_FORMAT_2401_SHORT1 = 0x08,
MIPI_FORMAT_SHORT2, MIPI_FORMAT_2401_SHORT2,
MIPI_FORMAT_SHORT3, MIPI_FORMAT_2401_SHORT3,
MIPI_FORMAT_SHORT4, MIPI_FORMAT_2401_SHORT4,
MIPI_FORMAT_SHORT5, MIPI_FORMAT_2401_SHORT5,
MIPI_FORMAT_SHORT6, MIPI_FORMAT_2401_SHORT6,
MIPI_FORMAT_SHORT7, MIPI_FORMAT_2401_SHORT7,
MIPI_FORMAT_SHORT8, MIPI_FORMAT_2401_SHORT8,
MIPI_FORMAT_EMBEDDED = 0x12, MIPI_FORMAT_2401_EMBEDDED = 0x12,
MIPI_FORMAT_YUV420_8 = 0x18, MIPI_FORMAT_2401_YUV420_8 = 0x18,
MIPI_FORMAT_YUV420_10, MIPI_FORMAT_2401_YUV420_10,
MIPI_FORMAT_YUV420_8_LEGACY, MIPI_FORMAT_2401_YUV420_8_LEGACY,
MIPI_FORMAT_YUV420_8_SHIFT = 0x1C, MIPI_FORMAT_2401_YUV420_8_SHIFT = 0x1C,
MIPI_FORMAT_YUV420_10_SHIFT, MIPI_FORMAT_2401_YUV420_10_SHIFT,
MIPI_FORMAT_YUV422_8 = 0x1E, MIPI_FORMAT_2401_YUV422_8 = 0x1E,
MIPI_FORMAT_YUV422_10, MIPI_FORMAT_2401_YUV422_10,
MIPI_FORMAT_RGB444 = 0x20, MIPI_FORMAT_2401_RGB444 = 0x20,
MIPI_FORMAT_RGB555, MIPI_FORMAT_2401_RGB555,
MIPI_FORMAT_RGB565, MIPI_FORMAT_2401_RGB565,
MIPI_FORMAT_RGB666, MIPI_FORMAT_2401_RGB666,
MIPI_FORMAT_RGB888, MIPI_FORMAT_2401_RGB888,
MIPI_FORMAT_RAW6 = 0x28, MIPI_FORMAT_2401_RAW6 = 0x28,
MIPI_FORMAT_RAW7, MIPI_FORMAT_2401_RAW7,
MIPI_FORMAT_RAW8, MIPI_FORMAT_2401_RAW8,
MIPI_FORMAT_RAW10, MIPI_FORMAT_2401_RAW10,
MIPI_FORMAT_RAW12, MIPI_FORMAT_2401_RAW12,
MIPI_FORMAT_RAW14, MIPI_FORMAT_2401_RAW14,
MIPI_FORMAT_CUSTOM0 = 0x30, MIPI_FORMAT_2401_CUSTOM0 = 0x30,
MIPI_FORMAT_CUSTOM1, MIPI_FORMAT_2401_CUSTOM1,
MIPI_FORMAT_CUSTOM2, MIPI_FORMAT_2401_CUSTOM2,
MIPI_FORMAT_CUSTOM3, MIPI_FORMAT_2401_CUSTOM3,
MIPI_FORMAT_CUSTOM4, MIPI_FORMAT_2401_CUSTOM4,
MIPI_FORMAT_CUSTOM5, MIPI_FORMAT_2401_CUSTOM5,
MIPI_FORMAT_CUSTOM6, MIPI_FORMAT_2401_CUSTOM6,
MIPI_FORMAT_CUSTOM7, MIPI_FORMAT_2401_CUSTOM7,
//MIPI_FORMAT_RAW16, /*not supported by 2401*/ //MIPI_FORMAT_RAW16, /*not supported by 2401*/
//MIPI_FORMAT_RAW18, //MIPI_FORMAT_RAW18,
N_MIPI_FORMAT N_MIPI_FORMAT_2401
} mipi_format_t; } mipi_format_2401_t;
#define N_MIPI_FORMAT_CUSTOM 8 #define N_MIPI_FORMAT_CUSTOM 8
......
...@@ -211,142 +211,160 @@ void ia_css_isys_rx_clear_irq_info(enum mipi_port_id port, ...@@ -211,142 +211,160 @@ void ia_css_isys_rx_clear_irq_info(enum mipi_port_id port,
} }
#endif /* #if !defined(ISP2401) */ #endif /* #if !defined(ISP2401) */
int ia_css_isys_convert_stream_format_to_mipi_format( #if !defined(ISP2401)
enum atomisp_input_format input_format, static int ia_css_isys_2400_set_fmt_type(enum atomisp_input_format input_format,
mipi_predictor_t compression, unsigned int *fmt_type)
unsigned int *fmt_type)
{ {
assert(fmt_type);
/*
* Custom (user defined) modes. Used for compressed
* MIPI transfers
*
* Checkpatch thinks the indent before "if" is suspect
* I think the only suspect part is the missing "else"
* because of the return.
*/
if (compression != MIPI_PREDICTOR_NONE) {
switch (input_format) {
case ATOMISP_INPUT_FORMAT_RAW_6:
*fmt_type = 6;
break;
case ATOMISP_INPUT_FORMAT_RAW_7:
*fmt_type = 7;
break;
case ATOMISP_INPUT_FORMAT_RAW_8:
*fmt_type = 8;
break;
case ATOMISP_INPUT_FORMAT_RAW_10:
*fmt_type = 10;
break;
case ATOMISP_INPUT_FORMAT_RAW_12:
*fmt_type = 12;
break;
case ATOMISP_INPUT_FORMAT_RAW_14:
*fmt_type = 14;
break;
case ATOMISP_INPUT_FORMAT_RAW_16:
*fmt_type = 16;
break;
default:
return -EINVAL;
}
return 0;
}
/*
* This mapping comes from the Arasan CSS function spec
* (CSS_func_spec1.08_ahb_sep29_08.pdf).
*
* MW: For some reason the mapping is not 1-to-1
*/
switch (input_format) { switch (input_format) {
case ATOMISP_INPUT_FORMAT_RGB_888: case ATOMISP_INPUT_FORMAT_RGB_888:
*fmt_type = MIPI_FORMAT_RGB888; *fmt_type = MIPI_FORMAT_2400_RGB888;
break; break;
case ATOMISP_INPUT_FORMAT_RGB_555: case ATOMISP_INPUT_FORMAT_RGB_555:
*fmt_type = MIPI_FORMAT_RGB555; *fmt_type = MIPI_FORMAT_2400_RGB555;
break; break;
case ATOMISP_INPUT_FORMAT_RGB_444: case ATOMISP_INPUT_FORMAT_RGB_444:
*fmt_type = MIPI_FORMAT_RGB444; *fmt_type = MIPI_FORMAT_2400_RGB444;
break; break;
case ATOMISP_INPUT_FORMAT_RGB_565: case ATOMISP_INPUT_FORMAT_RGB_565:
*fmt_type = MIPI_FORMAT_RGB565; *fmt_type = MIPI_FORMAT_2400_RGB565;
break; break;
case ATOMISP_INPUT_FORMAT_RGB_666: case ATOMISP_INPUT_FORMAT_RGB_666:
*fmt_type = MIPI_FORMAT_RGB666; *fmt_type = MIPI_FORMAT_2400_RGB666;
break; break;
case ATOMISP_INPUT_FORMAT_RAW_8: case ATOMISP_INPUT_FORMAT_RAW_8:
*fmt_type = MIPI_FORMAT_RAW8; *fmt_type = MIPI_FORMAT_2400_RAW8;
break; break;
case ATOMISP_INPUT_FORMAT_RAW_10: case ATOMISP_INPUT_FORMAT_RAW_10:
*fmt_type = MIPI_FORMAT_RAW10; *fmt_type = MIPI_FORMAT_2400_RAW10;
break; break;
case ATOMISP_INPUT_FORMAT_RAW_6: case ATOMISP_INPUT_FORMAT_RAW_6:
*fmt_type = MIPI_FORMAT_RAW6; *fmt_type = MIPI_FORMAT_2400_RAW6;
break; break;
case ATOMISP_INPUT_FORMAT_RAW_7: case ATOMISP_INPUT_FORMAT_RAW_7:
*fmt_type = MIPI_FORMAT_RAW7; *fmt_type = MIPI_FORMAT_2400_RAW7;
break; break;
case ATOMISP_INPUT_FORMAT_RAW_12: case ATOMISP_INPUT_FORMAT_RAW_12:
*fmt_type = MIPI_FORMAT_RAW12; *fmt_type = MIPI_FORMAT_2400_RAW12;
break; break;
case ATOMISP_INPUT_FORMAT_RAW_14: case ATOMISP_INPUT_FORMAT_RAW_14:
*fmt_type = MIPI_FORMAT_RAW14; *fmt_type = MIPI_FORMAT_2400_RAW14;
break; break;
case ATOMISP_INPUT_FORMAT_YUV420_8: case ATOMISP_INPUT_FORMAT_YUV420_8:
*fmt_type = MIPI_FORMAT_YUV420_8; *fmt_type = MIPI_FORMAT_2400_YUV420_8;
break; break;
case ATOMISP_INPUT_FORMAT_YUV420_10: case ATOMISP_INPUT_FORMAT_YUV420_10:
*fmt_type = MIPI_FORMAT_YUV420_10; *fmt_type = MIPI_FORMAT_2400_YUV420_10;
break; break;
case ATOMISP_INPUT_FORMAT_YUV422_8: case ATOMISP_INPUT_FORMAT_YUV422_8:
*fmt_type = MIPI_FORMAT_YUV422_8; *fmt_type = MIPI_FORMAT_2400_YUV422_8;
break; break;
case ATOMISP_INPUT_FORMAT_YUV422_10: case ATOMISP_INPUT_FORMAT_YUV422_10:
*fmt_type = MIPI_FORMAT_YUV422_10; *fmt_type = MIPI_FORMAT_2400_YUV422_10;
break; break;
case ATOMISP_INPUT_FORMAT_YUV420_8_LEGACY: case ATOMISP_INPUT_FORMAT_YUV420_8_LEGACY:
*fmt_type = MIPI_FORMAT_YUV420_8_LEGACY; *fmt_type = MIPI_FORMAT_2400_YUV420_8_LEGACY;
break; break;
case ATOMISP_INPUT_FORMAT_EMBEDDED: case ATOMISP_INPUT_FORMAT_EMBEDDED:
*fmt_type = MIPI_FORMAT_EMBEDDED; *fmt_type = MIPI_FORMAT_2400_EMBEDDED;
break; break;
#ifndef ISP2401
case ATOMISP_INPUT_FORMAT_RAW_16: case ATOMISP_INPUT_FORMAT_RAW_16:
/* This is not specified by Arasan, so we use /* This is not specified by Arasan, so we use
* 17 for now. * 17 for now.
*/ */
*fmt_type = MIPI_FORMAT_RAW16; *fmt_type = MIPI_FORMAT_2400_RAW16;
break; break;
case ATOMISP_INPUT_FORMAT_BINARY_8: case ATOMISP_INPUT_FORMAT_BINARY_8:
*fmt_type = MIPI_FORMAT_BINARY_8; *fmt_type = MIPI_FORMAT_BINARY_8;
break; break;
#else case ATOMISP_INPUT_FORMAT_YUV420_16:
case ATOMISP_INPUT_FORMAT_YUV422_16:
default:
return -EINVAL;
}
return 0;
}
#endif /* #ifndef ISP2401 */
#if defined(ISP2401)
static int ia_css_isys_2401_set_fmt_type(enum atomisp_input_format input_format,
unsigned int *fmt_type)
{
switch (input_format) {
case ATOMISP_INPUT_FORMAT_RGB_888:
*fmt_type = MIPI_FORMAT_2401_RGB888;
break;
case ATOMISP_INPUT_FORMAT_RGB_555:
*fmt_type = MIPI_FORMAT_2401_RGB555;
break;
case ATOMISP_INPUT_FORMAT_RGB_444:
*fmt_type = MIPI_FORMAT_2401_RGB444;
break;
case ATOMISP_INPUT_FORMAT_RGB_565:
*fmt_type = MIPI_FORMAT_2401_RGB565;
break;
case ATOMISP_INPUT_FORMAT_RGB_666:
*fmt_type = MIPI_FORMAT_2401_RGB666;
break;
case ATOMISP_INPUT_FORMAT_RAW_8:
*fmt_type = MIPI_FORMAT_2401_RAW8;
break;
case ATOMISP_INPUT_FORMAT_RAW_10:
*fmt_type = MIPI_FORMAT_2401_RAW10;
break;
case ATOMISP_INPUT_FORMAT_RAW_6:
*fmt_type = MIPI_FORMAT_2401_RAW6;
break;
case ATOMISP_INPUT_FORMAT_RAW_7:
*fmt_type = MIPI_FORMAT_2401_RAW7;
break;
case ATOMISP_INPUT_FORMAT_RAW_12:
*fmt_type = MIPI_FORMAT_2401_RAW12;
break;
case ATOMISP_INPUT_FORMAT_RAW_14:
*fmt_type = MIPI_FORMAT_2401_RAW14;
break;
case ATOMISP_INPUT_FORMAT_YUV420_8:
*fmt_type = MIPI_FORMAT_2401_YUV420_8;
break;
case ATOMISP_INPUT_FORMAT_YUV420_10:
*fmt_type = MIPI_FORMAT_2401_YUV420_10;
break;
case ATOMISP_INPUT_FORMAT_YUV422_8:
*fmt_type = MIPI_FORMAT_2401_YUV422_8;
break;
case ATOMISP_INPUT_FORMAT_YUV422_10:
*fmt_type = MIPI_FORMAT_2401_YUV422_10;
break;
case ATOMISP_INPUT_FORMAT_YUV420_8_LEGACY:
*fmt_type = MIPI_FORMAT_2401_YUV420_8_LEGACY;
break;
case ATOMISP_INPUT_FORMAT_EMBEDDED:
*fmt_type = MIPI_FORMAT_2401_EMBEDDED;
break;
case ATOMISP_INPUT_FORMAT_USER_DEF1: case ATOMISP_INPUT_FORMAT_USER_DEF1:
*fmt_type = MIPI_FORMAT_CUSTOM0; *fmt_type = MIPI_FORMAT_2401_CUSTOM0;
break; break;
case ATOMISP_INPUT_FORMAT_USER_DEF2: case ATOMISP_INPUT_FORMAT_USER_DEF2:
*fmt_type = MIPI_FORMAT_CUSTOM1; *fmt_type = MIPI_FORMAT_2401_CUSTOM1;
break; break;
case ATOMISP_INPUT_FORMAT_USER_DEF3: case ATOMISP_INPUT_FORMAT_USER_DEF3:
*fmt_type = MIPI_FORMAT_CUSTOM2; *fmt_type = MIPI_FORMAT_2401_CUSTOM2;
break; break;
case ATOMISP_INPUT_FORMAT_USER_DEF4: case ATOMISP_INPUT_FORMAT_USER_DEF4:
*fmt_type = MIPI_FORMAT_CUSTOM3; *fmt_type = MIPI_FORMAT_2401_CUSTOM3;
break; break;
case ATOMISP_INPUT_FORMAT_USER_DEF5: case ATOMISP_INPUT_FORMAT_USER_DEF5:
*fmt_type = MIPI_FORMAT_CUSTOM4; *fmt_type = MIPI_FORMAT_2401_CUSTOM4;
break; break;
case ATOMISP_INPUT_FORMAT_USER_DEF6: case ATOMISP_INPUT_FORMAT_USER_DEF6:
*fmt_type = MIPI_FORMAT_CUSTOM5; *fmt_type = MIPI_FORMAT_2401_CUSTOM5;
break; break;
case ATOMISP_INPUT_FORMAT_USER_DEF7: case ATOMISP_INPUT_FORMAT_USER_DEF7:
*fmt_type = MIPI_FORMAT_CUSTOM6; *fmt_type = MIPI_FORMAT_2401_CUSTOM6;
break; break;
case ATOMISP_INPUT_FORMAT_USER_DEF8: case ATOMISP_INPUT_FORMAT_USER_DEF8:
*fmt_type = MIPI_FORMAT_CUSTOM7; *fmt_type = MIPI_FORMAT_2401_CUSTOM7;
break; break;
#endif
case ATOMISP_INPUT_FORMAT_YUV420_16: case ATOMISP_INPUT_FORMAT_YUV420_16:
case ATOMISP_INPUT_FORMAT_YUV422_16: case ATOMISP_INPUT_FORMAT_YUV422_16:
...@@ -355,6 +373,62 @@ int ia_css_isys_convert_stream_format_to_mipi_format( ...@@ -355,6 +373,62 @@ int ia_css_isys_convert_stream_format_to_mipi_format(
} }
return 0; return 0;
} }
#endif /* #ifdef ISP2401 */
int ia_css_isys_convert_stream_format_to_mipi_format(
enum atomisp_input_format input_format,
mipi_predictor_t compression,
unsigned int *fmt_type)
{
assert(fmt_type);
/*
* Custom (user defined) modes. Used for compressed
* MIPI transfers
*
* Checkpatch thinks the indent before "if" is suspect
* I think the only suspect part is the missing "else"
* because of the return.
*/
if (compression != MIPI_PREDICTOR_NONE) {
switch (input_format) {
case ATOMISP_INPUT_FORMAT_RAW_6:
*fmt_type = 6;
break;
case ATOMISP_INPUT_FORMAT_RAW_7:
*fmt_type = 7;
break;
case ATOMISP_INPUT_FORMAT_RAW_8:
*fmt_type = 8;
break;
case ATOMISP_INPUT_FORMAT_RAW_10:
*fmt_type = 10;
break;
case ATOMISP_INPUT_FORMAT_RAW_12:
*fmt_type = 12;
break;
case ATOMISP_INPUT_FORMAT_RAW_14:
*fmt_type = 14;
break;
case ATOMISP_INPUT_FORMAT_RAW_16:
*fmt_type = 16;
break;
default:
return -EINVAL;
}
return 0;
}
/*
* This mapping comes from the Arasan CSS function spec
* (CSS_func_spec1.08_ahb_sep29_08.pdf).
*
* MW: For some reason the mapping is not 1-to-1
*/
#if defined(ISP2401)
return ia_css_isys_2401_set_fmt_type(input_format, fmt_type);
#else
return ia_css_isys_2400_set_fmt_type(input_format, fmt_type);
#endif
}
#if defined(ISP2401) #if defined(ISP2401)
static mipi_predictor_t sh_css_csi2_compression_type_2_mipi_predictor( static mipi_predictor_t sh_css_csi2_compression_type_2_mipi_predictor(
......
...@@ -689,7 +689,7 @@ static bool calculate_be_cfg( ...@@ -689,7 +689,7 @@ static bool calculate_be_cfg(
cfg->csi_mipi_cfg.comp_scheme = isys_cfg->csi_port_attr.comp_scheme; cfg->csi_mipi_cfg.comp_scheme = isys_cfg->csi_port_attr.comp_scheme;
cfg->csi_mipi_cfg.comp_predictor = isys_cfg->csi_port_attr.comp_predictor; cfg->csi_mipi_cfg.comp_predictor = isys_cfg->csi_port_attr.comp_predictor;
cfg->csi_mipi_cfg.comp_bit_idx = cfg->csi_mipi_cfg.data_type - cfg->csi_mipi_cfg.comp_bit_idx = cfg->csi_mipi_cfg.data_type -
MIPI_FORMAT_CUSTOM0; MIPI_FORMAT_2401_CUSTOM0;
} }
return true; return true;
...@@ -856,10 +856,10 @@ static csi_mipi_packet_type_t get_csi_mipi_packet_type( ...@@ -856,10 +856,10 @@ static csi_mipi_packet_type_t get_csi_mipi_packet_type(
packet_type = CSI_MIPI_PACKET_TYPE_RESERVED; packet_type = CSI_MIPI_PACKET_TYPE_RESERVED;
if (data_type >= 0 && data_type <= MIPI_FORMAT_SHORT8) if (data_type >= 0 && data_type <= MIPI_FORMAT_2401_SHORT8)
packet_type = CSI_MIPI_PACKET_TYPE_SHORT; packet_type = CSI_MIPI_PACKET_TYPE_SHORT;
if (data_type > MIPI_FORMAT_SHORT8 && data_type <= N_MIPI_FORMAT) if (data_type > MIPI_FORMAT_2401_SHORT8 && data_type <= N_MIPI_FORMAT_2401)
packet_type = CSI_MIPI_PACKET_TYPE_LONG; packet_type = CSI_MIPI_PACKET_TYPE_LONG;
return packet_type; return packet_type;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment