On Tue, 9 Feb 2021 15:35:49 -0500
Chris Browy <[email protected]> wrote:
Hi Chris,
One more thing hit whilst debugging linux side of this.
> +static void pcie_doe_irq_assert(DOECap *doe_cap)
> +{
> + PCIDevice *dev = doe_cap->doe->pdev;
> +
> + if (doe_cap->cap.intr && doe_cap->ctrl.intr) {
need something like
doe_cap->status.intr = 1;
I think or anyone checking the status register is going to think
this interrupt is spurious.
Otherwise all seems to work. I need to do a bit of tidying up on
kernel code but should be able to send out early next week.
> + /* Interrupt notify */
> + if (msix_enabled(dev)) {
> + msix_notify(dev, doe_cap->cap.vec);
> + } else if (msi_enabled(dev)) {
> + msi_notify(dev, doe_cap->cap.vec);
> + }
> + /* Not support legacy IRQ */
> + }
> +}