Message ID | 20231017074257.3389177-7-idosch@nvidia.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | mlxsw: Add support for new reset flow | expand |
On Tue, Oct 17, 2023 at 10:42:51AM +0300, Ido Schimmel wrote: > Currently, the time it took a PCI device to become ready after reset is > only printed if it was longer than 1000ms ('PCI_RESET_WAIT'). However, > for debugging purposes it is useful to know this time even if it was > shorter. For example, with the device I am working on, hardware > engineers asked to verify that it becomes ready on the first try (no > delay). > > To that end, add a debug level print that can be enabled using dynamic > debug. Example: > > # echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/reset > # dmesg -c | grep ready > # echo "file drivers/pci/pci.c +p" > /sys/kernel/debug/dynamic_debug/control > # echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/reset > # dmesg -c | grep ready > [ 396.060335] mlxsw_spectrum4 0000:01:00.0: ready 0ms after link toggle > # echo "file drivers/pci/pci.c -p" > /sys/kernel/debug/dynamic_debug/control > # echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/reset > # dmesg -c | grep ready > > Signed-off-by: Ido Schimmel <idosch@nvidia.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> > --- > drivers/pci/pci.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index 59c01d68c6d5..0a708e65c5c4 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -1216,6 +1216,9 @@ static int pci_dev_wait(struct pci_dev *dev, char *reset_type, int timeout) > if (delay > PCI_RESET_WAIT) > pci_info(dev, "ready %dms after %s\n", delay - 1, > reset_type); > + else > + pci_dbg(dev, "ready %dms after %s\n", delay - 1, > + reset_type); > > return 0; > } > -- > 2.40.1 >
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 59c01d68c6d5..0a708e65c5c4 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -1216,6 +1216,9 @@ static int pci_dev_wait(struct pci_dev *dev, char *reset_type, int timeout) if (delay > PCI_RESET_WAIT) pci_info(dev, "ready %dms after %s\n", delay - 1, reset_type); + else + pci_dbg(dev, "ready %dms after %s\n", delay - 1, + reset_type); return 0; }
Currently, the time it took a PCI device to become ready after reset is only printed if it was longer than 1000ms ('PCI_RESET_WAIT'). However, for debugging purposes it is useful to know this time even if it was shorter. For example, with the device I am working on, hardware engineers asked to verify that it becomes ready on the first try (no delay). To that end, add a debug level print that can be enabled using dynamic debug. Example: # echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/reset # dmesg -c | grep ready # echo "file drivers/pci/pci.c +p" > /sys/kernel/debug/dynamic_debug/control # echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/reset # dmesg -c | grep ready [ 396.060335] mlxsw_spectrum4 0000:01:00.0: ready 0ms after link toggle # echo "file drivers/pci/pci.c -p" > /sys/kernel/debug/dynamic_debug/control # echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/reset # dmesg -c | grep ready Signed-off-by: Ido Schimmel <idosch@nvidia.com> --- drivers/pci/pci.c | 3 +++ 1 file changed, 3 insertions(+)