Commit 90240017 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

media: atomisp: do some cleanup at irq_local.h

- Get rid of typedefs;
- Get rid of a duplicated enum type with different names for
  ISP2400 and ISP2401;
- adjust indentation on the touched code.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent f2fb029b
...@@ -29,8 +29,7 @@ static inline void irq_wait_for_write_complete( ...@@ -29,8 +29,7 @@ static inline void irq_wait_for_write_complete(
static inline bool any_irq_channel_enabled( static inline bool any_irq_channel_enabled(
const irq_ID_t ID); const irq_ID_t ID);
static inline irq_ID_t virq_get_irq_id( static inline irq_ID_t virq_get_irq_id(const enum virq_id irq_ID,
const virq_id_t irq_ID,
unsigned int *channel_ID); unsigned int *channel_ID);
#ifndef __INLINE_IRQ__ #ifndef __INLINE_IRQ__
...@@ -52,7 +51,7 @@ static unsigned short IRQ_N_ID_OFFSET[N_IRQ_ID + 1] = { ...@@ -52,7 +51,7 @@ static unsigned short IRQ_N_ID_OFFSET[N_IRQ_ID + 1] = {
IRQ_END_OFFSET IRQ_END_OFFSET
}; };
static virq_id_t IRQ_NESTING_ID[N_IRQ_ID] = { static enum virq_id IRQ_NESTING_ID[N_IRQ_ID] = {
N_virq_id, N_virq_id,
virq_ifmt, virq_ifmt,
virq_isys, virq_isys,
...@@ -228,9 +227,8 @@ void irq_raise( ...@@ -228,9 +227,8 @@ void irq_raise(
return; return;
} }
void irq_controller_get_state( void irq_controller_get_state(const irq_ID_t ID,
const irq_ID_t ID, struct irq_controller_state *state)
irq_controller_state_t *state)
{ {
assert(ID < N_IRQ_ID); assert(ID < N_IRQ_ID);
assert(state); assert(state);
...@@ -257,7 +255,7 @@ bool any_virq_signal(void) ...@@ -257,7 +255,7 @@ bool any_virq_signal(void)
} }
void cnd_virq_enable_channel( void cnd_virq_enable_channel(
const virq_id_t irq_ID, const enum virq_id irq_ID,
const bool en) const bool en)
{ {
irq_ID_t i; irq_ID_t i;
...@@ -297,8 +295,8 @@ void virq_clear_all(void) ...@@ -297,8 +295,8 @@ void virq_clear_all(void)
return; return;
} }
enum hrt_isp_css_irq_status virq_get_channel_signals( enum hrt_isp_css_irq_status
virq_info_t *irq_info) virq_get_channel_signals(struct virq_info *irq_info)
{ {
enum hrt_isp_css_irq_status irq_status = hrt_isp_css_irq_status_error; enum hrt_isp_css_irq_status irq_status = hrt_isp_css_irq_status_error;
irq_ID_t ID; irq_ID_t ID;
...@@ -327,8 +325,7 @@ enum hrt_isp_css_irq_status virq_get_channel_signals( ...@@ -327,8 +325,7 @@ enum hrt_isp_css_irq_status virq_get_channel_signals(
return irq_status; return irq_status;
} }
void virq_clear_info( void virq_clear_info(struct virq_info *irq_info)
virq_info_t *irq_info)
{ {
irq_ID_t ID; irq_ID_t ID;
...@@ -341,7 +338,7 @@ void virq_clear_info( ...@@ -341,7 +338,7 @@ void virq_clear_info(
} }
enum hrt_isp_css_irq_status virq_get_channel_id( enum hrt_isp_css_irq_status virq_get_channel_id(
virq_id_t *irq_id) enum virq_id *irq_id)
{ {
unsigned int irq_status = irq_reg_load(IRQ0_ID, unsigned int irq_status = irq_reg_load(IRQ0_ID,
_HRT_IRQ_CONTROLLER_STATUS_REG_IDX); _HRT_IRQ_CONTROLLER_STATUS_REG_IDX);
...@@ -368,7 +365,7 @@ enum hrt_isp_css_irq_status virq_get_channel_id( ...@@ -368,7 +365,7 @@ enum hrt_isp_css_irq_status virq_get_channel_id(
/* Check whether we have an IRQ on one of the nested devices */ /* Check whether we have an IRQ on one of the nested devices */
for (ID = N_IRQ_ID - 1 ; ID > (irq_ID_t)0; ID--) { for (ID = N_IRQ_ID - 1 ; ID > (irq_ID_t)0; ID--) {
if (IRQ_NESTING_ID[ID] == (virq_id_t)idx) { if (IRQ_NESTING_ID[ID] == (enum virq_id)idx) {
break; break;
} }
} }
...@@ -405,7 +402,7 @@ enum hrt_isp_css_irq_status virq_get_channel_id( ...@@ -405,7 +402,7 @@ enum hrt_isp_css_irq_status virq_get_channel_id(
idx += IRQ_N_ID_OFFSET[ID]; idx += IRQ_N_ID_OFFSET[ID];
if (irq_id) if (irq_id)
*irq_id = (virq_id_t)idx; *irq_id = (enum virq_id)idx;
return status; return status;
} }
...@@ -433,7 +430,7 @@ static inline bool any_irq_channel_enabled( ...@@ -433,7 +430,7 @@ static inline bool any_irq_channel_enabled(
} }
static inline irq_ID_t virq_get_irq_id( static inline irq_ID_t virq_get_irq_id(
const virq_id_t irq_ID, const enum virq_id irq_ID,
unsigned int *channel_ID) unsigned int *channel_ID)
{ {
irq_ID_t ID; irq_ID_t ID;
......
...@@ -43,10 +43,7 @@ ...@@ -43,10 +43,7 @@
#define IRQ2_ID_N_CHANNEL HIVE_ISYS_IRQ_NUM_BITS #define IRQ2_ID_N_CHANNEL HIVE_ISYS_IRQ_NUM_BITS
#define IRQ3_ID_N_CHANNEL HIVE_ISEL_IRQ_NUM_IRQS #define IRQ3_ID_N_CHANNEL HIVE_ISEL_IRQ_NUM_IRQS
typedef struct virq_info_s virq_info_t; enum virq_id {
typedef struct irq_controller_state_s irq_controller_state_t;
typedef enum {
virq_gpio_pin_0 = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_GPIO_PIN_0_BIT_ID, virq_gpio_pin_0 = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_GPIO_PIN_0_BIT_ID,
virq_gpio_pin_1 = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_GPIO_PIN_1_BIT_ID, virq_gpio_pin_1 = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_GPIO_PIN_1_BIT_ID,
virq_gpio_pin_2 = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_GPIO_PIN_2_BIT_ID, virq_gpio_pin_2 = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_GPIO_PIN_2_BIT_ID,
...@@ -67,13 +64,7 @@ typedef enum { ...@@ -67,13 +64,7 @@ typedef enum {
virq_sp_stream_mon = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_SP_STREAM_MON_BIT_ID, virq_sp_stream_mon = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_SP_STREAM_MON_BIT_ID,
virq_isp_stream_mon = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_ISP_STREAM_MON_BIT_ID, virq_isp_stream_mon = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_ISP_STREAM_MON_BIT_ID,
virq_mod_stream_mon = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_MOD_STREAM_MON_BIT_ID, virq_mod_stream_mon = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_MOD_STREAM_MON_BIT_ID,
#if defined(IS_ISP_2400_MAMOIADA_SYSTEM)
virq_isp_pmem_error = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_ISP_PMEM_ERROR_BIT_ID, virq_isp_pmem_error = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_ISP_PMEM_ERROR_BIT_ID,
#elif defined(IS_ISP_2401_MAMOIADA_SYSTEM)
virq_isys_2401 = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_ISP_PMEM_ERROR_BIT_ID,
#else
#error "irq_local.h: 2400_SYSTEM must be one of {2400, 2401 }"
#endif
virq_isp_bamem_error = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_ISP_BAMEM_ERROR_BIT_ID, virq_isp_bamem_error = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_ISP_BAMEM_ERROR_BIT_ID,
virq_isp_dmem_error = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_ISP_DMEM_ERROR_BIT_ID, virq_isp_dmem_error = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_ISP_DMEM_ERROR_BIT_ID,
virq_sp_icache_mem_error = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_SP_ICACHE_MEM_ERROR_BIT_ID, virq_sp_icache_mem_error = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_SP_ICACHE_MEM_ERROR_BIT_ID,
...@@ -118,13 +109,13 @@ typedef enum { ...@@ -118,13 +109,13 @@ typedef enum {
virq_isel_eol = IRQ3_ID_OFFSET + HIVE_ISEL_IRQ_SYNC_GEN_EOL_BIT_ID, virq_isel_eol = IRQ3_ID_OFFSET + HIVE_ISEL_IRQ_SYNC_GEN_EOL_BIT_ID,
N_virq_id = IRQ_END_OFFSET N_virq_id = IRQ_END_OFFSET
} virq_id_t; };
struct virq_info_s { struct virq_info {
hrt_data irq_status_reg[N_IRQ_ID]; hrt_data irq_status_reg[N_IRQ_ID];
}; };
struct irq_controller_state_s { struct irq_controller_state {
unsigned int irq_edge; unsigned int irq_edge;
unsigned int irq_mask; unsigned int irq_mask;
unsigned int irq_status; unsigned int irq_status;
......
...@@ -26,9 +26,8 @@ ...@@ -26,9 +26,8 @@
\return none, state = IRQ[ID].state \return none, state = IRQ[ID].state
*/ */
void irq_controller_get_state( void irq_controller_get_state(const irq_ID_t ID,
const irq_ID_t ID, struct irq_controller_state *state);
irq_controller_state_t *state);
/*! Write to a control register of IRQ[ID] /*! Write to a control register of IRQ[ID]
...@@ -137,7 +136,7 @@ bool any_virq_signal(void); ...@@ -137,7 +136,7 @@ bool any_virq_signal(void);
\return none, VIRQ.channel[irq_ID].enable = en \return none, VIRQ.channel[irq_ID].enable = en
*/ */
void cnd_virq_enable_channel( void cnd_virq_enable_channel(
const virq_id_t irq_ID, const enum virq_id irq_ID,
const bool en); const bool en);
/*! Clear the state of all IRQ channels of the virtual super IRQ /*! Clear the state of all IRQ channels of the virtual super IRQ
...@@ -152,8 +151,7 @@ void virq_clear_all(void); ...@@ -152,8 +151,7 @@ void virq_clear_all(void);
\return none \return none
*/ */
void virq_clear_info( void virq_clear_info(struct virq_info *irq_info);
virq_info_t *irq_info);
/*! Return the ID of a signalling IRQ channel of the virtual super IRQ /*! Return the ID of a signalling IRQ channel of the virtual super IRQ
...@@ -166,7 +164,7 @@ void virq_clear_info( ...@@ -166,7 +164,7 @@ void virq_clear_info(
\return state(IRQ[...]) \return state(IRQ[...])
*/ */
enum hrt_isp_css_irq_status virq_get_channel_id( enum hrt_isp_css_irq_status virq_get_channel_id(
virq_id_t *irq_id); enum virq_id *irq_id);
/*! Return the IDs of all signaling IRQ channels of the virtual super IRQ /*! Return the IDs of all signaling IRQ channels of the virtual super IRQ
...@@ -179,7 +177,7 @@ enum hrt_isp_css_irq_status virq_get_channel_id( ...@@ -179,7 +177,7 @@ enum hrt_isp_css_irq_status virq_get_channel_id(
\return (error(state(IRQ[...])) \return (error(state(IRQ[...]))
*/ */
enum hrt_isp_css_irq_status virq_get_channel_signals( enum hrt_isp_css_irq_status
virq_info_t *irq_info); virq_get_channel_signals(struct virq_info *irq_info);
#endif /* __IRQ_PUBLIC_H_INCLUDED__ */ #endif /* __IRQ_PUBLIC_H_INCLUDED__ */
...@@ -2228,7 +2228,7 @@ void ia_css_debug_dump_debug_info(const char *context) ...@@ -2228,7 +2228,7 @@ void ia_css_debug_dump_debug_info(const char *context)
ia_css_debug_dump_isys_state(); ia_css_debug_dump_isys_state();
{ {
irq_controller_state_t state; struct irq_controller_state state;
irq_controller_get_state(IRQ2_ID, &state); irq_controller_get_state(IRQ2_ID, &state);
......
...@@ -1546,16 +1546,16 @@ enable_interrupts(enum ia_css_irq_type irq_type) ...@@ -1546,16 +1546,16 @@ enable_interrupts(enum ia_css_irq_type irq_type)
/* Enable SW interrupt 0, this is used to signal ISYS events */ /* Enable SW interrupt 0, this is used to signal ISYS events */
cnd_virq_enable_channel( cnd_virq_enable_channel(
(virq_id_t)(IRQ_SW_CHANNEL0_ID + IRQ_SW_CHANNEL_OFFSET), (enum virq_id)(IRQ_SW_CHANNEL0_ID + IRQ_SW_CHANNEL_OFFSET),
true); true);
/* Enable SW interrupt 1, this is used to signal PSYS events */ /* Enable SW interrupt 1, this is used to signal PSYS events */
cnd_virq_enable_channel( cnd_virq_enable_channel(
(virq_id_t)(IRQ_SW_CHANNEL1_ID + IRQ_SW_CHANNEL_OFFSET), (enum virq_id)(IRQ_SW_CHANNEL1_ID + IRQ_SW_CHANNEL_OFFSET),
true); true);
#if !defined(HAS_IRQ_MAP_VERSION_2) #if !defined(HAS_IRQ_MAP_VERSION_2)
/* IRQ_SW_CHANNEL2_ID does not exist on 240x systems */ /* IRQ_SW_CHANNEL2_ID does not exist on 240x systems */
cnd_virq_enable_channel( cnd_virq_enable_channel(
(virq_id_t)(IRQ_SW_CHANNEL2_ID + IRQ_SW_CHANNEL_OFFSET), (enum virq_id)(IRQ_SW_CHANNEL2_ID + IRQ_SW_CHANNEL_OFFSET),
true); true);
virq_clear_all(); virq_clear_all();
#endif #endif
...@@ -2549,7 +2549,7 @@ ia_css_uninit(void) ...@@ -2549,7 +2549,7 @@ ia_css_uninit(void)
int ia_css_irq_translate( int ia_css_irq_translate(
unsigned int *irq_infos) unsigned int *irq_infos)
{ {
virq_id_t irq; enum virq_id irq;
enum hrt_isp_css_irq_status status = hrt_isp_css_irq_status_more_irqs; enum hrt_isp_css_irq_status status = hrt_isp_css_irq_status_more_irqs;
unsigned int infos = 0; unsigned int infos = 0;
...@@ -2622,7 +2622,7 @@ int ia_css_irq_enable( ...@@ -2622,7 +2622,7 @@ int ia_css_irq_enable(
enum ia_css_irq_info info, enum ia_css_irq_info info,
bool enable) bool enable)
{ {
virq_id_t irq = N_virq_id; enum virq_id irq = N_virq_id;
IA_CSS_ENTER("info=%d, enable=%d", info, enable); IA_CSS_ENTER("info=%d, enable=%d", info, enable);
......
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