aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLogan Gunthorpe2017-03-06 18:30:54 -0600
committerBjorn Helgaas2017-03-06 18:33:34 -0600
commit080b47def5e5e28b2509c5bb92160d1df730f27b (patch)
tree72a20cad07f6cad6ddd437af46616fd53e0f78c5 /MAINTAINERS
parentc1ae3cfa0e89fa1a7ecc4c99031f5e9ae99d9201 (diff)
downloadkernel-080b47def5e5e28b2509c5bb92160d1df730f27b.tar.gz
kernel-080b47def5e5e28b2509c5bb92160d1df730f27b.tar.xz
kernel-080b47def5e5e28b2509c5bb92160d1df730f27b.zip
MicroSemi Switchtec management interface driver
Microsemi's "Switchtec" line of PCI switch devices is already well supported by the kernel with standard PCI switch drivers. However, the Switchtec device advertises a special management endpoint with a separate PCI function address and class code. This endpoint enables some additional functionality which includes: * Packet and Byte Counters * Switch Firmware Upgrades * Event and Error logs * Querying port link status * Custom user firmware commands Add a switchtec kernel module which provides PCI driver that exposes a char device. The char device provides userspace access to this interface through read, write and (optionally) poll calls. A userspace tool and library which utilizes this interface is available at [1]. This tool takes inspiration (and borrows some code) from nvme-cli [2]. The tool is largely complete at this time but additional features may be added in the future. [1] https://github.com/sbates130272/switchtec-user [2] https://github.com/linux-nvme/nvme-cli [Dan Carpenter <dan.carpenter@oracle.com>: don't invert error codes] [Christophe JAILLET <christophe.jaillet@wanadoo.fr>: fix switchtec_dev_open() error handling] Tested-by: Krishna Dhulipala <krishnad@fb.com> Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Signed-off-by: Stephen Bates <stephen.bates@microsemi.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Wei Zhang <wzhang@fb.com> Reviewed-by: Jens Axboe <axboe@fb.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'MAINTAINERS')
-rw-r--r--MAINTAINERS8
1 files changed, 8 insertions, 0 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index c265a5fe4848..16bd75d30ac1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9655,6 +9655,14 @@ S: Maintained
9655F: Documentation/devicetree/bindings/pci/aardvark-pci.txt 9655F: Documentation/devicetree/bindings/pci/aardvark-pci.txt
9656F: drivers/pci/host/pci-aardvark.c 9656F: drivers/pci/host/pci-aardvark.c
9657 9657
9658PCI DRIVER FOR MICROSEMI SWITCHTEC
9659M: Kurt Schwemmer <kurt.schwemmer@microsemi.com>
9660M: Stephen Bates <stephen.bates@microsemi.com>
9661M: Logan Gunthorpe <logang@deltatee.com>
9662L: linux-pci@vger.kernel.org
9663S: Maintained
9664F: drivers/pci/switch/switchtec*
9665
9658PCI DRIVER FOR NVIDIA TEGRA 9666PCI DRIVER FOR NVIDIA TEGRA
9659M: Thierry Reding <thierry.reding@gmail.com> 9667M: Thierry Reding <thierry.reding@gmail.com>
9660L: linux-tegra@vger.kernel.org 9668L: linux-tegra@vger.kernel.org