Re: [Patch V1 1/4] memory: tegra: Add support for mc interrupts

From: Ashish Mhetre
Date: Wed Jan 19 2022 - 03:47:18 EST




On 1/12/2022 1:43 PM, Dmitry Osipenko wrote:
External email: Use caution opening links or attachments


11.01.2022 21:45, Ashish Mhetre пишет:

@@ -765,16 +768,21 @@ static int tegra_mc_probe(struct platform_device *pdev)
return err;
}

- if (mc->soc->ops && mc->soc->ops->handle_irq) {
+ if (mc->soc->interrupt_ops && mc->soc->interrupt_ops->handle_irq) {
mc->irq = platform_get_irq(pdev, 0);
if (mc->irq < 0)
return mc->irq;

WARN(!mc->soc->client_id_mask, "missing client ID mask for this SoC\n");

+ /* clear any mc-errs that occurred before. */

s/mc-errs/Memory Controller errors/

Sure, I'll update these in next version.
+ if (mc->soc->interrupt_ops->clear_interrupt)
+ mc->soc->interrupt_ops->clear_interrupt(mc);

There is no explanation of this change neither in the code, nor in the
commit message. Please always provide detailed descriptions for a
non-trivial changes.

Interrupts aren't cleared intentionally by the driver, otherwise you'll
never know about early-boot memory faults which happened before the
probe. Hence this change is incorrect.
That's true, we should be logging early-boot memory faults as well.
Ideally there shouldn't be any early-boot faults as all clients will
be up after MC, right? But I agree that we should be checking and
logging if any interrupt is present.