Loading drivers/soc/qcom/smp2p.c +10 −4 Original line number Diff line number Diff line Loading @@ -254,11 +254,17 @@ static void qcom_smp2p_notify_in(struct qcom_smp2p *smp2p) } smp2p->valid_entries = i; SMP2P_INFO("%d: smp2p_num:%d in_num:%d\n", smp2p->remote_pid, smp2p->valid_entries, in->valid_entries); /* Fire interrupts based on any value changes */ list_for_each_entry(entry, &smp2p->inbound, node) { /* Ignore entries not yet allocated by the remote side */ if (!entry->value) if (!entry->value) { SMP2P_INFO("%d:\t%s: skipping not ready\n", smp2p->remote_pid, entry->name); continue; } val = readl(entry->value); Loading @@ -266,13 +272,13 @@ static void qcom_smp2p_notify_in(struct qcom_smp2p *smp2p) entry->last_value = val; status |= *entry->irq_pending; SMP2P_INFO("%d:\t%s: status:%0lx val:%0x\n", smp2p->remote_pid, entry->name, status, val); /* No changes of this entry? */ if (!status) continue; SMP2P_INFO("%d: %s: status:%0lx val:%0x\n", smp2p->remote_pid, entry->name, status, val); for_each_set_bit(i, &status, 32) { if ((val & BIT(i) && test_bit(i, entry->irq_rising)) || (!(val & BIT(i)) && test_bit(i, entry->irq_falling))) { Loading Loading
drivers/soc/qcom/smp2p.c +10 −4 Original line number Diff line number Diff line Loading @@ -254,11 +254,17 @@ static void qcom_smp2p_notify_in(struct qcom_smp2p *smp2p) } smp2p->valid_entries = i; SMP2P_INFO("%d: smp2p_num:%d in_num:%d\n", smp2p->remote_pid, smp2p->valid_entries, in->valid_entries); /* Fire interrupts based on any value changes */ list_for_each_entry(entry, &smp2p->inbound, node) { /* Ignore entries not yet allocated by the remote side */ if (!entry->value) if (!entry->value) { SMP2P_INFO("%d:\t%s: skipping not ready\n", smp2p->remote_pid, entry->name); continue; } val = readl(entry->value); Loading @@ -266,13 +272,13 @@ static void qcom_smp2p_notify_in(struct qcom_smp2p *smp2p) entry->last_value = val; status |= *entry->irq_pending; SMP2P_INFO("%d:\t%s: status:%0lx val:%0x\n", smp2p->remote_pid, entry->name, status, val); /* No changes of this entry? */ if (!status) continue; SMP2P_INFO("%d: %s: status:%0lx val:%0x\n", smp2p->remote_pid, entry->name, status, val); for_each_set_bit(i, &status, 32) { if ((val & BIT(i) && test_bit(i, entry->irq_rising)) || (!(val & BIT(i)) && test_bit(i, entry->irq_falling))) { Loading