[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20240209170251.GA25069@willie-the-truck>
Date: Fri, 9 Feb 2024 17:02:51 +0000
From: Will Deacon <will@...nel.org>
To: Ilkka Koskinen <ilkka@...amperecomputing.com>
Cc: Robin Murphy <robin.murphy@....com>,
Mark Rutland <mark.rutland@....com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] perf/arm-cmn: Workaround AmpereOneX errata AC04_MESH_1
(incorrect child count)
On Tue, Feb 06, 2024 at 01:04:27PM -0800, Ilkka Koskinen wrote:
> On Tue, 6 Feb 2024, Robin Murphy wrote:
> > On 2024-02-05 7:46 pm, Ilkka Koskinen wrote:
> > diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c
> > index c584165b13ba..7e3aa7e2345f 100644
> > --- a/drivers/perf/arm-cmn.c
> > +++ b/drivers/perf/arm-cmn.c
> > @@ -2305,6 +2305,17 @@ static int arm_cmn_discover(struct arm_cmn *cmn,
> > unsigned int rgn_offset)
> > dev_dbg(cmn->dev, "ignoring external node %llx\n", reg);
> > continue;
> > }
> > + /*
> > + * AmpereOneX erratum AC04_MESH_1 makes some XPs report a bogus
> > + * child count larger than the number of valid child pointers.
> > + * A child offset of 0 can only occur on CMN-600; otherwise it
> > + * would imply the root node being its own grandchild, which
> > + * we can safely dismiss in general.
> > + */
> > + if (reg == 0 && cmn->part != PART_CMN600) {
> > + dev_dbg(cmn->dev, "bogus child pointer?\n");
> > + continue;
> > + }
> > arm_cmn_init_node_info(cmn, reg & CMN_CHILD_NODE_ADDR, dn);
> >
>
> Tested-by: Ilkka Koskinen <ilkka@...amperecomputing.com>
Mind sending that out as a proper patch that I can pick up, please?
Cheers,
Will
Powered by blists - more mailing lists