> On Mar 4, 2021, at 2:21 PM, Jonathan Cameron <[email protected]>
> wrote:
>
> 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.
You’re absolutely right, good catch!
>
> 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.
>
We’re putting out the v3 by end of this week. We’re spent a bit longer
tidying up on our end but sounds like coming together real soon in 5.12
release!
>> + /* 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 */
>> + }
>> +}