Linus Torvalds
0be3ff0ccb
Merge tag 'edac_updates_for_v5.19_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras
...
Pull EDAC updates from Borislav Petkov:
- Switch ghes_edac to use the CPER error reporting routines and
simplify the code considerably this way
- Rip out the silly edac_align_ptr() contraption which was computing
the size of the private structures of each driver and thus allowing
for a one-shot memory allocation. This was clearly unnecessary and
confusing so switch to simple and boring kmalloc* calls.
- Last but not least, the usual garden variety of fixes, cleanups and
improvements all over EDAC land
* tag 'edac_updates_for_v5.19_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
EDAC/xgene: Fix typo processsors -> processors
EDAC/i5100: Remove unused inline function i5100_nrecmema_dm_buf_id()
EDAC: Use kcalloc()
EDAC/ghes: Change ghes_hw from global to static
EDAC/armada_xp: Use devm_platform_ioremap_resource()
EDAC/synopsys: Add a SPDX identifier
EDAC/synopsys: Add driver support for i.MX platforms
EDAC/dmc520: Don't print an error for each unconfigured interrupt line
EDAC/mc: Get rid of edac_align_ptr()
EDAC/device: Sanitize edac_device_alloc_ctl_info() definition
EDAC/device: Get rid of the silly one-shot memory allocation in edac_device_alloc_ctl_info()
EDAC/pci: Get rid of the silly one-shot memory allocation in edac_pci_alloc_ctl_info()
EDAC/mc: Get rid of silly one-shot struct allocation in edac_mc_alloc()
efi/cper: Reformat CPER memory error location to more readable
EDAC/ghes: Unify CPER memory error location reporting
efi/cper: Add a cper_mem_err_status_str() to decode error description
powerpc/85xx: Remove fsl,85... bindings
2022-05-23 17:34:20 -07:00
Shubhrajyoti Datta
9ae83ec8b8
EDAC/synopsys: Add a SPDX identifier
...
Replace the copyright boilerplate with a SPDX identifier.
[ bp: Rewrite commit message. ]
Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
Link: https://lore.kernel.org/r/20220428044051.2842687-1-shubhrajyoti.datta@xilinx.com
2022-04-28 15:38:08 +02:00
Shubhrajyoti Datta
e2932d1f6f
EDAC/synopsys: Read the error count from the correct register
...
Currently, the error count is read wrongly from the status register. Read
the count from the proper error count register (ERRCNT).
[ bp: Massage. ]
Fixes: b500b4a029 ("EDAC, synopsys: Add ECC support for ZynqMP DDR controller")
Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
Acked-by: Michal Simek <michal.simek@xilinx.com >
Cc: <stable@vger.kernel.org >
Link: https://lore.kernel.org/r/20220414102813.4468-1-shubhrajyoti.datta@xilinx.com
2022-04-14 14:44:49 +02:00
Dinh Nguyen
f7824ded41
EDAC/synopsys: Add support for version 3 of the Synopsys EDAC DDR
...
Add support for version 3.80a of the Synopsys DDR controller. This
version of the controller has the following differences:
- UE/CE are auto cleared
- Interrupts are supported by default
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org >
Signed-off-by: Borislav Petkov <bp@suse.de >
Reviewed-by: Michal Simek <michal.simek@xilinx.com >
Link: https://lkml.kernel.org/r/20211012190709.1504152-2-dinguyen@kernel.org
2021-11-20 19:23:49 +01:00
Dinh Nguyen
bd1d6da17c
EDAC/synopsys: Use the quirk for version instead of ddr version
...
Version 2.40a supports DDR_ECC_INTR_SUPPORT for a quirk, so use that
quirk to determine a call to setup_address_map().
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org >
Signed-off-by: Borislav Petkov <bp@suse.de >
Reviewed-by: Michal Simek <michal.simek@xilinx.com >
Link: https://lkml.kernel.org/r/20211012190709.1504152-1-dinguyen@kernel.org
2021-11-20 18:13:06 +01:00
Sai Krishna Potthuri
5297cfa6bd
EDAC/synopsys: Fix wrong value type assignment for edac_mode
...
dimm->edac_mode contains values of type enum edac_type - not the
corresponding capability flags. Fix that.
Issue caught by Coverity check "enumerated type mixed with another
type."
[ bp: Rewrite commit message, add tags. ]
Fixes: ae9b56e399 ("EDAC, synps: Add EDAC support for zynq ddr ecc controller")
Signed-off-by: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com >
Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
Cc: <stable@vger.kernel.org >
Link: https://lkml.kernel.org/r/20210818072315.15149-1-shubhrajyoti.datta@xilinx.com
2021-09-16 10:21:35 +02:00
Zhang Xiaoxu
61d35648c0
EDAC/synopsys: Return the correct value in mc_probe()
...
Return the error value if the inject sysfs file creation fails, rather
than returning 0, to signal to the upper layer that the ->probe function
failed.
[ bp: Massage. ]
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@huawei.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
Reviewed-by: Michal Simek <michal.simek@xilinx.com >
Link: https://lkml.kernel.org/r/20201116135810.3130845-1-zhangxiaoxu5@huawei.com
2020-11-18 18:59:47 +01:00
Sherry Sun
2fb3f6e125
EDAC/synopsys: Do not dump uninitialized pinf->col
...
On the ZynqMP platform, zynqmp_get_error_info() is used to read out
error information. In this function, the pinf->col parameter is not
used (it is only used by the Zynq platform's zynq_get_error_info()). So
there's no need to print pinf->col on ZynqMP.
In order to differentiate on which platform handle_error() is executed,
use DDR_ECC_INTR_SUPPORT as the check condition to distinguish between
Zynq and ZynqMP platforms.
[ bp: Massage. ]
Fixes: b500b4a029 ("EDAC, synopsys: Add ECC support for ZynqMP DDR controller")
Signed-off-by: Sherry Sun <sherry.sun@nxp.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
Reviewed-by: Manish Narani <manish.narani@xilinx.com >
Link: https://lkml.kernel.org/r/1584365679-27443-1-git-send-email-sherry.sun@nxp.com
2020-03-17 14:32:31 +01:00
Sherry Sun
dfc6014e3b
EDAC/synopsys: Do not print an error with back-to-back snprintf() calls
...
handle_error() currently calls snprintf() a couple of times in
succession to output the message for a CE/UE, therefore overwriting each
part of the message which was formatted with the previous snprintf()
call. As a result, only the part of the message from the last snprintf()
call will be printed.
The simplest and most effective way to fix this problem is to combine
the whole string into one which to supply to a single snprintf() call.
[ bp: Massage. ]
Fixes: b500b4a029 ("EDAC, synopsys: Add ECC support for ZynqMP DDR controller")
Signed-off-by: Sherry Sun <sherry.sun@nxp.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
Reviewed-by: James Morse <james.morse@arm.com >
Cc: Manish Narani <manish.narani@xilinx.com >
Link: https://lkml.kernel.org/r/1582792452-32575-1-git-send-email-sherry.sun@nxp.com
2020-02-27 16:44:25 +01:00
Manish Narani
1a81361f75
EDAC, synopsys: Add Error Injection support for ZynqMP DDR controller
...
Add support for Error Injection for ZynqMP DDR controller IP. For
injecting errors, the Row, Column, Bank, Bank Group and Rank bits
positions are determined via Address Map registers of the Synopsys DDR
controller.
Signed-off-by: Manish Narani <manish.narani@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
CC: Mauro Carvalho Chehab <mchehab@kernel.org >
CC: Michal Simek <michal.simek@xilinx.com >
CC: amit.kucheria@linaro.org
CC: devicetree@vger.kernel.org
CC: leoyang.li@nxp.com
CC: linux-arm-kernel@lists.infradead.org
CC: linux-edac <linux-edac@vger.kernel.org >
CC: mark.rutland@arm.com
CC: robh+dt@kernel.org
CC: sudeep.holla@arm.com
Link: http://lkml.kernel.org/r/1540447621-22870-7-git-send-email-manish.narani@xilinx.com
2018-11-06 10:38:27 +01:00
Manish Narani
b500b4a029
EDAC, synopsys: Add ECC support for ZynqMP DDR controller
...
Add ECC support for ZynqMP DDR controller IP. The IP supports interrupts
for corrected and uncorrected errors. Add interrupt handlers for the
same.
Signed-off-by: Manish Narani <manish.narani@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
CC: Mauro Carvalho Chehab <mchehab@kernel.org >
CC: Michal Simek <michal.simek@xilinx.com >
CC: amit.kucheria@linaro.org
CC: devicetree@vger.kernel.org
CC: leoyang.li@nxp.com
CC: linux-arm-kernel@lists.infradead.org
CC: linux-edac <linux-edac@vger.kernel.org >
CC: mark.rutland@arm.com
CC: robh+dt@kernel.org
CC: sudeep.holla@arm.com
Link: http://lkml.kernel.org/r/1540447621-22870-5-git-send-email-manish.narani@xilinx.com
2018-11-06 10:30:29 +01:00
Manish Narani
e926ae573b
EDAC, synopsys: Add macro defines for ZynqMP DDRC
...
Add macro defines for ZynqMP DDR controller. These macros will be used
for ZynqMP ECC operations.
Signed-off-by: Manish Narani <manish.narani@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
CC: Mauro Carvalho Chehab <mchehab@kernel.org >
CC: Michal Simek <michal.simek@xilinx.com >
CC: amit.kucheria@linaro.org
CC: devicetree@vger.kernel.org
CC: leoyang.li@nxp.com
CC: linux-arm-kernel@lists.infradead.org
CC: linux-edac <linux-edac@vger.kernel.org >
CC: mark.rutland@arm.com
CC: robh+dt@kernel.org
CC: sudeep.holla@arm.com
Link: http://lkml.kernel.org/r/1540447621-22870-4-git-send-email-manish.narani@xilinx.com
2018-11-05 13:40:32 +01:00
Manish Narani
84de0b493f
EDAC, synopsys: Add error handling for the of_device_get_match_data() result
...
The function of_device_get_match_data() can return NULL in case of
error. Add error handling for the same in the mc_probe() function.
Signed-off-by: Manish Narani <manish.narani@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
CC: Mauro Carvalho Chehab <mchehab@kernel.org >
CC: Michal Simek <michal.simek@xilinx.com >
CC: amit.kucheria@linaro.org
CC: devicetree@vger.kernel.org
CC: leoyang.li@nxp.com
CC: linux-arm-kernel@lists.infradead.org
CC: linux-edac <linux-edac@vger.kernel.org >
CC: mark.rutland@arm.com
CC: robh+dt@kernel.org
CC: sudeep.holla@arm.com
Link: http://lkml.kernel.org/r/1540447621-22870-2-git-send-email-manish.narani@xilinx.com
2018-11-05 13:36:20 +01:00
Manish Narani
3d02a8975e
EDAC, synopsys: Add platform specific structures for the DDR Controller
...
Add platform specific structures so that different IP support can be
added later using quirks.
[ bp: fix function names. ]
Signed-off-by: Manish Narani <manish.narani@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
CC: Mauro Carvalho Chehab <mchehab@kernel.org >
CC: Michal Simek <michal.simek@xilinx.com >
CC: amit.kucheria@linaro.org
CC: devicetree@vger.kernel.org
CC: leoyang.li@nxp.com
CC: linux-arm-kernel@lists.infradead.org
CC: linux-edac <linux-edac@vger.kernel.org >
CC: mark.rutland@arm.com
CC: robh+dt@kernel.org
CC: sudeep.holla@arm.com
Link: http://lkml.kernel.org/r/1538667328-9465-6-git-send-email-manish.narani@xilinx.com
2018-11-05 13:30:49 +01:00
Manish Narani
fa9f6b9e1c
EDAC, synopsys: Return void for functions always returning 0
...
The current driver has functions which are always returning 0 - make
them return void instead.
Signed-off-by: Manish Narani <manish.narani@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
CC: Mauro Carvalho Chehab <mchehab@kernel.org >
CC: Michal Simek <michal.simek@xilinx.com >
CC: amit.kucheria@linaro.org
CC: devicetree@vger.kernel.org
CC: leoyang.li@nxp.com
CC: linux-arm-kernel@lists.infradead.org
CC: linux-edac <linux-edac@vger.kernel.org >
CC: mark.rutland@arm.com
CC: robh+dt@kernel.org
CC: sudeep.holla@arm.com
Link: http://lkml.kernel.org/r/1538667328-9465-5-git-send-email-manish.narani@xilinx.com
2018-11-05 13:30:00 +01:00
Manish Narani
225af74d63
EDAC, synopsys: Correct comments
...
Spellcheck and improve/correct comments.
Signed-off-by: Manish Narani <manish.narani@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
CC: Mauro Carvalho Chehab <mchehab@kernel.org >
CC: Michal Simek <michal.simek@xilinx.com >
CC: amit.kucheria@linaro.org
CC: devicetree@vger.kernel.org
CC: leoyang.li@nxp.com
CC: linux-arm-kernel@lists.infradead.org
CC: linux-edac <linux-edac@vger.kernel.org >
CC: mark.rutland@arm.com
CC: michal.simek@xilinx.com
CC: robh+dt@kernel.org
CC: sudeep.holla@arm.com
Link: http://lkml.kernel.org/r/1538667328-9465-4-git-send-email-manish.narani@xilinx.com
2018-11-05 13:28:29 +01:00
Manish Narani
bb894bc46e
EDAC, synopsys: Shorten static function names
...
Shorten static function names, remove the unnecessary 'synps_' prefix in
function names.
[ bp: Drop the "edac_" prefix too as that prefix is reserved for
EDAC core functions. ]
Signed-off-by: Manish Narani <manish.narani@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
CC: Mauro Carvalho Chehab <mchehab@kernel.org >
CC: Michal Simek <michal.simek@xilinx.com >
CC: amit.kucheria@linaro.org
CC: devicetree@vger.kernel.org
CC: leoyang.li@nxp.com
CC: linux-arm-kernel@lists.infradead.org
CC: linux-edac <linux-edac@vger.kernel.org >
CC: mark.rutland@arm.com
CC: robh+dt@kernel.org
CC: sudeep.holla@arm.com
Link: http://lkml.kernel.org/r/1538667328-9465-3-git-send-email-manish.narani@xilinx.com
2018-11-05 13:27:56 +01:00
Manish Narani
1b51adc6b7
EDAC, synopsys: Improve code readability
...
Clean up the driver code. Update the debug messages for EDAC errors
reported. Increase the indentation of the macros for better readability.
Signed-off-by: Manish Narani <manish.narani@xilinx.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
CC: Mauro Carvalho Chehab <mchehab@kernel.org >
CC: Michal Simek <michal.simek@xilinx.com >
CC: amit.kucheria@linaro.org
CC: devicetree@vger.kernel.org
CC: leoyang.li@nxp.com
CC: linux-arm-kernel@lists.infradead.org
CC: linux-edac <linux-edac@vger.kernel.org >
CC: manish.narani@xilinx.com
CC: mark.rutland@arm.com
CC: mchehab@kernel.org
CC: michal.simek@xilinx.com
CC: robh+dt@kernel.org
CC: sudeep.holla@arm.com
Link: http://lkml.kernel.org/r/1538667328-9465-2-git-send-email-manish.narani@xilinx.com
2018-11-05 13:22:55 +01:00
Borislav Petkov
c54182ec0e
EDAC: Get rid of mci->mod_ver
...
It is a write-only variable so get rid of it.
Signed-off-by: Borislav Petkov <bp@suse.de >
Acked-by: Robert Richter <rric@kernel.org >
Acked-by: Michal Simek <michal.simek@xilinx.com >
Acked-by: Thor Thayer <thor.thayer@linux.intel.com >
Acked-by: Tony Luck <tony.luck@intel.com >
Cc: Mark Gross <mark.gross@intel.com >
Cc: Tim Small <tim@buttersideup.com >
Cc: Ranganathan Desikan <ravi@jetztechnologies.com >
Cc: "Arvind R." <arvino55@gmail.com >
Cc: Jason Baron <jbaron@akamai.com >
Cc: "Sören Brinkmann" <soren.brinkmann@xilinx.com >
Cc: Ralf Baechle <ralf@linux-mips.org >
Cc: David Daney <david.daney@cavium.com >
Cc: Loc Ho <lho@apm.com >
Cc: linux-edac@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mips@linux-mips.org
2017-07-17 13:42:48 +02:00
Mauro Carvalho Chehab
78d88e8a3d
edac: rename edac_core.h to edac_mc.h
...
Now, all left at edac_core.h are at drivers/edac/edac_mc.c,
so rename it to edac_mc.h.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com >
2016-12-15 08:54:51 -02:00
Fabian Frederick
1afaa05515
EDAC: Constify of_device_id array
...
of_device_id is always used as const. See driver.of_match_table and open
firmware functions.
Signed-off-by: Fabian Frederick <fabf@skynet.be >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Doug Thompson <dougthompson@xmission.com >
Cc: Robert Richter <rric@kernel.org >
Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com >
Cc: Johannes Thumshirn <johannes.thumshirn@men.de >
Cc: Michal Simek <michal.simek@xilinx.com >
Cc: Sören Brinkmann <soren.brinkmann@xilinx.com >
Cc: linux-edac@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/1426535685-25996-10-git-send-email-fabf@skynet.be
Signed-off-by: Borislav Petkov <bp@suse.de >
2015-03-20 17:50:07 +01:00
Punnaiah Choudary Kalluri
ae9b56e399
EDAC, synps: Add EDAC support for zynq ddr ecc controller
...
Add EDAC support for ecc errors reporting on the synopsys ddr
controller. The ddr ecc controller corrects single bit errors and
detects double bit errors.
Selected important-ish notes from the changelog:
- I have not taken care of spliting synps_edac_geterror_info function as
it adds additional indentation levels and moreover the existing changes
were made as part of the v2 review comments
- Removed dt binding info as already there is a binding info available
under memorycontroller. so, updated ecc info there.
- Shortened the prefix "sysnopsys" to "synps"
Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xilinx.com >
Link: http://lkml.kernel.org/r/a728a8d4678f4dbf9de189a480297c3d@BY2FFO11FD034.protection.gbl
[ Boris: massage commit message. ]
Signed-off-by: Borislav Petkov <bp@suse.de >
2015-01-07 11:42:05 +01:00