Re: [PATCH 07/18] PCI: pciehp: Enable Command Completed Interrupt only if supported

Lukas Wunner
2022-05-09T04:09:12Z

On Sun, Feb 20, 2022 at 08:33:35PM +0100, Marek Behún wrote:
> The No Command Completed Support bit in the Slot Capabilities register
> indicates whether Command Completed Interrupt Enable is unsupported.
>
> Enable this interrupt only in the case it is supported.
[...]
> --- a/drivers/pci/hotplug/pciehp_hpc.c
> +++ b/drivers/pci/hotplug/pciehp_hpc.c
> @@ -817,7 +817,9 @@ static void pcie_enable_notification(struct controller *ctrl)
> else
> cmd |= PCI_EXP_SLTCTL_PDCE;
> if (!pciehp_poll_mode)
> - cmd |= PCI_EXP_SLTCTL_HPIE | PCI_EXP_SLTCTL_CCIE;
> + cmd |= PCI_EXP_SLTCTL_HPIE;
> + if (!pciehp_poll_mode && !NO_CMD_CMPL(ctrl))
> + cmd |= PCI_EXP_SLTCTL_CCIE;

Looks okay to me in principle, I'm just wondering why this change is
necessary, i.e. what issue are you seeing without it?

Thanks,

Lukas