Thread (16 messages) 16 messages, 4 authors, 2017-08-14
STALE3215d

[PATCH v2 9/9] EDAC: Add driver for the Marvell Armada XP SDRAM and L2 cache ECC

From: Chris.Packham@alliedtelesis.co.nz (Chris Packham)
Date: 2017-08-04 05:10:50
Also in: linux-edac

One comment

On 03/08/17 00:39, Jan Luebbe wrote:
+struct armada_xp_mc_edac_drvdata {
+	void __iomem *base;
+
+	unsigned int width; /* width in bytes */
+	bool cs_addr_sel[SDRAM_NUM_CS]; /* bank interleaving */
+
+	char msg[128];
+};
+
...
+static int armada_xp_mc_edac_read_config(struct mem_ctl_info *mci)
+{
+	struct armada_xp_mc_edac_drvdata *drvdata = mci->pvt_info;
+	struct dimm_info *dimm;
+	unsigned int i, cs_struct, cs_size;
+	uint32_t config, addr_ctrl, rank_ctrl;
+
+	config = readl(drvdata->base + SDRAM_CONFIG_REG);
+	if (!(config & SDRAM_CONFIG_ECC_MASK))
+		dev_warn(mci->pdev, "SDRAM ECC is not enabled");
+
+	if (mci->tot_dimms != SDRAM_NUM_CS) {
+		dev_err(mci->pdev, "Invaild number of DIMMs");
+		return -EINVAL;
+	}
+
+	if (config & SDRAM_CONFIG_BUS_WIDTH_MASK)
+		drvdata->width = 4; /* 64 bit */
+	else
+		drvdata->width = 2; /* 32 bit */
+
Should this be 8 and 4 instead of 4 and 2? The uses of this value are 
all consistent so there is no error but the numbers don't match the 
comment in struct armada_xp_mc_edac_drvdata.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help