[PATCH v4 2/4] drivers: misc: Add Support for TMR Manager
Greg KH
gregkh at linuxfoundation.org
Fri Sep 9 01:40:14 PDT 2022
On Fri, Sep 09, 2022 at 11:49:14AM +0530, Appana Durga Kedareswara rao wrote:
> Triple Modular Redundancy(TMR) subsystem contains three microblaze cores,
> subsystem is fault-tolerant and continues to operate nominally after
> encountering an error. Together with the capability to detect and recover
> from errors, the implementation ensures the reliability of the entire
> subsystem. TMR Manager is responsible for performing recovery of the
> subsystem detects the fault via a break signal it invokes microblaze
> software break handler which calls the tmr manager driver api to
> update the error count and status, added support for fault detection
> feature via sysfs interface.
>
> Usage:
> To know the break handler count(Error count):
> cat /sys/devices/platform/amba_pl/44a10000.tmr_manager/errcnt
>
> Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao at amd.com>
> ---
> Changes for v4:
> --> None.
> Changes for v3:
> --> Corrected month in the sysfs-driver-xilinx-tmr-manager file
> --> Updated the Kconfig to compile the driver as a module
> --> Removed unneeded status sysfs attribute
> Changes for v2:
> --> Fixed Month in the sysfs description.
> --> Fixed line over 80 char in driver.
> --> Replaced kstrtol with kstrtoul as suggested by Michal.
> --> Added error check for xlnx,magic1 value.
>
> .../testing/sysfs-driver-xilinx-tmr-manager | 16 ++
> MAINTAINERS | 7 +
> drivers/misc/Kconfig | 10 +
> drivers/misc/Makefile | 3 +-
> drivers/misc/xilinx_tmr_manager.c | 222 ++++++++++++++++++
> 5 files changed, 257 insertions(+), 1 deletion(-)
> create mode 100644 Documentation/ABI/testing/sysfs-driver-xilinx-tmr-manager
> create mode 100644 drivers/misc/xilinx_tmr_manager.c
>
> diff --git a/Documentation/ABI/testing/sysfs-driver-xilinx-tmr-manager b/Documentation/ABI/testing/sysfs-driver-xilinx-tmr-manager
> new file mode 100644
> index 000000000000..2a97be6ae849
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-driver-xilinx-tmr-manager
> @@ -0,0 +1,16 @@
> +What: /sys/devices/platform/amba_pl/<dev>/errcnt
> +Date: Sep 2022
> +Contact: appana.durga.kedareswara.rao at amd.com
> +Description: This control file provides the fault detection count.
> + This file cannot be written.
> + Example:
> + # cat /sys/devices/platform/amba_pl/44a10000.tmr_manager/errcnt
> + 1
> +
> +What: /sys/devices/platform/amba_pl/<dev>/dis_block_break
> +Date: Sep 2022
> +Contact: appana.durga.kedareswara.rao at amd.com
> +Description: Write any value to it, This control file enables the break signal.
> + This file is write only.
> + Example:
> + # echo <any value> > /sys/devices/platform/amba_pl/44a10000.tmr_manager/dis_block_break
> diff --git a/MAINTAINERS b/MAINTAINERS
> index f1390b8270b2..5fc5ec13985e 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -13277,6 +13277,13 @@ W: http://www.monstr.eu/fdt/
> T: git git://git.monstr.eu/linux-2.6-microblaze.git
> F: arch/microblaze/
>
> +MICROBLAZE TMR MANAGER
> +M: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao at amd.com>
> +S: Supported
> +F: Documentation/ABI/testing/sysfs-driver-xilinx-tmr-manager
> +F: Documentation/devicetree/bindings/misc/xlnx,tmr-manager.yaml
> +F: drivers/misc/xilinx_tmr_manager.c
> +
> MICROCHIP AT91 DMA DRIVERS
> M: Ludovic Desroches <ludovic.desroches at microchip.com>
> M: Tudor Ambarus <tudor.ambarus at microchip.com>
> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
> index 94e9fb4cdd76..1508cc29b05a 100644
> --- a/drivers/misc/Kconfig
> +++ b/drivers/misc/Kconfig
> @@ -496,6 +496,16 @@ config VCPU_STALL_DETECTOR
>
> If you do not intend to run this kernel as a guest, say N.
>
> +config TMR_MANAGER
> + tristate "Select TMR Manager"
> + depends on MICROBLAZE && MB_MANAGER
> + help
> + This option enables the driver developed for TMR Manager. The Triple
> + Modular Redundancy(TMR) manager provides support for fault detection
> + via sysfs interface.
What is the module name?
And the fault detection api is in debugfs, not sysfs, right?
thanks,
greg k-h
More information about the linux-arm-kernel
mailing list