Re: [PATCH] ARC: perf: Accommodate big-endian CPU
From: Greg Kroah-Hartman
Date: Thu Nov 21 2019 - 15:39:47 EST
On Tue, Nov 05, 2019 at 07:52:16PM +0000, Alexey Brodkin wrote:
> Hi Sasha, Greg,
>
> > -----Original Message-----
> > From: Sasha Levin <sashal@xxxxxxxxxx>
> > Sent: Saturday, October 26, 2019 4:11 PM
> > To: Sasha Levin <sashal@xxxxxxxxxx>; Alexey Brodkin <abrodkin@xxxxxxxxxxxx>; linux-snps-
> > arc@xxxxxxxxxxxxxxxxxxx
> > Cc: linux-kernel@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx
> > Subject: Re: [PATCH] ARC: perf: Accommodate big-endian CPU
> >
> > Hi,
> >
> > [This is an automated email]
> >
> > This commit has been processed because it contains a -stable tag.
> > The stable tag indicates that it's relevant for the following trees: all
> >
> > The bot has tested the following trees: v5.3.7, v4.19.80, v4.14.150, v4.9.197, v4.4.197.
> >
> > v5.3.7: Build OK!
> > v4.19.80: Failed to apply! Possible dependencies:
> > 0e956150fe09f ("ARC: perf: introduce Kernel PMU events support")
> > 14f81a91ad29a ("ARC: perf: trivial code cleanup")
> > baf9cc85ba01f ("ARC: perf: move HW events mapping to separate function")
> > v4.14.150: Failed to apply! Possible dependencies:
> > v4.9.197: Failed to apply! Possible dependencies:
> > v4.4.197: Failed to apply! Possible dependencies:
>
> Indeed the clash is due to
> commit baf9cc85ba01f ("ARC: perf: move HW events mapping to separate function") as tmp variable "j" was changed on "i". So that's a fixed hunk:
> -------------------------------->8------------------------------
> diff --git a/arch/arc/kernel/perf_event.c b/arch/arc/kernel/perf_event.c
> index 8aec462d90fb..30f66b123541 100644
> --- a/arch/arc/kernel/perf_event.c
> +++ b/arch/arc/kernel/perf_event.c
> @@ -490,8 +490,8 @@ static int arc_pmu_device_probe(struct platform_device *pdev)
> /* loop thru all available h/w condition indexes */
> for (j = 0; j < cc_bcr.c; j++) {
> write_aux_reg(ARC_REG_CC_INDEX, j);
> - cc_name.indiv.word0 = read_aux_reg(ARC_REG_CC_NAME0);
> - cc_name.indiv.word1 = read_aux_reg(ARC_REG_CC_NAME1);
> + cc_name.indiv.word0 = le32_to_cpu(read_aux_reg(ARC_REG_CC_NAME0));
> + cc_name.indiv.word1 = le32_to_cpu(read_aux_reg(ARC_REG_CC_NAME1));
>
> /* See if it has been mapped to a perf event_id */
> for (i = 0; i < ARRAY_SIZE(arc_pmu_ev_hw_map); i++) {
> -------------------------------->8------------------------------
>
> Should I send a formal patch with it or it's OK for now?
We need a "formal" patch that we can apply if you want it applied.
thanks,
greg k-h