Loading drivers/spmi/spmi-pmic-arb.c +7 −6 Original line number Diff line number Diff line Loading @@ -897,7 +897,8 @@ static int pmic_arb_read_apid_map_v5(struct spmi_pmic_arb *pmic_arb) * version 5, there is more than one APID mapped to each PPID. * The owner field for each of these mappings specifies the EE which is * allowed to write to the APID. The owner of the last (highest) APID * for a given PPID will receive interrupts from the PPID. * which has the IRQ owner bit set for a given PPID will receive * interrupts from the PPID. */ for (i = 0; ; i++, apidd++) { offset = pmic_arb->ver_ops->apid_map_offset(i); Loading @@ -920,16 +921,16 @@ static int pmic_arb_read_apid_map_v5(struct spmi_pmic_arb *pmic_arb) apid = pmic_arb->ppid_to_apid[ppid] & ~PMIC_ARB_APID_VALID; prev_apidd = &pmic_arb->apid_data[apid]; if (valid && is_irq_ee && if (!valid || apidd->write_ee == pmic_arb->ee) { /* First PPID mapping or one for this EE */ pmic_arb->ppid_to_apid[ppid] = i | PMIC_ARB_APID_VALID; } else if (valid && is_irq_ee && prev_apidd->write_ee == pmic_arb->ee) { /* * Duplicate PPID mapping after the one for this EE; * override the irq owner */ prev_apidd->irq_ee = apidd->irq_ee; } else if (!valid || is_irq_ee) { /* First PPID mapping or duplicate for another EE */ pmic_arb->ppid_to_apid[ppid] = i | PMIC_ARB_APID_VALID; } apidd->ppid = ppid; Loading Loading
drivers/spmi/spmi-pmic-arb.c +7 −6 Original line number Diff line number Diff line Loading @@ -897,7 +897,8 @@ static int pmic_arb_read_apid_map_v5(struct spmi_pmic_arb *pmic_arb) * version 5, there is more than one APID mapped to each PPID. * The owner field for each of these mappings specifies the EE which is * allowed to write to the APID. The owner of the last (highest) APID * for a given PPID will receive interrupts from the PPID. * which has the IRQ owner bit set for a given PPID will receive * interrupts from the PPID. */ for (i = 0; ; i++, apidd++) { offset = pmic_arb->ver_ops->apid_map_offset(i); Loading @@ -920,16 +921,16 @@ static int pmic_arb_read_apid_map_v5(struct spmi_pmic_arb *pmic_arb) apid = pmic_arb->ppid_to_apid[ppid] & ~PMIC_ARB_APID_VALID; prev_apidd = &pmic_arb->apid_data[apid]; if (valid && is_irq_ee && if (!valid || apidd->write_ee == pmic_arb->ee) { /* First PPID mapping or one for this EE */ pmic_arb->ppid_to_apid[ppid] = i | PMIC_ARB_APID_VALID; } else if (valid && is_irq_ee && prev_apidd->write_ee == pmic_arb->ee) { /* * Duplicate PPID mapping after the one for this EE; * override the irq owner */ prev_apidd->irq_ee = apidd->irq_ee; } else if (!valid || is_irq_ee) { /* First PPID mapping or duplicate for another EE */ pmic_arb->ppid_to_apid[ppid] = i | PMIC_ARB_APID_VALID; } apidd->ppid = ppid; Loading