<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/edac/edac_mc.c, branch linux-5.11.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.11.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.11.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-11-19T20:57:09Z</updated>
<entry>
<title>EDAC: Add DDR5 new memory type</title>
<updated>2020-11-19T20:57:09Z</updated>
<author>
<name>Qiuxu Zhuo</name>
</author>
<published>2020-11-17T12:49:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bc1c99a5971aa7571e8b9731c28fa32abe12cab8'/>
<id>urn:sha1:bc1c99a5971aa7571e8b9731c28fa32abe12cab8</id>
<content type='text'>
Add a new entry to 'enum mem_type' and a new string to
'edac_mem_types[]' for DDR5 new memory type.

Signed-off-by: Qiuxu Zhuo &lt;qiuxu.zhuo@intel.com&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>EDAC: Add three new memory types</title>
<updated>2020-11-05T16:30:22Z</updated>
<author>
<name>Qiuxu Zhuo</name>
</author>
<published>2020-11-05T07:48:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3b20369313a486246582c8ef6ff5d1d0b9c34613'/>
<id>urn:sha1:3b20369313a486246582c8ef6ff5d1d0b9c34613</id>
<content type='text'>
There are {Low-Power DDR3/4, WIO2} types of memory.
Add new entries to 'enum mem_type' and new strings to
'edac_mem_types[]' for the new types.

Signed-off-by: Qiuxu Zhuo &lt;qiuxu.zhuo@intel.com&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>EDAC/mc: Call edac_inc_ue_error() before panic</title>
<updated>2020-06-15T18:19:52Z</updated>
<author>
<name>Zhenzhong Duan</name>
</author>
<published>2020-06-10T06:58:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e9ff6636d3f97a764487999754c0bfee9d2c231e'/>
<id>urn:sha1:e9ff6636d3f97a764487999754c0bfee9d2c231e</id>
<content type='text'>
By calling edac_inc_ue_error() before panic, we get a correct UE error
count for core dump analysis.

Signed-off-by: Zhenzhong Duan &lt;zhenzhong.duan@gmail.com&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
Link: https://lore.kernel.org/r/20200610065846.3626-2-zhenzhong.duan@gmail.com
</content>
</entry>
<entry>
<title>EDAC: Drop the EDAC report status checks</title>
<updated>2020-04-14T14:01:01Z</updated>
<author>
<name>Tony Luck</name>
</author>
<published>2020-02-14T22:27:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7fc0b9b995f222646ece8d5bca528060c098ee88'/>
<id>urn:sha1:7fc0b9b995f222646ece8d5bca528060c098ee88</id>
<content type='text'>
When acpi_extlog was added, we were worried that the same error would
be reported more than once by different subsystems. But in the ensuing
years I've seen complaints that people could not find an error log
(because this mechanism suppressed the log they were looking for).

Rip it all out. People are smart enough to notice the same address from
different reporting mechanisms.

Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Tested-by: Tony Luck &lt;tony.luck@intel.com&gt;
Link: https://lkml.kernel.org/r/20200214222720.13168-8-tony.luck@intel.com
</content>
</entry>
<entry>
<title>EDAC/mc: Remove per layer counters</title>
<updated>2020-02-17T12:37:00Z</updated>
<author>
<name>Robert Richter</name>
</author>
<published>2020-02-17T11:30:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4aa92c86463273b673e4170c60cb78e2625781eb'/>
<id>urn:sha1:4aa92c86463273b673e4170c60cb78e2625781eb</id>
<content type='text'>
Looking at how mci-&gt;{ue,ce}_per_layer[EDAC_MAX_LAYERS] is used, it
turns out that only the leaves in the memory hierarchy are consumed
(in sysfs), but not the intermediate layers, e.g.:

  count = dimm-&gt;mci-&gt;ce_per_layer[dimm-&gt;mci-&gt;n_layers-1][dimm-&gt;idx];

These unused counters only add complexity, remove them. The error
counter values are directly stored in struct dimm_info now.

Signed-off-by: Robert Richter &lt;rrichter@marvell.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Acked-by: Aristeu Rozanski &lt;aris@redhat.com&gt;
Link: https://lkml.kernel.org/r/20200123090210.26933-11-rrichter@marvell.com
</content>
</entry>
<entry>
<title>EDAC/mc: Remove detail[] string and cleanup error string generation</title>
<updated>2020-02-17T12:36:28Z</updated>
<author>
<name>Robert Richter</name>
</author>
<published>2020-01-23T09:03:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1853ee72997645e1aea85e20b94f7dcc55636887'/>
<id>urn:sha1:1853ee72997645e1aea85e20b94f7dcc55636887</id>
<content type='text'>
The error descriptor is passed to the error reporting functions, so
the error details can be directly generated there. Move string
generation from edac_raw_mc_handle_error() to edac_ce_error() and
edac_ue_error(). The intermediate detail[] string can be removed then.

Also, cleanup the string generation by switching to a single variant
only using the ternary operator.

 [ bp: put ternary operators on a separate line for better readability
   and use the short-form "inline if" in edac_mc_handle_error(). ]

Signed-off-by: Robert Richter &lt;rrichter@marvell.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Acked-by: Aristeu Rozanski &lt;aris@redhat.com&gt;
Link: https://lkml.kernel.org/r/20200123090210.26933-10-rrichter@marvell.com
</content>
</entry>
<entry>
<title>EDAC/mc: Pass the error descriptor to error reporting functions</title>
<updated>2020-02-17T12:35:30Z</updated>
<author>
<name>Robert Richter</name>
</author>
<published>2020-01-23T09:03:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6ab76179adb82006aea05f438a0601561c162b8f'/>
<id>urn:sha1:6ab76179adb82006aea05f438a0601561c162b8f</id>
<content type='text'>
Most arguments of error reporting functions are already stored in the
struct edac_raw_error_desc error descriptor. Pass the error descriptor
to the functions and reduce the functions' argument list.

 [ bp: Sort function args in reverse fir tree order. ]

Signed-off-by: Robert Richter &lt;rrichter@marvell.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Acked-by: Aristeu Rozanski &lt;aris@redhat.com&gt;
Link: https://lkml.kernel.org/r/20200123090210.26933-9-rrichter@marvell.com
</content>
</entry>
<entry>
<title>EDAC/mc: Remove enable_per_layer_report function argument</title>
<updated>2020-02-17T12:13:16Z</updated>
<author>
<name>Robert Richter</name>
</author>
<published>2020-01-23T09:03:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=67792cf9583c7816667c6b90007b5840f1b471f4'/>
<id>urn:sha1:67792cf9583c7816667c6b90007b5840f1b471f4</id>
<content type='text'>
Many functions carry the enable_per_layer_report argument. This is a
bool value indicating the error information contains some location
data where the error occurred. This can easily being determined by
checking the pos[] array for values. Negative values indicate there is
no location available. So if the top layer is negative, the error
location is unknown.

Just check if the top layer is negative and remove
enable_per_layer_report as function argument and also from struct
edac_raw_error_desc.

 [ bp: Reflow comments to 80 columns, while at it. ]

Signed-off-by: Robert Richter &lt;rrichter@marvell.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Acked-by: Aristeu Rozanski &lt;aris@redhat.com&gt;
Link: https://lkml.kernel.org/r/20200123090210.26933-8-rrichter@marvell.com
</content>
</entry>
<entry>
<title>EDAC/mc: Report "unknown memory" on too many DIMM labels found</title>
<updated>2020-02-17T12:10:14Z</updated>
<author>
<name>Robert Richter</name>
</author>
<published>2020-01-23T09:03:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65bb4d1af92cf007adc0a0c59dadcc393c5cada6'/>
<id>urn:sha1:65bb4d1af92cf007adc0a0c59dadcc393c5cada6</id>
<content type='text'>
There is a limitation to report only EDAC_MAX_LABELS in e-&gt;label of
the error descriptor. This is to prevent a potential string overflow.

The current implementation falls back to "any memory" in this case and
also stops all further processing to find a unique row and channel of
the possible error location.

Reporting "any memory" is wrong as the memory controller reported an
error location for one of the layers. Instead, report "unknown memory"
and also do not break early in the loop to further check row and channel
for uniqueness.

 [ bp: Massage commit message. ]

Signed-off-by: Robert Richter &lt;rrichter@marvell.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Acked-by: Aristeu Rozanski &lt;aris@redhat.com&gt;
Link: https://lkml.kernel.org/r/20200123090210.26933-7-rrichter@marvell.com
</content>
</entry>
<entry>
<title>EDAC/mc: Carve out error increment into a separate function</title>
<updated>2020-02-17T12:07:50Z</updated>
<author>
<name>Robert Richter</name>
</author>
<published>2020-02-14T14:17:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6334dc4e3ff53031a2d522b826c4fab92cfdea93'/>
<id>urn:sha1:6334dc4e3ff53031a2d522b826c4fab92cfdea93</id>
<content type='text'>
Carve out the error_count increment into a separate function
edac_inc_csrow(). This better separates code and reduces the indentation
level.

Implementation note: The function edac_inc_csrow() counts the same
as before, -&gt;ce_count is only incremented if row &gt;= 0. This is esp.
true for the case of (!e-&gt;enable_per_layer_report). Here, a DIMM was
not found, variable row still has a value of -1 and -&gt;ce_count is not
incremented.

 [ bp: Massage commit message. ]

Signed-off-by: Robert Richter &lt;rrichter@marvell.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Reviewed-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
Acked-by: Aristeu Rozanski &lt;aris@redhat.com&gt;
Link: https://lkml.kernel.org/r/20200214141757.8976-1-rrichter@marvell.com
</content>
</entry>
</feed>
