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

Michal Simek michal.simek at xilinx.com
Sun Aug 6 23:20:53 PDT 2017


On 7.8.2017 06:03, Borislav Petkov wrote:
> On Fri, Aug 04, 2017 at 02:00:24PM +0200, Michal Simek wrote:
>> From: Naga Sureshkumar Relli <naga.sureshkumar.relli at xilinx.com>
>>
>> This patch adds EDAC ECC support for ZynqMP DDRC IP
>>
>> Signed-off-by: Naga Sureshkumar Relli <nagasure at xilinx.com>
>> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
>> ---
>>
>>  drivers/edac/Kconfig         |   2 +-
>>  drivers/edac/synopsys_edac.c | 306 ++++++++++++++++++++++++++++++++++++++++++-
>>  2 files changed, 302 insertions(+), 6 deletions(-)
> 
> ...
> 
>> @@ -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.
> 
>> @@ -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



More information about the linux-arm-kernel mailing list