forked from Minki/linux
1a218d312e
The performance modules in BlueField are present in several hardware blocks and each block provides access to these stats either through counters that can be programmed to monitor supported events or through memory-mapped registers that hold the relevant information. The hardware blocks that include a performance module are: * Tile (block containing 2 cores and a shared L2 cache) * TRIO (PCIe root complex) * MSS (Memory Sub-system containing the Memory Controller and L3 cache) * GIC (Interrupt controller) * SMMU (System Memory Management Unit) The mlx_pmc driver provides access to all of these performance modules through a hwmon sysfs interface. v2 --> v3 Update copyright info. v1 --> v2 Remove unused headers. Add comma to arrays where last line is not a termination. Use kstrtoint in place of sscanf. UUID manipulation follows drivers/platform/mellanox/mlxbf-bootctl.c Signed-off-by: Shravan Kumar Ramani <shravankr@nvidia.com> Reviewed-by: Vadim Pasternak <vadimp@nvidia.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/4e19a1e5bf4197ad27fc57981fd280eaebd23577.1602160468.git.shravankr@nvidia.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
70 lines
2.3 KiB
Plaintext
70 lines
2.3 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Platform support for Mellanox hardware
|
|
#
|
|
|
|
menuconfig MELLANOX_PLATFORM
|
|
bool "Platform support for Mellanox hardware"
|
|
depends on X86 || ARM || ARM64 || COMPILE_TEST
|
|
help
|
|
Say Y here to get to see options for platform support for
|
|
Mellanox systems. This option alone does not add any kernel code.
|
|
|
|
If you say N, all options in this submenu will be skipped and disabled.
|
|
|
|
if MELLANOX_PLATFORM
|
|
|
|
config MLXREG_HOTPLUG
|
|
tristate "Mellanox platform hotplug driver support"
|
|
depends on REGMAP
|
|
depends on HWMON
|
|
depends on I2C
|
|
help
|
|
This driver handles hot-plug events for the power suppliers, power
|
|
cables and fans on the wide range Mellanox IB and Ethernet systems.
|
|
|
|
config MLXREG_IO
|
|
tristate "Mellanox platform register access driver support"
|
|
depends on REGMAP
|
|
depends on HWMON
|
|
help
|
|
This driver allows access to Mellanox programmable device register
|
|
space through sysfs interface. The sets of registers for sysfs access
|
|
are defined per system type bases and include the registers related
|
|
to system resets operation, system reset causes monitoring and some
|
|
kinds of mux selection.
|
|
|
|
config MLXBF_TMFIFO
|
|
tristate "Mellanox BlueField SoC TmFifo platform driver"
|
|
depends on ARM64
|
|
depends on ACPI
|
|
depends on VIRTIO_CONSOLE && VIRTIO_NET
|
|
help
|
|
Say y here to enable TmFifo support. The TmFifo driver provides
|
|
platform driver support for the TmFifo which supports console
|
|
and networking based on the virtio framework.
|
|
|
|
config MLXBF_BOOTCTL
|
|
tristate "Mellanox BlueField Firmware Boot Control driver"
|
|
depends on ARM64
|
|
depends on ACPI
|
|
help
|
|
The Mellanox BlueField firmware implements functionality to
|
|
request swapping the primary and alternate eMMC boot partition,
|
|
and to set up a watchdog that can undo that swap if the system
|
|
does not boot up correctly. This driver provides sysfs access
|
|
to the userspace tools, to be used in conjunction with the eMMC
|
|
device driver to do necessary initial swap of the boot partition.
|
|
|
|
config MLXBF_PMC
|
|
tristate "Mellanox BlueField Performance Monitoring Counters driver"
|
|
depends on ARM64
|
|
depends on HWMON
|
|
depends on ACPI
|
|
help
|
|
Say y here to enable PMC support. The PMC driver provides access
|
|
to performance monitoring counters within various blocks in the
|
|
Mellanox BlueField SoC via a sysfs interface.
|
|
|
|
endif # MELLANOX_PLATFORM
|