[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 7/8] x86/dpci: move hvm_dpci_isairq_eoi() to generic HVM code
On 04.01.2023 09:45, Xenia Ragiadakou wrote: > The function hvm_dpci_isairq_eoi() has no dependencies on VT-d driver code > and can be moved from xen/drivers/passthrough/vtd/x86/hvm.c to > xen/drivers/passthrough/x86/hvm.c, along with the corresponding copyrights. > > Remove the now empty xen/drivers/passthrough/vtd/x86/hvm.c. > > Since the funcion is used only in this file, declare it static. > > No functional change intended. > > Signed-off-by: Xenia Ragiadakou <burzalodowa@xxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> with a couple of cosmetic suggestions since you're touching this code anyway: > @@ -924,6 +925,48 @@ static void hvm_gsi_eoi(struct domain *d, unsigned int > gsi) > hvm_pirq_eoi(pirq); > } > > +static int cf_check _hvm_dpci_isairq_eoi( > + struct domain *d, struct hvm_pirq_dpci *pirq_dpci, void *arg) > +{ > + struct hvm_irq *hvm_irq = hvm_domain_irq(d); I think this could become pointer-to-const. > + unsigned int isairq = (long)arg; > + const struct dev_intx_gsi_link *digl; > + > + list_for_each_entry ( digl, &pirq_dpci->digl_list, list ) > + { > + unsigned int link = hvm_pci_intx_link(digl->device, digl->intx); > + > + if ( hvm_irq->pci_link.route[link] == isairq ) > + { > + hvm_pci_intx_deassert(d, digl->device, digl->intx); > + if ( --pirq_dpci->pending == 0 ) > + pirq_guest_eoi(dpci_pirq(pirq_dpci)); > + } > + } > + > + return 0; > +} > + > +static void hvm_dpci_isairq_eoi(struct domain *d, unsigned int isairq) > +{ > + struct hvm_irq_dpci *dpci = NULL; And this too. > + ASSERT(isairq < NR_ISAIRQS); > + if ( !is_iommu_enabled(d) ) A blank line between the above two would be nice. > + return; > + > + write_lock(&d->event_lock); > + > + dpci = domain_get_irq_dpci(d); > + > + if ( dpci && test_bit(isairq, dpci->isairq_map) ) > + { > + /* Multiple mirq may be mapped to one isa irq */ > + pt_pirq_iterate(d, _hvm_dpci_isairq_eoi, (void *)(long)isairq); > + } > + write_unlock(&d->event_lock); For symmetry with code above this could to with a blank line ahead of it. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |