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(
static inline bool any_irq_channel_enabled(
const irq_ID_t ID);
static inline irq_ID_t virq_get_irq_id(
const virq_id_t irq_ID,
static inline irq_ID_t virq_get_irq_id(const enum virq_id irq_ID,
unsigned int *channel_ID);
#ifndef __INLINE_IRQ__
......@@ -52,7 +51,7 @@ static unsigned short IRQ_N_ID_OFFSET[N_IRQ_ID + 1] = {
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,
virq_ifmt,
virq_isys,
......@@ -228,9 +227,8 @@ void irq_raise(
return;
}
void irq_controller_get_state(
const irq_ID_t ID,
irq_controller_state_t *state)
void irq_controller_get_state(const irq_ID_t ID,
struct irq_controller_state *state)
{
assert(ID < N_IRQ_ID);
assert(state);
......@@ -257,7 +255,7 @@ bool any_virq_signal(void)
}
void cnd_virq_enable_channel(
const virq_id_t irq_ID,
const enum virq_id irq_ID,
const bool en)
{
irq_ID_t i;
......@@ -297,8 +295,8 @@ void virq_clear_all(void)
return;
}
enum hrt_isp_css_irq_status virq_get_channel_signals(
virq_info_t *irq_info)
enum hrt_isp_css_irq_status
virq_get_channel_signals(struct virq_info *irq_info)
{
enum hrt_isp_css_irq_status irq_status = hrt_isp_css_irq_status_error;
irq_ID_t ID;
......@@ -327,8 +325,7 @@ enum hrt_isp_css_irq_status virq_get_channel_signals(
return irq_status;
}
void virq_clear_info(
virq_info_t *irq_info)
void virq_clear_info(struct virq_info *irq_info)
{
irq_ID_t ID;
......@@ -341,7 +338,7 @@ void virq_clear_info(
}
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,
_HRT_IRQ_CONTROLLER_STATUS_REG_IDX);
......@@ -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 */
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;
}
}
......@@ -405,7 +402,7 @@ enum hrt_isp_css_irq_status virq_get_channel_id(
idx += IRQ_N_ID_OFFSET[ID];
if (irq_id)
*irq_id = (virq_id_t)idx;
*irq_id = (enum virq_id)idx;
return status;
}
......@@ -433,7 +430,7 @@ static inline bool any_irq_channel_enabled(
}
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)
{
irq_ID_t ID;
......
......@@ -43,10 +43,7 @@
#define IRQ2_ID_N_CHANNEL HIVE_ISYS_IRQ_NUM_BITS
#define IRQ3_ID_N_CHANNEL HIVE_ISEL_IRQ_NUM_IRQS
typedef struct virq_info_s virq_info_t;
typedef struct irq_controller_state_s irq_controller_state_t;
typedef enum {
enum virq_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_2 = IRQ0_ID_OFFSET + HIVE_GP_DEV_IRQ_GPIO_PIN_2_BIT_ID,
......@@ -67,13 +64,7 @@ typedef enum {
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_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,
#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_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,
......@@ -118,13 +109,13 @@ typedef enum {
virq_isel_eol = IRQ3_ID_OFFSET + HIVE_ISEL_IRQ_SYNC_GEN_EOL_BIT_ID,
N_virq_id = IRQ_END_OFFSET
} virq_id_t;
};
struct virq_info_s {
struct virq_info {
hrt_data irq_status_reg[N_IRQ_ID];
};
struct irq_controller_state_s {
struct irq_controller_state {
unsigned int irq_edge;
unsigned int irq_mask;
unsigned int irq_status;
......
......@@ -26,9 +26,8 @@
\return none, state = IRQ[ID].state
*/
void irq_controller_get_state(
const irq_ID_t ID,
irq_controller_state_t *state);
void irq_controller_get_state(const irq_ID_t ID,
struct irq_controller_state *state);
/*! Write to a control register of IRQ[ID]
......@@ -137,7 +136,7 @@ bool any_virq_signal(void);
\return none, VIRQ.channel[irq_ID].enable = en
*/
void cnd_virq_enable_channel(
const virq_id_t irq_ID,
const enum virq_id irq_ID,
const bool en);
/*! Clear the state of all IRQ channels of the virtual super IRQ
......@@ -152,8 +151,7 @@ void virq_clear_all(void);
\return none
*/
void virq_clear_info(
virq_info_t *irq_info);
void virq_clear_info(struct virq_info *irq_info);
/*! Return the ID of a signalling IRQ channel of the virtual super IRQ
......@@ -166,7 +164,7 @@ void virq_clear_info(
\return state(IRQ[...])
*/
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
......@@ -179,7 +177,7 @@ enum hrt_isp_css_irq_status virq_get_channel_id(
\return (error(state(IRQ[...]))
*/
enum hrt_isp_css_irq_status virq_get_channel_signals(
virq_info_t *irq_info);
enum hrt_isp_css_irq_status
virq_get_channel_signals(struct virq_info *irq_info);
#endif /* __IRQ_PUBLIC_H_INCLUDED__ */
......@@ -2228,7 +2228,7 @@ void ia_css_debug_dump_debug_info(const char *context)
ia_css_debug_dump_isys_state();
{
irq_controller_state_t state;
struct irq_controller_state state;
irq_controller_get_state(IRQ2_ID, &state);
......
......@@ -1546,16 +1546,16 @@ enable_interrupts(enum ia_css_irq_type irq_type)
/* Enable SW interrupt 0, this is used to signal ISYS events */
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);
/* Enable SW interrupt 1, this is used to signal PSYS events */
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);
#if !defined(HAS_IRQ_MAP_VERSION_2)
/* IRQ_SW_CHANNEL2_ID does not exist on 240x systems */
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);
virq_clear_all();
#endif
......@@ -2549,7 +2549,7 @@ ia_css_uninit(void)
int ia_css_irq_translate(
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;
unsigned int infos = 0;
......@@ -2622,7 +2622,7 @@ int ia_css_irq_enable(
enum ia_css_irq_info info,
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);
......
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