Lines Matching defs:mrif

216 static unsigned long imsic_mrif_atomic_rmw(struct imsic_mrif *mrif,
236 static unsigned long imsic_mrif_atomic_or(struct imsic_mrif *mrif,
248 static u32 imsic_mrif_topei(struct imsic_mrif *mrif, u32 nr_eix, u32 nr_msis)
253 unsigned long eithreshold = imsic_mrif_atomic_read(mrif,
254 &mrif->eithreshold);
259 eix = &mrif->eix[ei];
260 eipend[0] = imsic_mrif_atomic_read(mrif, &eix->eie[0]) &
261 imsic_mrif_atomic_read(mrif, &eix->eip[0]);
263 eipend[1] = imsic_mrif_atomic_read(mrif, &eix->eie[1]) &
264 imsic_mrif_atomic_read(mrif, &eix->eip[1]);
310 static int imsic_mrif_rmw(struct imsic_mrif *mrif, u32 nr_eix,
320 old_val = imsic_mrif_atomic_rmw(mrif, &mrif->eidelivery,
324 old_val = imsic_mrif_atomic_rmw(mrif, &mrif->eithreshold,
339 eix = &mrif->eix[num / 2];
353 old_val = imsic_mrif_atomic_rmw(mrif, ei, new_val, wr_mask);
369 struct imsic_mrif *mrif;
377 struct imsic_mrif *mrif = idata->mrif;
393 mrif->eidelivery = imsic_vs_csr_swap(IMSIC_EIDELIVERY, 0);
394 mrif->eithreshold = imsic_vs_csr_swap(IMSIC_EITHRESHOLD, 0);
396 eix = &mrif->eix[i];
405 mrif->eidelivery = imsic_vs_csr_read(IMSIC_EIDELIVERY);
406 mrif->eithreshold = imsic_vs_csr_read(IMSIC_EITHRESHOLD);
408 eix = &mrif->eix[i];
423 bool clear, struct imsic_mrif *mrif)
435 idata.mrif = mrif;
551 struct imsic_mrif *mrif)
574 eix = &mrif->eix[i];
582 imsic_vs_csr_write(IMSIC_EITHRESHOLD, mrif->eithreshold);
583 imsic_vs_csr_write(IMSIC_EIDELIVERY, mrif->eidelivery);
617 struct imsic_mrif *mrif = imsic->swfile;
628 if (imsic_mrif_atomic_read(mrif, &mrif->eidelivery) &&
629 imsic_mrif_topei(mrif, imsic->nr_eix, imsic->nr_msis))
638 struct imsic_mrif *mrif)
649 memcpy(mrif, imsic->swfile, sizeof(*mrif));
657 struct imsic_mrif *mrif)
664 imsic_mrif_atomic_write(smrif, &smrif->eidelivery, mrif->eidelivery);
665 imsic_mrif_atomic_write(smrif, &smrif->eithreshold, mrif->eithreshold);
668 eix = &mrif->eix[i];