Krzysztof Chruscinski
eb3375f47c
shell: Add __printf_like to shell_fprintf
...
Add __printf_like modifier to validate strings used by shell.
Fixing warnings triggered by this change.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-10-14 16:32:19 -04:00
Andrei Emeltchenko
443143b5ec
edac: Make edac_ibecc_init() function static
...
Make function edac_ibecc_init() static.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-10-14 12:11:09 -04:00
Daniel Leung
77dd3daaaf
drivers: edac: build as static library
...
Instead of putting object files inside libzephyr.a,
simply build a separate static library as most other
driver types are doing this already.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-08-17 06:06:03 -04:00
Johan Hedberg
b10287cd69
drivers: edac: Fix PCIe Kconfig dependency
...
It's not possible to build the IBECC driver without PCIe support.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2021-07-12 20:02:00 -04:00
Henrik Brix Andersen
fe2075d140
shell: modules: promote edac mem shell subcommand to root shell command
...
Promote the "edac mem" shell subcommand to a generic "devmem" root shell
command. This command is useful for poking around registers and memory
outside of the EDAC drivers.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-07-02 13:21:25 -04:00
Andrei Emeltchenko
882600834e
edac: shell: Use helper functions for shell devmem command
...
Using helper functions decreases function complexity numbers reported
by static code analyzers.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
fee256bc72
edac: shell: Print exact error with shell error message
...
Include to shell_error() also exact error.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
228232e29d
edac: shell: Check error for log clear functions
...
Check errors returned by edac_ecc_error_log_clear() and
edac_parity_error_log_clear().
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
9da4e3f3dc
edac: ibecc: Reduce CCM number using fallthrough
...
Reduce CCM number reported by Coverity by using __fallthrough.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
50c47267b4
edac: ibecc: Strip debug information
...
Remove debug information increasing code coverage.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
07d524357e
edac: ibecc: Simplify PCI probing
...
Use only one pcie_conf_read() instead of several reads and make code
more readable.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
b1d79776c7
edac: ibecc: Simplify NMI handling
...
Refactor NMI handling making it clearer and fix return code for other
NMI source.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
b6c75cfd34
edac: ibecc: Use boolean expressions in if conditions
...
Use only boolean in if conditions as new coding style implies.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
9bad08e3e7
edac: shell: Use boolean expressions in if conditions
...
Use only boolean in if conditions as new coding style implies.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
daf8095851
edac: shell: Replace ret with err
...
Replace ret with err for simple int type errors.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
661eb79f6f
edac: Use TODO instead of workaround in comment
...
Using TODO is more appropriate since workaround implies working around
a bug.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
7293587725
edac: Use -ENOSYS for not implemented mandatory API functions
...
Use standard Zephyr way for not implemented mandatory API functions.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
0eb48e30c6
edac: shell: Use new EDAC API in shell
...
Use new EDAC API in shell.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
6622eccddb
edac: Refactor EDAC API
...
Refactor EDAC API making it more clear, removing unneeded typedefs and
using check for optional and assert for mandatory APIs.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-06-30 18:29:21 -04:00
Andrei Emeltchenko
365be4540b
edac: ibecc: Add supported SKU device IDs
...
List all supported device IDs found in External Design Specification
Volume 1 which have IBECC supported.
Fixes #33543
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-03-22 13:05:01 -04:00
Andrei Emeltchenko
3f4a41946a
edac: shell: Add test_default command
...
Add setting default inject test parameters.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-02-19 16:06:29 +02:00
Andrei Emeltchenko
4bbcd1433e
edac: shell: Update shell commands comments
...
Correct commands descriptions in comments
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-02-19 16:06:29 +02:00
Andrei Emeltchenko
8a71b16f93
edac: Update shell commands
...
Add error_type and trigger shell commands and remove outdated ctrl.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-02-04 09:37:42 -05:00
Andrei Emeltchenko
47dd65bc97
edac: Rename PCI_ENDPOINT to PCI_HOST_BRIDGE
...
Use PCI_HOST_BRIDGE macro.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-02-04 09:37:42 -05:00
Andrei Emeltchenko
c0dd472cd7
edac: Do not use BDF and PCI IDs from DTS
...
Use autoconfiguration instead of DT hardcoding.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-02-04 09:37:42 -05:00
Andrei Emeltchenko
89a253b052
edac: Use Device Tree values for BDF and PCI VID
...
Start using DTS values for PCI Vendor ID and PCI BDF. For the PCI
Device ID we do not use DTS since this would require changing overlay
for different SKU board.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-02-04 09:37:42 -05:00
Andrei Emeltchenko
73bf31f028
edac: Remove magic numbers
...
Use proper defines instead of magic numbers.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-01-21 08:34:07 -05:00
Andrei Emeltchenko
311732a0a0
edac: Replace DEVICE_AND_API_INIT with DEVICE_DEFINE
...
Since DEVICE_AND_API_INIT was recently deprecated replace with correct
version.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-01-21 08:34:07 -05:00
Andrei Emeltchenko
f4582b9478
edac: Add error data information to callback parameter
...
Add extra error data information to callback parameter. Add tests for
testing the data provided.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-01-21 08:34:07 -05:00
Andrei Emeltchenko
ae25a9926c
edac: Remove extra logging
...
Remove unneeded extra logging.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-01-21 08:34:07 -05:00
Andrei Emeltchenko
064c9fe40f
edac: Use helpers to read / write IBECC registers
...
Use helpers ibecc_{read,write}_reg{32,64}.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-01-21 08:34:07 -05:00
Andrei Emeltchenko
2dc413aa74
edac: Split EDAC set ctrl to set error_type and error_trigger
...
Split setting EDAC IBECC ctrl to setting error_type and
error_trigger to make it easier for other platforms.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-01-21 08:34:07 -05:00
Andrei Emeltchenko
f80628ba96
edac: Generalize EDAC API
...
Replace addr with param1 and addr_mask with param2 for get / set types
of functions. Those names are more general and allow to implement
error injections for other platforms.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-01-21 08:34:07 -05:00
Andrei Emeltchenko
f7f2dd85be
edac: shell: Add EDAC shell
...
Add EDAC shell module which would be included in the EDAC sample.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-01-21 08:34:07 -05:00
Andrei Emeltchenko
2b30d04eef
edac: ibecc: Add EDAC IBECC driver
...
Add In-Band ECC driver. Supported in ehl_crb board.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-01-21 08:34:07 -05:00
Andrei Emeltchenko
d4d278da0a
edac: Add Zephyr EDAC configuration
...
Add Kconfig for EDAC.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-01-21 08:34:07 -05:00