Lines Matching refs:apid

103 #define spec_to_hwirq(slave_id, periph_id, irq_id, apid) \
107 (((apid) & 0x1FF) << 0))
168 * @ppid_to_apid: finds the apid for a given ppid.
485 static void cleanup_irq(struct spmi_pmic_arb *pmic_arb, u16 apid, int id)
487 u16 ppid = pmic_arb->apid_data[apid].ppid;
492 writel_relaxed(irq_mask, pmic_arb->ver_ops->irq_clear(pmic_arb, apid));
505 static void periph_interrupt(struct spmi_pmic_arb *pmic_arb, u16 apid)
509 u8 sid = (pmic_arb->apid_data[apid].ppid >> 8) & 0xF;
510 u8 per = pmic_arb->apid_data[apid].ppid & 0xFF;
512 status = readl_relaxed(pmic_arb->ver_ops->irq_status(pmic_arb, apid));
517 spec_to_hwirq(sid, per, id, apid));
519 cleanup_irq(pmic_arb, apid, id);
535 int i, id, apid;
545 apid = id + i * 32;
547 ver_ops->acc_enable(pmic_arb, apid));
549 periph_interrupt(pmic_arb, apid);
560 u16 apid = hwirq_to_apid(d->hwirq);
563 writel_relaxed(BIT(irq), pmic_arb->ver_ops->irq_clear(pmic_arb, apid));
582 u16 apid = hwirq_to_apid(d->hwirq);
586 ver_ops->acc_enable(pmic_arb, apid));
665 u16 apid = hwirq_to_apid(d->hwirq);
669 if (pmic_arb->apid_data[apid].irq_ee != pmic_arb->ee) {
672 pmic_arb->apid_data[apid].irq_ee);
697 u16 apid, ppid;
718 apid = rc;
720 if (apid > pmic_arb->max_apid)
721 pmic_arb->max_apid = apid;
722 if (apid < pmic_arb->min_apid)
723 pmic_arb->min_apid = apid;
725 *out_hwirq = spec_to_hwirq(intspec[0], intspec[1], intspec[2], apid);
782 u16 apid;
787 apid = apid_valid & ~PMIC_ARB_APID_VALID;
788 return apid;
802 apid = SPMI_MAPPING_BIT_IS_1_RESULT(data);
804 = apid | PMIC_ARB_APID_VALID;
805 pmic_arb->apid_data[apid].ppid = ppid;
806 return apid;
812 apid = SPMI_MAPPING_BIT_IS_0_RESULT(data);
814 = apid | PMIC_ARB_APID_VALID;
815 pmic_arb->apid_data[apid].ppid = ppid;
816 return apid;
835 u16 id, apid;
837 for (apid = pmic_arb->last_apid; ; apid++, apidd++) {
838 offset = pmic_arb->ver_ops->apid_map_offset(apid);
843 SPMI_OWNERSHIP_TABLE_REG(apid));
852 pmic_arb->ppid_to_apid[id] = apid | PMIC_ARB_APID_VALID;
855 apid |= PMIC_ARB_APID_VALID;
859 pmic_arb->last_apid = apid & ~PMIC_ARB_APID_VALID;
861 return apid;
881 u16 i, apid, ppid;
911 apid = pmic_arb->ppid_to_apid[ppid] & ~PMIC_ARB_APID_VALID;
912 prev_apidd = &pmic_arb->apid_data[apid];
933 apid = pmic_arb->ppid_to_apid[ppid];
934 if (apid & PMIC_ARB_APID_VALID) {
935 apid &= ~PMIC_ARB_APID_VALID;
936 apidd = &pmic_arb->apid_data[apid];
938 ppid, apid, apidd->write_ee, apidd->irq_ee);
957 u16 apid;
966 apid = rc;
967 return 0x1000 * pmic_arb->ee + 0x8000 * apid;
971 * v5 offset per ee and per apid for observer channels and per apid for
977 u16 apid;
986 apid = rc;
989 offset = 0x10000 * pmic_arb->ee + 0x80 * apid;
992 offset = 0x10000 * apid;