• Home
  • Raw
  • Download

Lines Matching full:ppid

45 #define PMIC_ARB_MAX_PPID		BIT(12) /* PPID is 12bit */
117 u16 ppid; member
135 * @mapping_table: in-memory copy of PPID -> APID mapping table.
139 * @ppid_to_apid in-memory copy of PPID -> APID mapping table.
168 * @ppid_to_apid: finds the apid for a given ppid.
172 * on v2 offset of per-ee and per-ppid channel.
186 int (*ppid_to_apid)(struct spmi_pmic_arb *pmic_arb, u16 ppid);
487 u16 ppid = pmic_arb->apid_data[apid].ppid; in cleanup_irq() local
488 u8 sid = ppid >> 8; in cleanup_irq()
489 u8 per = ppid & 0xFF; in cleanup_irq()
496 dev_err_ratelimited(&pmic_arb->spmic->dev, "failed to ack irq_mask = 0x%x for ppid = %x\n", in cleanup_irq()
497 irq_mask, ppid); in cleanup_irq()
501 dev_err_ratelimited(&pmic_arb->spmic->dev, "failed to ack irq_mask = 0x%x for ppid = %x\n", in cleanup_irq()
502 irq_mask, ppid); in cleanup_irq()
509 u8 sid = (pmic_arb->apid_data[apid].ppid >> 8) & 0xF; in periph_interrupt()
510 u8 per = pmic_arb->apid_data[apid].ppid & 0xFF; in periph_interrupt()
697 u16 apid, ppid; in qpnpint_irq_domain_translate() local
710 ppid = intspec[0] << 8 | intspec[1]; in qpnpint_irq_domain_translate()
711 rc = pmic_arb->ver_ops->ppid_to_apid(pmic_arb, ppid); in qpnpint_irq_domain_translate()
777 static int pmic_arb_ppid_to_apid_v1(struct spmi_pmic_arb *pmic_arb, u16 ppid) in pmic_arb_ppid_to_apid_v1() argument
785 apid_valid = pmic_arb->ppid_to_apid[ppid]; in pmic_arb_ppid_to_apid_v1()
798 if (ppid & BIT(SPMI_MAPPING_BIT_INDEX(data))) { in pmic_arb_ppid_to_apid_v1()
803 pmic_arb->ppid_to_apid[ppid] in pmic_arb_ppid_to_apid_v1()
805 pmic_arb->apid_data[apid].ppid = ppid; in pmic_arb_ppid_to_apid_v1()
813 pmic_arb->ppid_to_apid[ppid] in pmic_arb_ppid_to_apid_v1()
815 pmic_arb->apid_data[apid].ppid = ppid; in pmic_arb_ppid_to_apid_v1()
831 static u16 pmic_arb_find_apid(struct spmi_pmic_arb *pmic_arb, u16 ppid) in pmic_arb_find_apid() argument
853 apidd->ppid = id; in pmic_arb_find_apid()
854 if (id == ppid) { in pmic_arb_find_apid()
864 static int pmic_arb_ppid_to_apid_v2(struct spmi_pmic_arb *pmic_arb, u16 ppid) in pmic_arb_ppid_to_apid_v2() argument
868 apid_valid = pmic_arb->ppid_to_apid[ppid]; in pmic_arb_ppid_to_apid_v2()
870 apid_valid = pmic_arb_find_apid(pmic_arb, ppid); in pmic_arb_ppid_to_apid_v2()
881 u16 i, apid, ppid; in pmic_arb_read_apid_map_v5() local
886 * In order to allow multiple EEs to write to a single PPID in arbiter in pmic_arb_read_apid_map_v5()
887 * version 5, there is more than one APID mapped to each PPID. in pmic_arb_read_apid_map_v5()
890 * which has the IRQ owner bit set for a given PPID will receive in pmic_arb_read_apid_map_v5()
891 * interrupts from the PPID. in pmic_arb_read_apid_map_v5()
901 ppid = (regval >> 8) & PMIC_ARB_PPID_MASK; in pmic_arb_read_apid_map_v5()
910 valid = pmic_arb->ppid_to_apid[ppid] & PMIC_ARB_APID_VALID; in pmic_arb_read_apid_map_v5()
911 apid = pmic_arb->ppid_to_apid[ppid] & ~PMIC_ARB_APID_VALID; in pmic_arb_read_apid_map_v5()
915 /* First PPID mapping or one for this EE */ in pmic_arb_read_apid_map_v5()
916 pmic_arb->ppid_to_apid[ppid] = i | PMIC_ARB_APID_VALID; in pmic_arb_read_apid_map_v5()
920 * Duplicate PPID mapping after the one for this EE; in pmic_arb_read_apid_map_v5()
926 apidd->ppid = ppid; in pmic_arb_read_apid_map_v5()
931 dev_dbg(&pmic_arb->spmic->dev, "PPID APID Write-EE IRQ-EE\n"); in pmic_arb_read_apid_map_v5()
932 for (ppid = 0; ppid < PMIC_ARB_MAX_PPID; ppid++) { in pmic_arb_read_apid_map_v5()
933 apid = pmic_arb->ppid_to_apid[ppid]; in pmic_arb_read_apid_map_v5()
938 ppid, apid, apidd->write_ee, apidd->irq_ee); in pmic_arb_read_apid_map_v5()
945 static int pmic_arb_ppid_to_apid_v5(struct spmi_pmic_arb *pmic_arb, u16 ppid) in pmic_arb_ppid_to_apid_v5() argument
947 if (!(pmic_arb->ppid_to_apid[ppid] & PMIC_ARB_APID_VALID)) in pmic_arb_ppid_to_apid_v5()
950 return pmic_arb->ppid_to_apid[ppid] & ~PMIC_ARB_APID_VALID; in pmic_arb_ppid_to_apid_v5()
953 /* v2 offset per ppid and per ee */
958 u16 ppid; in pmic_arb_offset_v2() local
961 ppid = sid << 8 | ((addr >> 8) & 0xFF); in pmic_arb_offset_v2()
962 rc = pmic_arb_ppid_to_apid_v2(pmic_arb, ppid); in pmic_arb_offset_v2()
980 u16 ppid = (sid << 8) | (addr >> 8); in pmic_arb_offset_v5() local
982 rc = pmic_arb_ppid_to_apid_v5(pmic_arb, ppid); in pmic_arb_offset_v5()
1297 dev_err(&pdev->dev, "could not read APID->PPID mapping table, rc= %d\n", in spmi_pmic_arb_probe()