Message ID | 20220927141926.8895-2-kabel@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | PCI: aardvark controller changes BATCH 6 | expand |
On Tue, Sep 27, 2022 at 04:19:17PM +0200, Marek Behún wrote: > From: Pali Rohár <pali@kernel.org> > > The No Command Completed Support bit in the Slot Capabilities register > indicates whether Command Completed Interrupt Enable is unsupported. > > We already check whether No Command Completed Support bit is set in > pcie_wait_cmd(), and do not wait in this case. > > Let's not enable this Command Completed Interrupt at all if NCCS is set, > so that when users dump configuration space from userspace, the dump > does not confuse them by saying that Command Completed Interrupt is not > supported, but it is enabled. > > Signed-off-by: Pali Rohár <pali@kernel.org> > Signed-off-by: Marek Behún <kabel@kernel.org> > Reviewed-by: Lukas Wunner <lukas@wunner.de> Since this isn't directly related to aardvark or the rest of the series, I applied this to pci/hotplug for v6.2, thanks! > --- > drivers/pci/hotplug/pciehp_hpc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c > index 040ae076ec0e..10e9670eea0b 100644 > --- a/drivers/pci/hotplug/pciehp_hpc.c > +++ b/drivers/pci/hotplug/pciehp_hpc.c > @@ -811,7 +811,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; > > mask = (PCI_EXP_SLTCTL_PDCE | PCI_EXP_SLTCTL_ABPE | > PCI_EXP_SLTCTL_PFDE | > -- > 2.35.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c index 040ae076ec0e..10e9670eea0b 100644 --- a/drivers/pci/hotplug/pciehp_hpc.c +++ b/drivers/pci/hotplug/pciehp_hpc.c @@ -811,7 +811,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; mask = (PCI_EXP_SLTCTL_PDCE | PCI_EXP_SLTCTL_ABPE | PCI_EXP_SLTCTL_PFDE |