Lines Matching defs:group

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