Lines Matching refs:apid

111 #define spec_to_hwirq(slave_id, periph_id, irq_id, apid) \  argument
115 (((apid) & 0x1FF) << 0))
493 static void cleanup_irq(struct spmi_pmic_arb *pmic_arb, u16 apid, int id) in cleanup_irq() argument
495 u16 ppid = pmic_arb->apid_data[apid].ppid; in cleanup_irq()
500 writel_relaxed(irq_mask, pmic_arb->ver_ops->irq_clear(pmic_arb, apid)); in cleanup_irq()
513 static void periph_interrupt(struct spmi_pmic_arb *pmic_arb, u16 apid) in periph_interrupt() argument
518 u8 sid = (pmic_arb->apid_data[apid].ppid >> 8) & 0xF; in periph_interrupt()
519 u8 per = pmic_arb->apid_data[apid].ppid & 0xFF; in periph_interrupt()
521 status = readl_relaxed(pmic_arb->ver_ops->irq_status(pmic_arb, apid)); in periph_interrupt()
526 spec_to_hwirq(sid, per, id, apid)); in periph_interrupt()
528 cleanup_irq(pmic_arb, apid, id); in periph_interrupt()
544 int i, id, apid; in pmic_arb_chained_irq() local
554 apid = id + i * 32; in pmic_arb_chained_irq()
556 ver_ops->acc_enable(pmic_arb, apid)); in pmic_arb_chained_irq()
558 periph_interrupt(pmic_arb, apid); in pmic_arb_chained_irq()
569 u16 apid = hwirq_to_apid(d->hwirq); in qpnpint_irq_ack() local
572 writel_relaxed(BIT(irq), pmic_arb->ver_ops->irq_clear(pmic_arb, apid)); in qpnpint_irq_ack()
591 u16 apid = hwirq_to_apid(d->hwirq); in qpnpint_irq_unmask() local
595 ver_ops->acc_enable(pmic_arb, apid)); in qpnpint_irq_unmask()
673 u16 apid = hwirq_to_apid(d->hwirq); in qpnpint_irq_request_resources() local
677 if (pmic_arb->apid_data[apid].irq_ee != pmic_arb->ee) { in qpnpint_irq_request_resources()
680 pmic_arb->apid_data[apid].irq_ee); in qpnpint_irq_request_resources()
707 u16 apid, ppid; in qpnpint_irq_domain_dt_translate() local
728 apid = rc; in qpnpint_irq_domain_dt_translate()
730 if (apid > pmic_arb->max_apid) in qpnpint_irq_domain_dt_translate()
731 pmic_arb->max_apid = apid; in qpnpint_irq_domain_dt_translate()
732 if (apid < pmic_arb->min_apid) in qpnpint_irq_domain_dt_translate()
733 pmic_arb->min_apid = apid; in qpnpint_irq_domain_dt_translate()
735 *out_hwirq = spec_to_hwirq(intspec[0], intspec[1], intspec[2], apid); in qpnpint_irq_domain_dt_translate()
762 u16 apid; in pmic_arb_ppid_to_apid_v1() local
767 apid = apid_valid & ~PMIC_ARB_APID_VALID; in pmic_arb_ppid_to_apid_v1()
768 return apid; in pmic_arb_ppid_to_apid_v1()
782 apid = SPMI_MAPPING_BIT_IS_1_RESULT(data); in pmic_arb_ppid_to_apid_v1()
784 = apid | PMIC_ARB_APID_VALID; in pmic_arb_ppid_to_apid_v1()
785 pmic_arb->apid_data[apid].ppid = ppid; in pmic_arb_ppid_to_apid_v1()
786 return apid; in pmic_arb_ppid_to_apid_v1()
792 apid = SPMI_MAPPING_BIT_IS_0_RESULT(data); in pmic_arb_ppid_to_apid_v1()
794 = apid | PMIC_ARB_APID_VALID; in pmic_arb_ppid_to_apid_v1()
795 pmic_arb->apid_data[apid].ppid = ppid; in pmic_arb_ppid_to_apid_v1()
796 return apid; in pmic_arb_ppid_to_apid_v1()
815 u16 id, apid; in pmic_arb_find_apid() local
817 for (apid = pmic_arb->last_apid; ; apid++, apidd++) { in pmic_arb_find_apid()
818 offset = pmic_arb->ver_ops->apid_map_offset(apid); in pmic_arb_find_apid()
823 SPMI_OWNERSHIP_TABLE_REG(apid)); in pmic_arb_find_apid()
832 pmic_arb->ppid_to_apid[id] = apid | PMIC_ARB_APID_VALID; in pmic_arb_find_apid()
835 apid |= PMIC_ARB_APID_VALID; in pmic_arb_find_apid()
839 pmic_arb->last_apid = apid & ~PMIC_ARB_APID_VALID; in pmic_arb_find_apid()
841 return apid; in pmic_arb_find_apid()
861 u16 i, apid, ppid; in pmic_arb_read_apid_map_v5() local
890 apid = pmic_arb->ppid_to_apid[ppid] & ~PMIC_ARB_APID_VALID; in pmic_arb_read_apid_map_v5()
891 prev_apidd = &pmic_arb->apid_data[apid]; in pmic_arb_read_apid_map_v5()
912 apid = pmic_arb->ppid_to_apid[ppid]; in pmic_arb_read_apid_map_v5()
913 if (apid & PMIC_ARB_APID_VALID) { in pmic_arb_read_apid_map_v5()
914 apid &= ~PMIC_ARB_APID_VALID; in pmic_arb_read_apid_map_v5()
915 apidd = &pmic_arb->apid_data[apid]; in pmic_arb_read_apid_map_v5()
917 ppid, apid, apidd->write_ee, apidd->irq_ee); in pmic_arb_read_apid_map_v5()
936 u16 apid; in pmic_arb_offset_v2() local
945 apid = rc; in pmic_arb_offset_v2()
946 return 0x1000 * pmic_arb->ee + 0x8000 * apid; in pmic_arb_offset_v2()
956 u16 apid; in pmic_arb_offset_v5() local
965 apid = rc; in pmic_arb_offset_v5()
968 offset = 0x10000 * pmic_arb->ee + 0x80 * apid; in pmic_arb_offset_v5()
971 offset = 0x10000 * apid; in pmic_arb_offset_v5()