<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/edac/i5000_edac.c, branch linux-3.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-05-28T22:13:54Z</updated>
<entry>
<title>i5000: Fix the fatal error handling</title>
<updated>2012-05-28T22:13:54Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2012-04-25T14:47:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=486dfb1638bc49e9f3bbbefbe4832024ba6abe0d'/>
<id>urn:sha1:486dfb1638bc49e9f3bbbefbe4832024ba6abe0d</id>
<content type='text'>
The fatal error channel bits point to a single channel, and not
to a range of channels. Fix the code to properly report it,
instead of printing messages like:
	kernel: EDAC MC0: INTERNAL ERROR: channel-b out of range (4 &gt;= 4)

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>i5000_edac: Fix the logic that retrieves memory information</title>
<updated>2012-05-28T22:13:52Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2012-02-24T12:34:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=64e1fdaf55d61eb79ae970f78bb00edf6aa696fb'/>
<id>urn:sha1:64e1fdaf55d61eb79ae970f78bb00edf6aa696fb</id>
<content type='text'>
The logic there is broken: it basically creates two csrows for
each DIMM and assumes that all DIMM's are dual rank. Only one of
the csrows will contain the entire DIMM size. If single rank
memories are found, they'll be marked with 0 bytes.

The check if the AMB is present were also wrong.

Yet, as the error reports don't use the memory size in order to
credit an error to the right DIMM, that part of the driver seems
to work. That's why probably nobody detected the issue yet.

After this patch, the memory layout is now properly reported,
when debug mode is enabled, and the number of ranks per dimm is
now shown:

calculate_dimm_size: ----------------------------------------------------------
calculate_dimm_size: slot  3       0 MB   |    0 MB   |    0 MB   |    0 MB   |
calculate_dimm_size: slot  2       0 MB   |    0 MB   |    0 MB   |    0 MB   |
calculate_dimm_size: ----------------------------------------------------------
calculate_dimm_size: slot  1       0 MB   |    0 MB   |    0 MB   |    0 MB   |
calculate_dimm_size: slot  0     512 MB 1R|  512 MB 1R|  512 MB 1R|  512 MB 1R|
calculate_dimm_size: ----------------------------------------------------------
calculate_dimm_size:            channel 0 | channel 1 | channel 2 | channel 3 |
calculate_dimm_size:                   branch 0       |        branch 1       |

(1R above means that all memories on my test machine are single-ranked)

Reviewed-by: Aristeu Rozanski &lt;arozansk@redhat.com&gt;
Cc: Doug Thompson &lt;norsk5@yahoo.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>edac: Remove the legacy EDAC ABI</title>
<updated>2012-05-28T22:13:50Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2012-05-02T17:37:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ca0907b9e413bb1d1f3ea123b663535b74928846'/>
<id>urn:sha1:ca0907b9e413bb1d1f3ea123b663535b74928846</id>
<content type='text'>
Now that all drivers got converted to use the new ABI, we can
drop the old one.

Acked-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>i5000_edac: convert driver to use the new edac ABI</title>
<updated>2012-05-28T22:11:01Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2012-04-16T18:09:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=702df64053e440344ccb53035cb6959f17a97151'/>
<id>urn:sha1:702df64053e440344ccb53035cb6959f17a97151</id>
<content type='text'>
The legacy edac ABI is going to be removed. Port the driver to use
and benefit from the new API functionality.

Cc: Doug Thompson &lt;norsk5@yahoo.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>edac: move nr_pages to dimm struct</title>
<updated>2012-05-28T22:10:58Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2012-01-28T12:09:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a895bf8b1e1ea4c032a8fa8a09475a2ce09fe77a'/>
<id>urn:sha1:a895bf8b1e1ea4c032a8fa8a09475a2ce09fe77a</id>
<content type='text'>
The number of pages is a dimm property. Move it to the dimm struct.

After this change, it is possible to add sysfs nodes for the DIMM's that
will properly represent the DIMM stick properties, including its size.

A TODO fix here is to properly represent dual-rank/quad-rank DIMMs when
the memory controller represents the memory via chip select rows.

Reviewed-by: Aristeu Rozanski &lt;arozansk@redhat.com&gt;
Acked-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Acked-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
Cc: Doug Thompson &lt;norsk5@yahoo.com&gt;
Cc: Mark Gross &lt;mark.gross@intel.com&gt;
Cc: Jason Uhlenkott &lt;juhlenko@akamai.com&gt;
Cc: Tim Small &lt;tim@buttersideup.com&gt;
Cc: Ranganathan Desikan &lt;ravi@jetztechnologies.com&gt;
Cc: "Arvind R." &lt;arvino55@gmail.com&gt;
Cc: Olof Johansson &lt;olof@lixom.net&gt;
Cc: Egor Martovetsky &lt;egor@pasemi.com&gt;
Cc: Michal Marek &lt;mmarek@suse.cz&gt;
Cc: Jiri Kosina &lt;jkosina@suse.cz&gt;
Cc: Joe Perches &lt;joe@perches.com&gt;
Cc: Dmitry Eremin-Solenikov &lt;dbaryshkov@gmail.com&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Hitoshi Mitake &lt;h.mitake@gmail.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: "Niklas Söderlund" &lt;niklas.soderlund@ericsson.com&gt;
Cc: Shaohui Xie &lt;Shaohui.Xie@freescale.com&gt;
Cc: Josh Boyer &lt;jwboyer@gmail.com&gt;
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>edac: Don't initialize csrow's first_page &amp; friends when not needed</title>
<updated>2012-05-28T22:10:58Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2012-01-28T00:20:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5e2af0c09e60d11dd8297e259a9ca2b3d92d2cf4'/>
<id>urn:sha1:5e2af0c09e60d11dd8297e259a9ca2b3d92d2cf4</id>
<content type='text'>
Almost all edac	drivers	initialize csrow_info-&gt;first_page,
csrow_info-&gt;last_page and csrow_info-&gt;page_mask. Those vars are
used inside the EDAC core, in order to calculate the csrow affected
by an error, by using the routine edac_mc_find_csrow_by_page().

However, very few drivers actually use it:
        e752x_edac.c
        e7xxx_edac.c
        i3000_edac.c
        i82443bxgx_edac.c
        i82860_edac.c
        i82875p_edac.c
        i82975x_edac.c
        r82600_edac.c

There also a few other drivers that have their own calculus
formula internally using those vars.

All the others are just wasting time by initializing those
data.

While initializing data without using them won't cause any troubles, as
those information is stored at the wrong place (at csrows structure), it
is better to remove what is unused, in order to simplify the next patch.

Reviewed-by: Aristeu Rozanski &lt;arozansk@redhat.com&gt;
Acked-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Acked-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
Cc: Doug Thompson &lt;norsk5@yahoo.com&gt;
Cc: Hitoshi Mitake &lt;h.mitake@gmail.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: "Niklas Söderlund" &lt;niklas.soderlund@ericsson.com&gt;
Cc: Josh Boyer &lt;jwboyer@gmail.com&gt;
Cc: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>edac: move dimm properties to struct dimm_info</title>
<updated>2012-05-28T22:10:58Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2012-01-27T21:38:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=084a4fccef39ac7abb039511f32380f28d0b67e6'/>
<id>urn:sha1:084a4fccef39ac7abb039511f32380f28d0b67e6</id>
<content type='text'>
On systems based on chip select rows, all channels need to use memories
with the same properties, otherwise the memories on channels A and B
won't be recognized.

However, such assumption is not true for all types of memory
controllers.

Controllers for FB-DIMM's don't have such requirements.

Also, modern Intel controllers seem to be capable of handling such
differences.

So, we need to get rid of storing the DIMM information into a per-csrow
data, storing it, instead at the right place.

The first step is to move grain, mtype, dtype and edac_mode to the
per-dimm struct.

Reviewed-by: Aristeu Rozanski &lt;arozansk@redhat.com&gt;
Reviewed-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Acked-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
Cc: Doug Thompson &lt;norsk5@yahoo.com&gt;
Cc: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Cc: Mark Gross &lt;mark.gross@intel.com&gt;
Cc: Jason Uhlenkott &lt;juhlenko@akamai.com&gt;
Cc: Tim Small &lt;tim@buttersideup.com&gt;
Cc: Ranganathan Desikan &lt;ravi@jetztechnologies.com&gt;
Cc: "Arvind R." &lt;arvino55@gmail.com&gt;
Cc: Olof Johansson &lt;olof@lixom.net&gt;
Cc: Egor Martovetsky &lt;egor@pasemi.com&gt;
Cc: Michal Marek &lt;mmarek@suse.cz&gt;
Cc: Jiri Kosina &lt;jkosina@suse.cz&gt;
Cc: Joe Perches &lt;joe@perches.com&gt;
Cc: Dmitry Eremin-Solenikov &lt;dbaryshkov@gmail.com&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Hitoshi Mitake &lt;h.mitake@gmail.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: James Bottomley &lt;James.Bottomley@parallels.com&gt;
Cc: "Niklas Söderlund" &lt;niklas.soderlund@ericsson.com&gt;
Cc: Shaohui Xie &lt;Shaohui.Xie@freescale.com&gt;
Cc: Josh Boyer &lt;jwboyer@gmail.com&gt;
Cc: Mike Williams &lt;mike@mikebwilliams.com&gt;
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>EDAC: Make pci_device_id tables __devinitconst.</title>
<updated>2012-03-19T11:04:54Z</updated>
<author>
<name>Lionel Debroux</name>
</author>
<published>2012-02-27T06:41:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=36c46f31df910b092aaaed27c7c616bb8e2302a1'/>
<id>urn:sha1:36c46f31df910b092aaaed27c7c616bb8e2302a1</id>
<content type='text'>
These const tables are currently marked __devinitdata, but
Documentation/PCI/pci.txt says:

"o The ID table array should be marked __devinitconst; this is done
automatically if the table is declared with DEFINE_PCI_DEVICE_TABLE()."

So use DEFINE_PCI_DEVICE_TABLE(x).

Based on PaX and earlier work by Andi Kleen.

Signed-off-by: Lionel Debroux &lt;lionel_debroux@yahoo.fr&gt;
Signed-off-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6</title>
<updated>2011-05-26T20:19:00Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2011-05-26T20:19:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b7c2f036284452627d793af981877817b37d4351'/>
<id>urn:sha1:b7c2f036284452627d793af981877817b37d4351</id>
<content type='text'>
* 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
  gfs2: Drop __TIME__ usage
  isdn/diva: Drop __TIME__ usage
  atm: Drop __TIME__ usage
  dlm: Drop __TIME__ usage
  wan/pc300: Drop __TIME__ usage
  parport: Drop __TIME__ usage
  hdlcdrv: Drop __TIME__ usage
  baycom: Drop __TIME__ usage
  pmcraid: Drop __DATE__ usage
  edac: Drop __DATE__ usage
  rio: Drop __DATE__ usage
  scsi/wd33c93: Drop __TIME__ usage
  scsi/in2000: Drop __TIME__ usage
  aacraid: Drop __TIME__ usage
  media/cx231xx: Drop __TIME__ usage
  media/radio-maxiradio: Drop __TIME__ usage
  nozomi: Drop __TIME__ usage
  cyclades: Drop __TIME__ usage
</content>
</entry>
<entry>
<title>edac: Drop __DATE__ usage</title>
<updated>2011-04-18T22:23:22Z</updated>
<author>
<name>Michal Marek</name>
</author>
<published>2011-04-01T10:41:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=152ba3942276c2a240703669ae4a3099e0a79451'/>
<id>urn:sha1:152ba3942276c2a240703669ae4a3099e0a79451</id>
<content type='text'>
The kernel already prints its build timestamp during boot, no need to
repeat it in random drivers and produce different object files each
time.

Cc: Doug Thompson &lt;dougthompson@xmission.com&gt;
Cc: bluesmoke-devel@lists.sourceforge.net
Cc: linux-edac@vger.kernel.org
Acked-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
</feed>
