Re: [PATCHv2] EDAC, altera: Move Stratix10 SDRAM ECC to peripheral

From: James Morse
Date: Thu Jul 25 2019 - 14:06:09 EST


Hi Thor,

On 12/07/2019 19:28, thor.thayer@xxxxxxxxxxxxxxx wrote:
> From: Thor Thayer <thor.thayer@xxxxxxxxxxxxxxx>
>
> ARM32 SoCFPGAs had separate IRQs for SDRAM. ARM64 SoCFPGAs
> send all DBEs to SError so filtering by source is necessary.
>
> The Stratix10 SDRAM ECC is a better match with the generic
> Altera peripheral ECC framework because the linked list can
> be searched to find the ECC block offset and printout
> the DBE Address.


> diff --git a/drivers/edac/altera_edac.c b/drivers/edac/altera_edac.c
> index c2e693e34d43..09a80b53acea 100644
> --- a/drivers/edac/altera_edac.c
> +++ b/drivers/edac/altera_edac.c

> @@ -2231,13 +2275,15 @@ static int altr_edac_a10_probe(struct platform_device *pdev)
> of_device_is_compatible(child, "altr,socfpga-dma-ecc") ||
> of_device_is_compatible(child, "altr,socfpga-usb-ecc") ||
> of_device_is_compatible(child, "altr,socfpga-qspi-ecc") ||
> +#ifdef CONFIG_EDAC_ALTERA_SDRAM
> + of_device_is_compatible(child, "altr,sdram-edac-s10") ||
> +#endif
> of_device_is_compatible(child, "altr,socfpga-sdmmc-ecc"))

I'm just curious: This list looks suspiciously like the altr_edac_a10_device_of_match[]
list. Is there a reason it can't use of_match_device() here?

>
> altr_edac_a10_device_add(edac, child);
>
> #ifdef CONFIG_EDAC_ALTERA_SDRAM
> - else if ((of_device_is_compatible(child, "altr,sdram-edac-a10")) ||
> - (of_device_is_compatible(child, "altr,sdram-edac-s10")))
> + else if (of_device_is_compatible(child, "altr,sdram-edac-a10"))
> of_platform_populate(pdev->dev.of_node,
> altr_sdram_ctrl_of_match,
> NULL, &pdev->dev);


Acked-by: James Morse <james.morse@xxxxxxx>


Thanks,

James