PCI: pciehp: Add pciehp_set_indicators() to set both indicators
authorDenis Efremov <efremov@linux.com>
Tue, 3 Sep 2019 11:10:18 +0000 (14:10 +0300)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 5 Sep 2019 20:39:36 +0000 (15:39 -0500)
commit688033f52d7192ea8ddf617b86af0a4120247b42
treec7e7163efda0c9f38e2e570e87c9531a15e34cf9
parent5f9e832c137075045d15cd6899ab0505cfb2ca4b
PCI: pciehp: Add pciehp_set_indicators() to set both indicators

Add pciehp_set_indicators() to set power and attention indicators with a
single register write.

This is a minor optimization because we frequently set both indicators and
this can do it with a single command.  It also reduces the number of
interfaces related to the indicators and makes them more discoverable
because callers use the PCI_EXP_SLTCTL_ATTN_IND_* and
PCI_EXP_SLTCTL_PWR_IND_* definitions directly.

[bhelgaas: extend commit log, s/PCI_EXP_SLTCTL_.*_IND_NONE/INDICATOR_NOOP/
so they don't look like things defined by the spec, add function doc, mask
commands to make it obvious we only send valid commands
(pcie_do_write_cmd() does mask it, but requires more effort to verify)]
Link: https://lore.kernel.org/r/20190903111021.1559-2-efremov@linux.com
Signed-off-by: Denis Efremov <efremov@linux.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/hotplug/pciehp.h
drivers/pci/hotplug/pciehp_hpc.c