PCI/LINK: Deduplicate bandwidth reports for multi-function devices
authorLukas Wunner <lukas@wunner.de>
Wed, 20 Mar 2019 11:05:30 +0000 (12:05 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 25 Mar 2019 22:59:07 +0000 (17:59 -0500)
commit0fa635aec9abd718bd18c0bda2261351a0811efc
tree28feed152619c3557db954549f513abcb9bdc797
parent55397ce8df48bdabe56abdc684764529e1334766
PCI/LINK: Deduplicate bandwidth reports for multi-function devices

If a multi-function device's bandwidth is already limited when it is
enumerated, a message is logged only for function 0.  By contrast, when
downtraining occurs after enumeration, a message is logged for all
functions.  That's because the former uses pcie_report_downtraining(),
whereas the latter uses __pcie_print_link_status() (which doesn't filter
functions != 0).  I am seeing this happen on a MacBookPro9,1 with a GPU
(function 0) and an integrated HDA controller (function 1).

Avoid this incongruence by calling pcie_report_downtraining() in both
cases.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Alexandru Gagniuc <alex.gagniuc@dellteam.com>
drivers/pci/pci.h
drivers/pci/pcie/bw_notification.c
drivers/pci/probe.c