[PATCH 3/5] EDAC, mc_sysfs: Remove pointless gotos

2019-09-02 Thread Robert Richter
Use direct returns instead of gotos. Error handling code becomes smaller and better readable. Signed-off-by: Robert Richter --- drivers/edac/edac_mc_sysfs.c | 20 +++- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac

[PATCH 2/5] EDAC, mc_sysfs: Change dev_ch_attribute->channel to unsigned int

2019-09-02 Thread Robert Richter
Struct member dev_ch_attribute->channel is always used as unsigned int. Change type to unsigned int to avoid type casts. Signed-off-by: Robert Richter --- drivers/edac/edac_mc_sysfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/e

Re: [PATCH v2 13/24] EDAC, ghes: Add support for legacy API counters

2019-08-30 Thread Robert Richter
On 16.08.19 11:55:59, Borislav Petkov wrote: > On Mon, Jun 24, 2019 at 03:09:22PM +0000, Robert Richter wrote: > > The ghes driver is not able yet to count legacy API counters in sysfs, > > e.g.: > > > > /sys/devices/system/edac/mc/mc0/csrow2/ce_count > > /sys/

Re: [PATCH v2 08/24] EDAC: Introduce mci_for_each_dimm() iterator

2019-08-28 Thread Robert Richter
On 14.08.19 17:18:24, Borislav Petkov wrote: > On Mon, Jun 24, 2019 at 03:09:11PM +0000, Robert Richter wrote: > > Make code more readable by introducing a mci_for_each_dimm() iterator. > > Now, we just get a pointer to a struct dimm_info. Direct array access > > using an inde

Re: [PATCH v2 06/24] EDAC: Kill EDAC_DIMM_PTR() macro

2019-08-27 Thread Robert Richter
On 13.08.19 16:59:47, Borislav Petkov wrote: > > + * > > + * For 2 layers, this macro is similar to allocate a bi-dimensional array > > + * and to return "dimms[layer0][layer1]"; > > + * > > + * For 3 layers, this macro is similar to allocate a tri-dimensional array > > + * and to return

Re: [PATCH v2 02/24] EDAC, ghes: Fix grain calculation

2019-08-12 Thread Robert Richter
On 12.08.19 09:32:22, Borislav Petkov wrote: > On Mon, Aug 12, 2019 at 06:42:00AM +0000, Robert Richter wrote: > > With the grain_bits calculation the mask is rounded up to the next > > power of 2 value. > > mask= 0xff00ff00 grain = ~mask + 1 > ~mask = 0x

Re: [PATCH v2 02/24] EDAC, ghes: Fix grain calculation

2019-08-12 Thread Robert Richter
On 09.08.19 15:15:59, Borislav Petkov wrote: > On Mon, Jun 24, 2019 at 03:08:57PM +0000, Robert Richter wrote: > > The conversion from the physical address mask to a grain (defined as > > granularity in bytes) is broken: > > > > e->grain = ~(mem_err-&g

Re: [PATCH v2 15/24] EDAC, ghes: Extract numa node information for each dimm

2019-08-09 Thread Robert Richter
Hi James, On 02.08.19 18:05:07, James Morse wrote: > On 24/06/2019 16:09, Robert Richter wrote: > > In a later patch we want to have one mc device per node. This patch > > extracts the numa node information for each dimm. This is done by > > collecting the physical addres

Re: [PATCH v2 12/24] EDAC, ghes: Use standard kernel macros for page calculations

2019-08-07 Thread Robert Richter
On 02.08.19 18:04:54, James Morse wrote: > After a shorter game of spot-the-difference: > Reviewed-by: James Morse > > Previously here: > https://lore.kernel.org/linux-edac/e566fe1d-ed06-53bc-6827-f6dfa32ee...@arm.com/ > > > Please pick up tags when posting a new version. > If you don't do

Re: [PATCH v2 03/24] EDAC, ghes: Remove pvt->detail_location string

2019-08-07 Thread Robert Richter
On 02.08.19 18:04:46, James Morse wrote: > On 24/06/2019 16:08, Robert Richter wrote: > > The detail_location[] string in struct ghes_edac_pvt is complete > > useless and data is just copied around. Put everything into > > e->other_detail from the beginning. I am updat

Re: [PATCH v2 00/24] EDAC, mc, ghes: Fixes and updates to improve memory error reporting

2019-08-02 Thread Robert Richter
Hi all, this is a friendly ping for review of this series. Thanks, -Robert On 24.06.19 15:08:52, Robert Richter wrote: > Current arm64 systems that use the ghes driver lack kernel support for > a proper memory error reporting. Following issues are seen: > > * Error record shows

Re: [RFC 1/1] edac: Add a counter parameter for edac_device_handle_ue/ce()

2019-08-01 Thread Robert Richter
On 01.08.19 15:29:03, Hawa, Hanna wrote: > On 8/1/2019 2:35 PM, Robert Richter wrote: > > On 15.07.19 13:53:07, Hanna Hawa wrote: > > > Add a counter parameter in order to avoid losing errors count for edac > > > device, the error count reports the number of errors repor

Re: [RFC 1/1] edac: Add a counter parameter for edac_device_handle_ue/ce()

2019-08-01 Thread Robert Richter
On 15.07.19 13:53:07, Hanna Hawa wrote: > Add a counter parameter in order to avoid losing errors count for edac > device, the error count reports the number of errors reported by an edac > device similar to the way MC_EDAC do. > > Signed-off-by: Hanna Hawa > --- > drivers/edac/altera_edac.c

Re: [PATCH 2/3] module: Fix up module_notifier return values.

2019-07-04 Thread Robert Richter
On 25.06.19 09:42:14, Peter Zijlstra wrote: > On Mon, Jun 24, 2019 at 04:58:10PM -0400, Frank Ch. Eigler wrote: > > From peterz's comments, the patches, it's not obvious to me how one is > > to choose between 0 (NOTIFY_DONE) and 1 (NOTIFY_OK) in the case of a > > routine success. > > I'm not

Re: [PATCH 2/3] module: Fix up module_notifier return values.

2019-07-04 Thread Robert Richter
On 24.06.19 11:18:45, Peter Zijlstra wrote: > While auditing all module notifiers I noticed a whole bunch of fail > wrt the return value. Notifiers have a 'special' return semantics. > > Cc: Robert Richter > Cc: Steven Rostedt > Cc: Ingo Molnar > Cc: Alexei Starovoitov

Re: [PATCH 12/21] EDAC, ghes: Add support for legacy API counters

2019-06-26 Thread Robert Richter
On 26.06.19 10:33:28, James Morse wrote: > On 20/06/2019 07:55, Robert Richter wrote: > > It is not that I am keen on fixing legacy edac sysfs. It just happens > > while unifying the error handlers in ghes_edac and edac_mc. As I see > > you are reluctant on just letting it g

Re: [PATCH v2 24/24] EDAC, ghes: Disable legacy API for ARM64

2019-06-26 Thread Robert Richter
On 26.06.19 10:33:39, James Morse wrote: > On 24/06/2019 16:09, Robert Richter wrote: > > James Morse: "I'm all for removing/warning-its-broken it when > > ghes_edac is in use." > > Thanks for taking that out of context. The very next word was 'but': > http://lo

[PATCH v2 00/24] EDAC, mc, ghes: Fixes and updates to improve memory error reporting

2019-06-24 Thread Robert Richter
fter sysfs reset_counters. Robert Richter (24): EDAC, mc: Fix grain_bits calculation EDAC, ghes: Fix grain calculation EDAC, ghes: Remove pvt->detail_location string EDAC, ghes: Unify trace_mc_event() code with edac_mc driver EDAC, mc: Fix and improve sysfs init functions EDAC: Kill EDAC_DIM

[PATCH v2 12/24] EDAC, ghes: Use standard kernel macros for page calculations

2019-06-24 Thread Robert Richter
Use standard macros for page calculations. Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/edac/ghes_edac.c b/drivers/edac/ghes_edac.c index 786f1b32eee1..746083876b5f 100644 --- a/drivers/edac

[PATCH v2 11/24] EDAC, mc: Rework edac_raw_mc_handle_error() to use struct dimm_info

2019-06-24 Thread Robert Richter
Rework edac_raw_mc_handle_error() to use struct dimm_info. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 28 +--- drivers/edac/edac_mc.h | 2 ++ drivers/edac/ghes_edac.c | 5 - 3 files changed, 19 insertions(+), 16 deletions(-) diff --git

[PATCH v2 14/24] EDAC, ghes: Rework memory hierarchy detection

2019-06-24 Thread Robert Richter
registration will be implemented in a later patch. Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 166 ++- 1 file changed, 127 insertions(+), 39 deletions(-) diff --git a/drivers/edac/ghes_edac.c b/drivers/edac/ghes_edac.c index 8063996a311d..44bfb499b147

[PATCH v2 08/24] EDAC: Introduce mci_for_each_dimm() iterator

2019-06-24 Thread Robert Richter
Make code more readable by introducing a mci_for_each_dimm() iterator. Now, we just get a pointer to a struct dimm_info. Direct array access using an index is no longer needed to iterate. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 18 ++ drivers/edac

[PATCH v2 10/24] EDAC, mc: Remove per layer counters

2019-06-24 Thread Robert Richter
he unused counters that just add complexity. Error counter values are directly stored in struct dimm_info now. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 98 drivers/edac/edac_mc_sysfs.c | 20 +++- drivers/edac/ghes_edac.c | 5

[PATCH v2 06/24] EDAC: Kill EDAC_DIMM_PTR() macro

2019-06-24 Thread Robert Richter
igned-off-by: Robert Richter --- drivers/edac/edac_mc.c | 1 + drivers/edac/ghes_edac.c| 8 ++-- drivers/edac/i10nm_base.c | 3 +- drivers/edac/i3200_edac.c | 3 +- drivers/edac/i5000_edac.c | 5 +-- drivers/edac/i5100_edac.c | 3 +- drivers/edac/i5400_edac.c | 4 +- dri

[PATCH v2 16/24] EDAC, ghes: Moving code around ghes_edac_register()

2019-06-24 Thread Robert Richter
This is in preparation of the next patch to make the changes there more visible. Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 97 ++-- 1 file changed, 53 insertions(+), 44 deletions(-) diff --git a/drivers/edac/ghes_edac.c b/drivers/edac

[PATCH v2 22/24] EDAC, ghes: Move struct member smbios_handle to struct ghes_dimm_info

2019-06-24 Thread Robert Richter
This is private to the ghes_edac driver, so better keep that data in the struct ghes_dimm_info. Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 15 +++ include/linux/edac.h | 2 -- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/edac

[PATCH v2 24/24] EDAC, ghes: Disable legacy API for ARM64

2019-06-24 Thread Robert Richter
ition from x86 to arm64. I leave that decision up to James. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 34 +++--- drivers/edac/edac_mc.h | 7 +++ drivers/edac/ghes_edac.c | 4 +++- 3 files changed, 37 insertions(+), 8 deletions(-) diff --git

[PATCH v2 19/24] EDAC, mc: Introduce edac_mc_alloc_by_dimm() for per dimm allocation

2019-06-24 Thread Robert Richter
this way. The edac's driver uses internally a dimm index already for data access. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 83 drivers/edac/edac_mc.h | 17 ++-- drivers/edac/ghes_edac.c | 7 ++-- 3 files changed, 76 insertions

[PATCH v2 18/24] EDAC, ghes: Fill sysfs with the DMI DIMM label information

2019-06-24 Thread Robert Richter
/mc1/dimm3/dimm_label:N1 DIMM_L0 /sys/devices/system/edac/mc/mc1/dimm4/dimm_label:N1 DIMM_M0 /sys/devices/system/edac/mc/mc1/dimm5/dimm_label:N1 DIMM_N0 /sys/devices/system/edac/mc/mc1/dimm6/dimm_label:N1 DIMM_O0 /sys/devices/system/edac/mc/mc1/dimm7/dimm_label:N1 DIMM_P0 Signed-off-by: Robert

[PATCH v2 20/24] EDAC, ghes: Identify dimm by node, card, module and handle

2019-06-24 Thread Robert Richter
and select the dimm accordingly. Inconsistent error records will be reported which is the case if the same dimm handle reports errors with different node, card or module. The change allows to enable per-layer reporting based on node, card and module in the next patch. Signed-off-by: Robert Richter

[PATCH v2 21/24] EDAC, ghes: Enable per-layer reporting based on card/module

2019-06-24 Thread Robert Richter
to edac_raw_mc_handle_error(). Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 45 ++-- drivers/edac/ghes_edac.c | 76 ++-- include/linux/edac.h | 2 ++ 3 files changed, 63 insertions(+), 60 deletions(-) diff --git a/drivers

[PATCH v2 05/24] EDAC, mc: Fix and improve sysfs init functions

2019-06-24 Thread Robert Richter
Remove gotos as they just create overhead. Also, fix debug message for the case edac_create_dimm_object() is failing. Signed-off-by: Robert Richter --- drivers/edac/edac_mc_sysfs.c | 25 + 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/drivers/edac

[PATCH v2 17/24] EDAC, ghes: Create one memory controller device per node

2019-06-24 Thread Robert Richter
/dimm_ce_count:4 /sys/devices/system/edac/mc/mc1/dimm3/dimm_ce_count:1 /sys/devices/system/edac/mc/mc1/dimm6/dimm_ce_count:2 Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 126 --- 1 file changed, 104 insertions(+), 22 deletions(-) diff --git a/drivers

[PATCH v2 15/24] EDAC, ghes: Extract numa node information for each dimm

2019-06-24 Thread Robert Richter
: DIMM14: Found mem range [0x009ffd00-0x00bffcff] on node 1 EDAC DEBUG: mem_info_setup: DIMM15: Found mem range [0x009ffd00-0x00bffcff] on node 1 Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 98 +++- 1 file changed

[PATCH v2 02/24] EDAC, ghes: Fix grain calculation

2019-06-24 Thread Robert Richter
o longer a bit mask. The formula is now the same as in edac_mc and can later be unified. Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/edac/ghes_edac.c b/drivers/edac/ghes_edac.c index 7f19f1c672c3..

[PATCH v2 13/24] EDAC, ghes: Add support for legacy API counters

2019-06-24 Thread Robert Richter
can use it too. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 38 +- drivers/edac/edac_mc.h | 7 ++- drivers/edac/ghes_edac.c | 2 +- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/drivers/edac/edac_mc.c b/drivers/edac

[PATCH v2 07/24] EDAC: Kill EDAC_DIMM_OFF() macro

2019-06-24 Thread Robert Richter
We do not need to calculate the offset in the mc's dimm array, let's just store the index in struct dimm_info and we can get rid of this macro. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 13 drivers/edac/edac_mc_sysfs.c | 20 -- include/linux

[PATCH v2 09/24] EDAC, mc: Cleanup _edac_mc_free() code

2019-06-24 Thread Robert Richter
Remove needless and boilerplate variable declarations. No functional changes. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 21 + 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c index 27277ca46ab3

[PATCH v2 01/24] EDAC, mc: Fix grain_bits calculation

2019-06-24 Thread Robert Richter
grain_bits = fls_long(8 - 1) grain_bits = fls_long(8 - 1) grain_bits = 3 grain = 1 << 3 = 8 Note: We need to check if the hardware reports a reasonable grain != 0 and fallback with a warn_once and 1 byte granularity otherwise. Signed-off-by: Robert R

[PATCH v2 04/24] EDAC, ghes: Unify trace_mc_event() code with edac_mc driver

2019-06-24 Thread Robert Richter
Duplicate code, remove it. The only difference is the missing IS_ENABLED(CONFIG_RAS) switch in ghes_edac which we will need there too. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 34 +- drivers/edac/ghes_edac.c | 16 +--- 2 files

[PATCH v2 03/24] EDAC, ghes: Remove pvt->detail_location string

2019-06-24 Thread Robert Richter
The detail_location[] string in struct ghes_edac_pvt is complete useless and data is just copied around. Put everything into e->other_detail from the beginning. Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 16 1 file changed, 8 insertions(+), 8 deleti

Re: [PATCH 12/21] EDAC, ghes: Add support for legacy API counters

2019-06-20 Thread Robert Richter
On 19.06.19 18:22:32, James Morse wrote: > > In any case, this patch cleans up code as old API's counter code is > > isolated and moved to common code. Making the counter's work for ghes > > is actually a side-effect here. The cleanup is a prerequisit for > > follow on patches. > > I'm all for

Re: [PATCH 11/21] EDAC, ghes: Unify trace_mc_event() code with edac_mc driver

2019-06-13 Thread Robert Richter
On 04.06.19 18:15:50, James Morse wrote: > On 03/06/2019 14:10, Robert Richter wrote: > > The +1 looks odd to me also for the edac_mc driver, but I need to take > > a closer look here as well as some logs suggest the grain is > > calculated correctly. > > My theory

Re: [PATCH 14/21] EDAC, ghes: Extract numa node information for each dimm

2019-06-13 Thread Robert Richter
Hi James, thank you for your review and response here. See my comments below. On 29.05.19 18:51:00, James Morse wrote: > On 29/05/2019 09:44, Robert Richter wrote: > > In a later patch we want to have one mc device per node. This patch > > extracts the numa node informatio

Re: [PATCH 12/21] EDAC, ghes: Add support for legacy API counters

2019-06-12 Thread Robert Richter
On 29.05.19 16:13:02, James Morse wrote: > On 29/05/2019 09:44, Robert Richter wrote: > > The ghes driver is not able yet to count legacy API counters in sysfs, > > e.g.: > > > > /sys/devices/system/edac/mc/mc0/csrow2/ce_count > > /sys/devices/system/edac/mc/

Re: [PATCH 10/21] EDAC, ghes: Remove pvt->detail_location string

2019-06-12 Thread Robert Richter
On 29.05.19 16:13:20, James Morse wrote: > Hi Robert, > > On 29/05/2019 09:44, Robert Richter wrote: > > The detail_location[] string in struct ghes_edac_pvt is complete > > useless and data is just copied around. Put everything into > > e->other_detail from the begi

Re: [PATCH 02/21] EDAC: Fixes to use put_device() after device_add() errors

2019-06-12 Thread Robert Richter
On 11.06.19 19:28:30, Borislav Petkov wrote: > On Wed, May 29, 2019 at 08:44:05AM +0000, Robert Richter wrote: > > Always use put_device() after device_add() failed. > > > > Signed-off-by: Robert Richter > > --- > > drivers/edac/edac_mc_sysfs.c | 36 ++

Re: [PATCH 11/21] EDAC, ghes: Unify trace_mc_event() code with edac_mc driver

2019-06-03 Thread Robert Richter
On 29.05.19 16:12:38, James Morse wrote: > Hi Robert, > > On 29/05/2019 09:44, Robert Richter wrote: > > Almost duplicate code, remove it. > > almost? The grain ... as noted below. > > > > Note: there is a difference in the calculation of the grain_bits, >

Re: [PATCH 00/21] EDAC, mc, ghes: Fixes and updates to improve memory error reporting

2019-05-31 Thread Robert Richter
On 29.05.19 16:54:52, Borislav Petkov wrote: > On Wed, May 29, 2019 at 08:44:01AM +0000, Robert Richter wrote: > > Patch #1: Repost of an already accepted patch sent to the ml. Adding > > it here for completeness as I did not find it in a repository yet. > > Try mainline: >

Re: [PATCH 13/21] EDAC, ghes: Rework memory hierarchy detection

2019-05-31 Thread Robert Richter
Hi James, thanks for your review. See below. On 29.05.19 16:06:55, James Morse wrote: > Hi Robert, > > On 29/05/2019 09:44, Robert Richter wrote: > > In a later patch we want add more information about the memory > > hierarchy (NUMA topology, DIMM label information). Rework

[PATCH 02/21] EDAC: Fixes to use put_device() after device_add() errors

2019-05-29 Thread Robert Richter
Always use put_device() after device_add() failed. Signed-off-by: Robert Richter --- drivers/edac/edac_mc_sysfs.c | 36 +++- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c index

[PATCH 08/21] EDAC, mc: Rework edac_raw_mc_handle_error() to use struct dimm_info

2019-05-29 Thread Robert Richter
Rework edac_raw_mc_handle_error() to use struct dimm_info. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 28 +--- drivers/edac/edac_mc.h | 2 ++ drivers/edac/ghes_edac.c | 6 +- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git

[PATCH 11/21] EDAC, ghes: Unify trace_mc_event() code with edac_mc driver

2019-05-29 Thread Robert Richter
Almost duplicate code, remove it. Note: there is a difference in the calculation of the grain_bits, using the edac_mc's version here. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 22 +++--- drivers/edac/ghes_edac.c | 9 - 2 files changed, 11 insertions

[PATCH 10/21] EDAC, ghes: Remove pvt->detail_location string

2019-05-29 Thread Robert Richter
The detail_location[] string in struct ghes_edac_pvt is complete useless and data is just copied around. Put everything into e->other_detail from the beginning. Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 17 + 1 file changed, 9 insertions(+), 8 deleti

[PATCH 15/21] EDAC, ghes: Moving code around ghes_edac_register()

2019-05-29 Thread Robert Richter
This is in preparation of the next patch to make the changes there more visible. Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 97 ++-- 1 file changed, 53 insertions(+), 44 deletions(-) diff --git a/drivers/edac/ghes_edac.c b/drivers/edac

[PATCH 17/21] EDAC, ghes: Fill sysfs with the DMI DIMM label information

2019-05-29 Thread Robert Richter
/mc1/dimm3/dimm_label:N1 DIMM_L0 /sys/devices/system/edac/mc/mc1/dimm4/dimm_label:N1 DIMM_M0 /sys/devices/system/edac/mc/mc1/dimm5/dimm_label:N1 DIMM_N0 /sys/devices/system/edac/mc/mc1/dimm6/dimm_label:N1 DIMM_O0 /sys/devices/system/edac/mc/mc1/dimm7/dimm_label:N1 DIMM_P0 Signed-off-by: Robert

[PATCH 04/21] EDAC: Kill EDAC_DIMM_OFF() macro

2019-05-29 Thread Robert Richter
We do not need to calculate the offset in the mc's dimm array, let's just store the index in struct dimm_info and we can get rid of this macro. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 13 drivers/edac/edac_mc_sysfs.c | 20 -- include/linux

[PATCH 03/21] EDAC: Kill EDAC_DIMM_PTR() macro

2019-05-29 Thread Robert Richter
igned-off-by: Robert Richter --- drivers/edac/edac_mc.c | 1 + drivers/edac/ghes_edac.c| 8 ++-- drivers/edac/i10nm_base.c | 3 +- drivers/edac/i3200_edac.c | 3 +- drivers/edac/i5000_edac.c | 5 +-- drivers/edac/i5100_edac.c | 3 +- drivers/edac/i5400_edac.c | 4 +- dri

[PATCH 19/21] EDAC, ghes: Identify dimm by node, card, module and handle

2019-05-29 Thread Robert Richter
and select the dimm accordingly. Inconsistent error records will be reported which is the case if the same dimm handle reports errors with different node, card or module. The change allows to enable per-layer reporting based on node, card and module in the next patch. Signed-off-by: Robert Richter

[PATCH 13/21] EDAC, ghes: Rework memory hierarchy detection

2019-05-29 Thread Robert Richter
will be implemented in a later patch. Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 166 +-- 1 file changed, 126 insertions(+), 40 deletions(-) diff --git a/drivers/edac/ghes_edac.c b/drivers/edac/ghes_edac.c index ea4d53043199..50f4ee36b755 100644

[PATCH 16/21] EDAC, ghes: Create one memory controller device per node

2019-05-29 Thread Robert Richter
/dimm_ce_count:4 /sys/devices/system/edac/mc/mc1/dimm3/dimm_ce_count:1 /sys/devices/system/edac/mc/mc1/dimm6/dimm_ce_count:2 Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 126 --- 1 file changed, 104 insertions(+), 22 deletions(-) diff --git a/drivers

[PATCH 21/21] EDAC, Documentation: Describe CPER module definition and DIMM ranks

2019-05-29 Thread Robert Richter
Update on CPER DIMM naming convention and DIMM ranks. Signed-off-by: Robert Richter --- Documentation/admin-guide/ras.rst | 31 +++ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/Documentation/admin-guide/ras.rst b/Documentation/admin-guide/ras.rst

[PATCH 12/21] EDAC, ghes: Add support for legacy API counters

2019-05-29 Thread Robert Richter
can use it too. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 39 ++- drivers/edac/edac_mc.h | 7 ++- drivers/edac/ghes_edac.c | 2 +- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/drivers/edac/edac_mc.c b/drivers/edac

[PATCH 20/21] EDAC, ghes: Enable per-layer reporting based on card/module

2019-05-29 Thread Robert Richter
to edac_raw_mc_handle_error(). Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 45 ++-- drivers/edac/ghes_edac.c | 76 ++-- include/linux/edac.h | 2 ++ 3 files changed, 63 insertions(+), 60 deletions(-) diff --git a/drivers

[PATCH 14/21] EDAC, ghes: Extract numa node information for each dimm

2019-05-29 Thread Robert Richter
: DIMM14: Found mem range [0x009ffd00-0x00bffcff] on node 1 EDAC DEBUG: mem_info_setup: DIMM15: Found mem range [0x009ffd00-0x00bffcff] on node 1 Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 104 ++- 1 file changed

[PATCH 18/21] EDAC, mc: Introduce edac_mc_alloc_by_dimm() for per dimm allocation

2019-05-29 Thread Robert Richter
this way. The edac's driver uses internally a dimm index already for data access. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 83 drivers/edac/edac_mc.h | 17 ++-- drivers/edac/ghes_edac.c | 7 ++-- 3 files changed, 76 insertions

[PATCH 00/21] EDAC, mc, ghes: Fixes and updates to improve memory error reporting

2019-05-29 Thread Robert Richter
ce_count:1 /sys/devices/system/edac/mc/mc1/dimm6/dimm_ce_count:2 Robert Richter (21): EDAC, mc: Fix edac_mc_find() in case no device is found EDAC: Fixes to use put_device() after device_add() errors EDAC: Kill EDAC_DIMM_PTR() macro EDAC: Kill EDAC_DIMM_OFF() macro EDAC:

[PATCH 07/21] EDAC, mc: Remove per layer counters

2019-05-29 Thread Robert Richter
he unused counters that just add complexity. Error counter values are directly stored in struct dimm_info now. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 98 drivers/edac/edac_mc_sysfs.c | 17 ++- drivers/edac/ghes_edac.c | 5

[PATCH 09/21] EDAC, ghes: Use standard kernel macros for page calculations

2019-05-29 Thread Robert Richter
Use standard macros for page calculations. Signed-off-by: Robert Richter --- drivers/edac/ghes_edac.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/edac/ghes_edac.c b/drivers/edac/ghes_edac.c index 4a13c394fa66..39702bac5eaf 100644 --- a/drivers/edac

[PATCH 06/21] EDAC, mc: Cleanup _edac_mc_free() code

2019-05-29 Thread Robert Richter
Remove needless and boilerplate variable declarations. No functional changes. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 21 + 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c index a6b34ccce3d4

[PATCH 05/21] EDAC: Introduce mci_for_each_dimm() iterator

2019-05-29 Thread Robert Richter
Make code more readable by introducing a mci_for_each_dimm() iterator. Now, we just get a pointer to a struct dimm_info. Direct array access using an index is no longer needed to iterate. Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 18 ++ drivers/edac

[PATCH 01/21] EDAC, mc: Fix edac_mc_find() in case no device is found

2019-05-29 Thread Robert Richter
() is mostly used to search for existing devices. Thus, the bug is not triggered. Fixes: c73e8833bec5 ("EDAC, mc: Fix locking around mc_devices list") Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/dr

[PATCH v2] EDAC, mc: Fix edac_mc_find() in case no device is found

2019-05-14 Thread Robert Richter
() is mostly used to search for existing devices. Thus, the bug is not triggered. Fixes: c73e8833bec5 ("EDAC, mc: Fix locking around mc_devices list") Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 12 +--- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/dr

[PATCH] EDAC, mc: Fix edac_mc_find() in case no device is found

2019-05-14 Thread Robert Richter
() is mostly used to search for existing devices. Thus, the bug is not triggered. Fixes: c73e8833bec5 ("EDAC, mc: Fix locking around mc_devices list") Signed-off-by: Robert Richter --- drivers/edac/edac_mc.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/edac/e

Re: [PATCH] MAINTAINERS: Moving to @marvell.com addresses for Cavium ThunderX2

2019-04-05 Thread Robert Richter
On 21.03.19 11:08:59, Robert Richter wrote: > Our @cavium.com addresses will be switched off soon. Using > @marvell.com addresses from now on. > > Cc: Jayachandran C > Signed-off-by: Robert Richter > --- > MAINTAINERS | 4 ++-- > 1 file changed, 2 insertions(+), 2 delet

[tip:efi/core] efi: Unify DMI setup code over the arm/arm64, ia64 and x86 architectures

2019-03-29 Thread tip-bot for Robert Richter
Commit-ID: 0fca08122eaf5c956a2cbe12775245d747f8b1ac Gitweb: https://git.kernel.org/tip/0fca08122eaf5c956a2cbe12775245d747f8b1ac Author: Robert Richter AuthorDate: Thu, 28 Mar 2019 20:34:28 +0100 Committer: Ingo Molnar CommitDate: Fri, 29 Mar 2019 07:35:00 +0100 efi: Unify DMI setup

[PATCH] MAINTAINERS: Moving to @marvell.com addresses for Cavium ThunderX2

2019-03-21 Thread Robert Richter
Our @cavium.com addresses will be switched off soon. Using @marvell.com addresses from now on. Cc: Jayachandran C Signed-off-by: Robert Richter --- MAINTAINERS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index a7432224930b..37f0a2aed4bb

[PATCH v2] efi: Unify dmi setup code over architectures arm/arm64, io64 and x86

2019-03-20 Thread Robert Richter
On 20.03.19 14:16:07, Robert Richter wrote: > On 20.03.19 13:05:37, Robert Richter wrote: > > @@ -167,6 +167,7 @@ static int __init arm_dmi_init(void) > > * itself, depends on dmi_scan_machine() having been called already. > > */ > > dmi_scan_machine

[PATCH] iommu/iova: Fix tracking of recently failed iova address size

2019-03-15 Thread Robert Richter
might go the slow path again even if we have seen a failure before for the same or a smaller size. Cc: # 4.20+ Fixes: bee60e94a1e2 ("iommu/iova: Optimise attempts to allocate iova from 32bit address range") Signed-off-by: Robert Richter --- drivers/iommu/iova.c | 5 +++-- 1 file

[PATCH v2 10/10] irqchip/gic-v3-its: Initialize MSIs with subsys_initcalls

2018-11-28 Thread Robert Richter
Since ITS is initialized with with the subsys_initcall now, we don't need to enable ITS children earlier. Due to the use of irq_domain_ request_host_*() there are no order dependencies when initializing irq domains. Signed-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c

[PATCH v2 10/10] irqchip/gic-v3-its: Initialize MSIs with subsys_initcalls

2018-11-28 Thread Robert Richter
Since ITS is initialized with with the subsys_initcall now, we don't need to enable ITS children earlier. Due to the use of irq_domain_ request_host_*() there are no order dependencies when initializing irq domains. Signed-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c

[PATCH v2 08/10] irqchip/gic-v3-its: Decouple its initialization from gic

2018-11-28 Thread Robert Richter
This patch separates its initialization from the gic. Probing and initialization of its nodes is separate now. There is an own cpu notifier for its now. Signed-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its.c | 58 +- drivers/irqchip/irq-gic-v3.c

[PATCH v2 07/10] irqchip/gic-v3-its: Split probing from its node initialization

2018-11-28 Thread Robert Richter
To initialize the its nodes at a later point during boot, we need to split probing from initialization. Collect all information required for initialization in struct its_node. We can then use the its node list for initialization. Signed-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3

[PATCH v2 09/10] irqchip/gic-v3-its: Initialize its nodes later

2018-11-28 Thread Robert Richter
-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its.c | 3 ++- drivers/irqchip/irq-gic-v3.c | 4 include/linux/irqchip/arm-gic-v3.h | 1 - 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index

[PATCH v2 08/10] irqchip/gic-v3-its: Decouple its initialization from gic

2018-11-28 Thread Robert Richter
This patch separates its initialization from the gic. Probing and initialization of its nodes is separate now. There is an own cpu notifier for its now. Signed-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its.c | 58 +- drivers/irqchip/irq-gic-v3.c

[PATCH v2 07/10] irqchip/gic-v3-its: Split probing from its node initialization

2018-11-28 Thread Robert Richter
To initialize the its nodes at a later point during boot, we need to split probing from initialization. Collect all information required for initialization in struct its_node. We can then use the its node list for initialization. Signed-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3

[PATCH v2 09/10] irqchip/gic-v3-its: Initialize its nodes later

2018-11-28 Thread Robert Richter
-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its.c | 3 ++- drivers/irqchip/irq-gic-v3.c | 4 include/linux/irqchip/arm-gic-v3.h | 1 - 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index

[PATCH v2 03/10] irqchip/irq-gic-v3-its-pci-msi: Remove domain init order dependencies

2018-11-28 Thread Robert Richter
-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its-pci-msi.c | 66 ++-- 1 file changed, 38 insertions(+), 28 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its-pci-msi.c b/drivers/irqchip/irq-gic-v3-its-pci-msi.c index 8d6d009d1d58..7d7366d55d34 100644

[PATCH v2 04/10] irqchip/irq-gic-v3-its-fsl-mc-msi: Remove domain init order dependencies

2018-11-28 Thread Robert Richter
-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c | 47 ++--- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c b/drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c index 606efa64adff..81dfc534ded8 100644

[PATCH v2 05/10] fsl-mc/dprc-driver: Remove domain init order dependencies

2018-11-28 Thread Robert Richter
-by: Robert Richter --- drivers/bus/fsl-mc/dprc-driver.c | 41 drivers/bus/fsl-mc/fsl-mc-msi.c | 6 +- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/drivers/bus/fsl-mc/dprc-driver.c b/drivers/bus/fsl-mc/dprc-driver.c index 52c7e15143d6

[PATCH v2 02/10] irqchip/gic-v3-its-platform-msi: Remove domain init order dependencies

2018-11-28 Thread Robert Richter
-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its-platform-msi.c | 54 +-- 1 file changed, 42 insertions(+), 12 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its-platform-msi.c b/drivers/irqchip/irq-gic-v3-its-platform-msi.c index 7b8e87b493fe..1f2849bc58c4

[PATCH v2 01/10] irqdomain: Add interface to request an irq domain

2018-11-28 Thread Robert Richter
and the request removed from the list. With a late_initcall all requests from the list should already have been handled, otherwise all remaining requests are removed with an error reported. Signed-off-by: Robert Richter --- include/linux/irqdomain.h | 15 + kernel/irq/irqdomain.c| 163

[PATCH v2 06/10] irqchip/gic-v3-its: Initialize its nodes in probe order

2018-11-28 Thread Robert Richter
ATM the last discovered node is initialized first. Though this order should work too, change the initialization of nodes to probe order as one would expect it. Signed-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[PATCH v2 03/10] irqchip/irq-gic-v3-its-pci-msi: Remove domain init order dependencies

2018-11-28 Thread Robert Richter
-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its-pci-msi.c | 66 ++-- 1 file changed, 38 insertions(+), 28 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its-pci-msi.c b/drivers/irqchip/irq-gic-v3-its-pci-msi.c index 8d6d009d1d58..7d7366d55d34 100644

[PATCH v2 04/10] irqchip/irq-gic-v3-its-fsl-mc-msi: Remove domain init order dependencies

2018-11-28 Thread Robert Richter
-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c | 47 ++--- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c b/drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c index 606efa64adff..81dfc534ded8 100644

[PATCH v2 05/10] fsl-mc/dprc-driver: Remove domain init order dependencies

2018-11-28 Thread Robert Richter
-by: Robert Richter --- drivers/bus/fsl-mc/dprc-driver.c | 41 drivers/bus/fsl-mc/fsl-mc-msi.c | 6 +- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/drivers/bus/fsl-mc/dprc-driver.c b/drivers/bus/fsl-mc/dprc-driver.c index 52c7e15143d6

[PATCH v2 02/10] irqchip/gic-v3-its-platform-msi: Remove domain init order dependencies

2018-11-28 Thread Robert Richter
-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its-platform-msi.c | 54 +-- 1 file changed, 42 insertions(+), 12 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its-platform-msi.c b/drivers/irqchip/irq-gic-v3-its-platform-msi.c index 7b8e87b493fe..1f2849bc58c4

[PATCH v2 01/10] irqdomain: Add interface to request an irq domain

2018-11-28 Thread Robert Richter
and the request removed from the list. With a late_initcall all requests from the list should already have been handled, otherwise all remaining requests are removed with an error reported. Signed-off-by: Robert Richter --- include/linux/irqdomain.h | 15 + kernel/irq/irqdomain.c| 163

[PATCH v2 06/10] irqchip/gic-v3-its: Initialize its nodes in probe order

2018-11-28 Thread Robert Richter
ATM the last discovered node is initialized first. Though this order should work too, change the initialization of nodes to probe order as one would expect it. Signed-off-by: Robert Richter --- drivers/irqchip/irq-gic-v3-its.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[PATCH v2 00/10] irqdomain, gic-v3-its: Implement late irq domain initialization

2018-11-28 Thread Robert Richter
in irq_domain_handle_requests() * add comment that describes this check in irq_domain_handle_ requests() Robert Richter (10): irqdomain: Add interface to request an irq domain irqchip/gic-v3-its-platform-msi: Remove domain init order dependencies irqchip/irq-gic-v3-its-pci-msi: Remove domain init

<    1   2   3   4   5   6   7   8   9   10   >