Thread (11 messages) 11 messages, 2 authors, 2017-08-07

[PATCH 2/5] edac: synopsys: Add EDAC ECC support for ZynqMP DDRC

From: Michal Simek <hidden>
Date: 2017-08-07 06:21:14
Also in: linux-edac, lkml

On 7.8.2017 06:03, Borislav Petkov wrote:
On Fri, Aug 04, 2017 at 02:00:24PM +0200, Michal Simek wrote:
quoted
From: Naga Sureshkumar Relli <redacted>

This patch adds EDAC ECC support for ZynqMP DDRC IP

Signed-off-by: Naga Sureshkumar Relli <redacted>
Signed-off-by: Michal Simek <redacted>
---

 drivers/edac/Kconfig         |   2 +-
 drivers/edac/synopsys_edac.c | 306 ++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 302 insertions(+), 6 deletions(-)
...
quoted
@@ -440,9 +706,12 @@ static int synps_edac_mc_init(struct mem_ctl_info *mci,
 	mci->dev_name = SYNPS_EDAC_MOD_STRING;
 	mci->mod_name = SYNPS_EDAC_MOD_VER;
 	mci->mod_ver = "1";
-
-	edac_op_state = EDAC_OPSTATE_POLL;
-	mci->edac_check = synps_edac_check;
+	if (priv->p_data->quirks & DDR_ECC_INTR_SUPPORT) {
+		edac_op_state = EDAC_OPSTATE_INT;
+	} else {
+		edac_op_state = EDAC_OPSTATE_POLL;
+		mci->edac_check = synps_edac_check;
+	}
 	mci->ctl_page_to_phys = NULL;
 
 	status = synps_edac_init_csrows(mci);
This hunk doesn't apply cleanly:

$ test-apply.sh -q /tmp/02-edac-synopsys-add_edac_ecc_support_for_zynqmp_ddrc.patch 
checking file drivers/edac/Kconfig
checking file drivers/edac/synopsys_edac.c
Hunk #11 FAILED at 706.
Hunk #12 succeeded at 723 (offset -1 lines).
Hunk #13 succeeded at 754 (offset -1 lines).
Hunk #14 succeeded at 803 (offset -1 lines).
1 out of 14 hunks FAILED

Please redo your patches against this branch:

https://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git/log/?h=for-next
The patch "EDAC: Get rid of mci->mod_ver" is causing that collision.
Will fix.


Thx.
quoted
@@ -458,8 +727,18 @@ static int synps_edac_mc_init(struct mem_ctl_info *mci,
 	.quirks				= 0,
 };
 
+static const struct synps_platform_data zynqmp_enh_edac_def = {
+	.synps_edac_geterror_info	= synps_enh_edac_geterror_info,
+	.synps_edac_get_mtype		= synps_enh_edac_get_mtype,
+	.synps_edac_get_dtype		= synps_enh_edac_get_dtype,
+	.synps_edac_get_eccstate	= synps_enh_edac_get_eccstate,
+	.quirks				= DDR_ECC_INTR_SUPPORT,
+};
+
 static const struct of_device_id synps_edac_match[] = {
 	{ .compatible = "xlnx,zynq-ddrc-a05", .data = (void *)&zynq_edac_def },
+	{ .compatible = "xlnx,zynqmp-ddrc-2.40a",
+				.data = (void *)&zynqmp_enh_edac_def},
WARNING: DT compatible string "xlnx,zynqmp-ddrc-2.40a" appears un-documented -- check ./Documentation/devicetree/bindings/
#414: FILE: drivers/edac/synopsys_edac.c:740:
+       { .compatible = "xlnx,zynqmp-ddrc-2.40a",

Please integrate checkpatch.pl into your patch creation workflow.
Thanks,
Michal
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help