bcwc_pcie: Add memcheck fails to generic_shmoo_rd_dqs

We store the number of fails from memory verification in a 64 word
array. For some odd reason the first word is set to 0 in
generic_shmoo_rd_dqs().

Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
This commit is contained in:
Patrik Jakobsson
2015-03-22 01:34:58 +01:00
parent e6737571fb
commit a12a52d5b5

View File

@@ -421,7 +421,8 @@ static int bcwc_ddr_calibrate_re_byte_fifo(struct bcwc_private *dev_priv)
}
/* Set default/generic read data strobe */
static int bcwc_ddr_generic_shmoo_rd_dqs(struct bcwc_private *dev_priv)
static int bcwc_ddr_generic_shmoo_rd_dqs(struct bcwc_private *dev_priv,
u32 *fails)
{
u32 retries, locked, reg_val, tmp, offset;
u32 bytes[S2_DDR40_NUM_BYTE_LANES];
@@ -452,7 +453,9 @@ static int bcwc_ddr_generic_shmoo_rd_dqs(struct bcwc_private *dev_priv)
while (retries > 0 && !locked) {
ret = bcwc_ddr_verify_mem(dev_priv, 0);
if (!ret)
break;
break; /* Actually we should retry here */
fails[0] = ret; /* This is a bit odd */
retries--;
@@ -502,9 +505,11 @@ static int bcwc_ddr_calibrate_create_result(struct bcwc_private *dev_priv)
static int bcwc_ddr_generic_shmoo_calibrate_rd_dqs(
struct bcwc_private *dev_priv)
{
u32 settings[64]; /* Don't know the real size yet */
u32 fails[64]; /* Number of fails on a setting */
int ret;
ret = bcwc_ddr_generic_shmoo_rd_dqs(dev_priv);
ret = bcwc_ddr_generic_shmoo_rd_dqs(dev_priv, fails);
if (ret)
return ret;