[PATCH v4 2/4] drivers: misc: Add Support for TMR Manager
Rao, Appana Durga Kedareswara
appanad at amd.com
Fri Sep 9 01:56:13 PDT 2022
Hi Greg,
Thanks for the review.
On 09/09/22 2:10 pm, Greg KH wrote:
> 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?
Fault injection happens via debugfs in the tmr-inject driver (4/4 patch
- xilinx_tmr_inject.c) patch, Fault detection is tracked using tmr
manager errcnt sysfs entry (/sys/devices/platform/amba_pl/<dev>/errcnt).
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.
Regards,
Kedar.
>
> thanks,
>
> greg k-h
More information about the linux-arm-kernel
mailing list