mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Borislav Petkov <borislav.petkov@amd.com>
To: <norsk5@yahoo.com>
Cc: <linux-kernel@vger.kernel.org>, <x86@kernel.org>,
	Borislav Petkov <borislav.petkov@amd.com>
Subject: [PATCH 09/10] amd64_edac: fix DRAM base and limit extraction
Date: Thu, 24 Sep 2009 14:32:47 +0200	[thread overview]
Message-ID: <1253795568-9877-10-git-send-email-borislav.petkov@amd.com> (raw)
In-Reply-To: <1253795568-9877-1-git-send-email-borislav.petkov@amd.com>

On Fam10h and above, F1x[1, 0][7C:40] are DRAM Base/Limit registers
which specify the destination node of a DRAM address. Those address
boundaries are being extracted into ->dram_base[] and ->dram_limit[].
Correct the extraction masks to match the respective address bits.

Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
---
 drivers/edac/amd64_edac.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index c2c7def..08cb744 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -1368,8 +1368,8 @@ static void f10_read_dram_base_limit(struct amd64_pvt *pvt, int dram)
 
 	pvt->dram_IntlvEn[dram] = (low_base >> 8) & 0x7;
 
-	pvt->dram_base[dram] = (((((u64) high_base & 0x000000FF) << 32) |
-				((u64) low_base & 0xFFFF0000))) << 8;
+	pvt->dram_base[dram] = (((u64)high_base & 0x000000FF) << 40) |
+			       (((u64)low_base  & 0xFFFF0000) << 24);
 
 	low_offset = K8_DRAM_LIMIT_LOW + (dram << 3);
 	high_offset = F10_DRAM_LIMIT_HIGH + (dram << 3);
@@ -1390,9 +1390,9 @@ static void f10_read_dram_base_limit(struct amd64_pvt *pvt, int dram)
 	 * Extract address values and form a LIMIT address. Limit is the HIGHEST
 	 * memory location of the region, so low 24 bits need to be all ones.
 	 */
-	low_limit |= 0x0000FFFF;
-	pvt->dram_limit[dram] =
-		((((u64) high_limit << 32) + (u64) low_limit) << 8) | (0xFF);
+	pvt->dram_limit[dram] = (((u64)high_limit & 0x000000FF) << 40) |
+				(((u64) low_limit & 0xFFFF0000) << 24) |
+				0x00FFFFFF;
 }
 
 static void f10_read_dram_ctl_register(struct amd64_pvt *pvt)
-- 
1.6.3.3



  parent reply	other threads:[~2009-09-24 12:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-24 12:32 [PATCH 00/10] amd64_edac fixes Borislav Petkov
2009-09-24 12:32 ` [PATCH 01/10] amd64_edac: convert cpumask_t to struct cpumask ptr Borislav Petkov
2009-09-24 12:32 ` [PATCH 02/10] amd64_edac: unify MCGCTL ECC switching Borislav Petkov
2009-09-24 12:32 ` [PATCH 03/10] amd64_edac: fix driver instance lookup table allocation Borislav Petkov
2009-09-24 12:32 ` [PATCH 04/10] amd64_edac: fix DRAM base and limit address extraction Borislav Petkov
2009-09-24 12:32 ` [PATCH 05/10] amd64_edac: fix interleave enable tests Borislav Petkov
2009-09-24 12:32 ` [PATCH 06/10] amd64_edac: fix K8 intlv_sel check Borislav Petkov
2009-09-24 12:32 ` [PATCH 07/10] amd64_edac: simple fix to allow reporting of CECC errors Borislav Petkov
2009-09-24 12:32 ` [PATCH 08/10] amd64_edac: fix chip select handling Borislav Petkov
2009-09-24 12:32 ` Borislav Petkov [this message]
2009-09-24 12:32 ` [PATCH 10/10] amd64_edac: beef up DRAM error injection Borislav Petkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1253795568-9877-10-git-send-email-borislav.petkov@amd.com \
    --to=borislav.petkov@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=norsk5@yahoo.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®