Lines Matching full:group

51 int al_iofic_config(void __iomem *regs_base, int group, uint32_t flags)  in al_iofic_config()  argument
56 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_config()
58 al_reg_write32(&regs->ctrl[group].int_control_grp, flags); in al_iofic_config()
64 * configure the moderation timer resolution for a given group
66 int al_iofic_moder_res_config(void __iomem *regs_base, int group, in al_iofic_moder_res_config() argument
74 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_moder_res_config()
76 reg = al_reg_read32(&regs->ctrl[group].int_control_grp); in al_iofic_moder_res_config()
81 al_reg_write32(&regs->ctrl[group].int_control_grp, reg); in al_iofic_moder_res_config()
87 * configure the moderation timer interval for a given legacy interrupt group
89 int al_iofic_legacy_moder_interval_config(void __iomem *regs_base, int group, in al_iofic_legacy_moder_interval_config() argument
96 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_legacy_moder_interval_config()
98 reg = al_reg_read32(&regs->ctrl[group].int_control_grp); in al_iofic_legacy_moder_interval_config()
103 al_reg_write32(&regs->ctrl[group].int_control_grp, reg); in al_iofic_legacy_moder_interval_config()
112 int al_iofic_msix_moder_interval_config(void __iomem *regs_base, int group, in al_iofic_msix_moder_interval_config() argument
119 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_msix_moder_interval_config()
121 reg = al_reg_read32(&regs->grp_int_mod[group][vector].grp_int_mod_reg); in al_iofic_msix_moder_interval_config()
126 al_reg_write32(&regs->grp_int_mod[group][vector].grp_int_mod_reg, reg); in al_iofic_msix_moder_interval_config()
134 int al_iofic_msix_tgtid_attributes_config(void __iomem *regs_base, int group, in al_iofic_msix_tgtid_attributes_config() argument
141 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_msix_tgtid_attributes_config()
151 al_reg_write32(&regs->grp_int_mod[group][vector].grp_int_tgtid_reg, reg); in al_iofic_msix_tgtid_attributes_config()
157 * return the offset of the unmask register for a given group
159 uint32_t __iomem * al_iofic_unmask_offset_get(void __iomem *regs_base, int group) in al_iofic_unmask_offset_get() argument
164 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_unmask_offset_get()
166 return &regs->ctrl[group].int_mask_clear_grp; in al_iofic_unmask_offset_get()
171 * unmask specific interrupts for a given group
173 void al_iofic_unmask(void __iomem *regs_base, int group, uint32_t mask) in al_iofic_unmask() argument
178 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_unmask()
184 al_reg_write32_relaxed(&regs->ctrl[group].int_mask_clear_grp, ~mask); in al_iofic_unmask()
188 * mask specific interrupts for a given group
190 void al_iofic_mask(void __iomem *regs_base, int group, uint32_t mask) in al_iofic_mask() argument
196 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_mask()
198 reg = al_reg_read32(&regs->ctrl[group].int_mask_grp); in al_iofic_mask()
200 al_reg_write32(&regs->ctrl[group].int_mask_grp, reg | mask); in al_iofic_mask()
204 * read the mask for a given group
206 uint32_t al_iofic_read_mask(void __iomem *regs_base, int group) in al_iofic_read_mask() argument
211 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_read_mask()
213 return al_reg_read32(&regs->ctrl[group].int_mask_grp); in al_iofic_read_mask()
217 * read interrupt cause register for a given group
219 uint32_t al_iofic_read_cause(void __iomem *regs_base, int group) in al_iofic_read_cause() argument
224 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_read_cause()
226 return al_reg_read32(&regs->ctrl[group].int_cause_grp); in al_iofic_read_cause()
230 * clear bits in the interrupt cause register for a given group
232 void al_iofic_clear_cause(void __iomem *regs_base, int group, uint32_t mask) in al_iofic_clear_cause() argument
237 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_clear_cause()
240 al_reg_write32(&regs->ctrl[group].int_cause_grp, ~mask); in al_iofic_clear_cause()
244 * Set the cause register for a given group
246 void al_iofic_set_cause(void __iomem *regs_base, int group, uint32_t mask) in al_iofic_set_cause() argument
251 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_set_cause()
253 al_reg_write32(&regs->ctrl[group].int_cause_set_grp, mask); in al_iofic_set_cause()
258 * unmask specific interrupts from aborting the udma a given group
260 void al_iofic_abort_mask(void __iomem *regs_base, int group, uint32_t mask) in al_iofic_abort_mask() argument
265 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_abort_mask()
267 al_reg_write32(&regs->ctrl[group].int_abort_msk_grp, mask); in al_iofic_abort_mask()
274 void al_iofic_interrupt_moderation_reset(void __iomem *regs_base, int group) in al_iofic_interrupt_moderation_reset() argument
280 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_interrupt_moderation_reset()
283 al_assert(group < AL_IOFIC_MAX_GROUPS); in al_iofic_interrupt_moderation_reset()
285 reg = al_reg_read32(&regs->ctrl[group].int_control_grp); in al_iofic_interrupt_moderation_reset()
288 al_reg_write32(&regs->ctrl[group].int_control_grp, reg); in al_iofic_interrupt_moderation_reset()
291 /** @} end of interrupt controller group */