Lines Matching refs:desc
18 static intc_enum __init intc_grp_id(struct intc_desc *desc, in intc_grp_id() argument
21 struct intc_group *g = desc->hw.groups; in intc_grp_id()
24 for (i = 0; g && enum_id && i < desc->hw.nr_groups; i++) { in intc_grp_id()
25 g = desc->hw.groups + i; in intc_grp_id()
38 static unsigned int __init _intc_mask_data(struct intc_desc *desc, in _intc_mask_data() argument
44 struct intc_mask_reg *mr = desc->hw.mask_regs; in _intc_mask_data()
48 while (mr && enum_id && *reg_idx < desc->hw.nr_mask_regs) { in _intc_mask_data()
49 mr = desc->hw.mask_regs + *reg_idx; in _intc_mask_data()
89 intc_get_mask_handle(struct intc_desc *desc, struct intc_desc_int *d, in intc_get_mask_handle() argument
96 ret = _intc_mask_data(desc, d, enum_id, &i, &j); in intc_get_mask_handle()
101 return intc_get_mask_handle(desc, d, intc_grp_id(desc, enum_id), 0); in intc_get_mask_handle()
106 static unsigned int __init _intc_prio_data(struct intc_desc *desc, in _intc_prio_data() argument
112 struct intc_prio_reg *pr = desc->hw.prio_regs; in _intc_prio_data()
116 while (pr && enum_id && *reg_idx < desc->hw.nr_prio_regs) { in _intc_prio_data()
117 pr = desc->hw.prio_regs + *reg_idx; in _intc_prio_data()
158 intc_get_prio_handle(struct intc_desc *desc, struct intc_desc_int *d, in intc_get_prio_handle() argument
165 ret = _intc_prio_data(desc, d, enum_id, &i, &j); in intc_get_prio_handle()
170 return intc_get_prio_handle(desc, d, intc_grp_id(desc, enum_id), 0); in intc_get_prio_handle()
175 static unsigned int intc_ack_data(struct intc_desc *desc, in intc_ack_data() argument
178 struct intc_mask_reg *mr = desc->hw.ack_regs; in intc_ack_data()
182 for (i = 0; mr && enum_id && i < desc->hw.nr_ack_regs; i++) { in intc_ack_data()
183 mr = desc->hw.ack_regs + i; in intc_ack_data()
231 void __init intc_enable_disable_enum(struct intc_desc *desc, in intc_enable_disable_enum() argument
240 data = _intc_mask_data(desc, d, enum_id, &i, &j); in intc_enable_disable_enum()
249 data = _intc_prio_data(desc, d, enum_id, &i, &j); in intc_enable_disable_enum()
258 intc_get_sense_handle(struct intc_desc *desc, struct intc_desc_int *d, in intc_get_sense_handle() argument
261 struct intc_sense_reg *sr = desc->hw.sense_regs; in intc_get_sense_handle()
264 for (i = 0; sr && enum_id && i < desc->hw.nr_sense_regs; i++) { in intc_get_sense_handle()
265 sr = desc->hw.sense_regs + i; in intc_get_sense_handle()
287 void intc_set_ack_handle(unsigned int irq, struct intc_desc *desc, in intc_set_ack_handle() argument
295 if (!desc->hw.ack_regs) in intc_set_ack_handle()
299 ack_handle[irq] = intc_ack_data(desc, d, id); in intc_set_ack_handle()