[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20131002130550.GB3407@localhost.localdomain>
Date: Wed, 2 Oct 2013 14:05:50 +0100
From: Dave Martin <Dave.Martin@....com>
To: Nicolas Pitre <nicolas.pitre@...aro.org>
Cc: Vyacheslav Tyrtov <v.tyrtov@...sung.com>,
Mark Rutland <mark.rutland@....com>,
devicetree@...r.kernel.org, Kukjin Kim <kgene.kim@...sung.com>,
Russell King <linux@....linux.org.uk>,
Ben Dooks <ben-linux@...ff.org>,
Pawel Moll <pawel.moll@....com>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
Stephen Warren <swarren@...dotorg.org>,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
Rob Herring <rob.herring@...xeda.com>,
Tarek Dakhran <t.dakhran@...sung.com>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
linux-samsung-soc@...r.kernel.org, Rob Landley <rob@...dley.net>,
Mike Turquette <mturquette@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>,
Naour Romain <romain.naour@...nwide.fr>,
linux-arm-kernel@...ts.infradead.org,
Heiko Stuebner <heiko@...ech.de>
Subject: Re: [PATCH 3/6] ARM: EXYNOS: add Exynos Dual Cluster Support
On Tue, Oct 01, 2013 at 03:55:24PM -0400, Nicolas Pitre wrote:
> On Tue, 1 Oct 2013, Vyacheslav Tyrtov wrote:
>
> > From: Tarek Dakhran <t.dakhran@...sung.com>
[...]
> > + kfs_use_count[cpu][cluster]++;
> > + if (kfs_use_count[cpu][cluster] == 1) {
> > + ++core_count[cluster];
> > + if (core_count[cluster] == 1) {
> > + ret = exynos_cluster_power_up(cluster);
> > + if (ret) {
> > + pr_err("%s: cluster %u power up error\n",
> > + __func__, cluster);
> > + return ret;
> > + }
> > + __cci_control_port_by_index(MAX_NR_CLUSTERS
> > + - cluster, true);
>
> This is wrong and very racy. The state machine implemented in
> mcpm-head.S is there already to handle proper synchronization for you.
Maybe this issue didn't make itself obvious yet due to the lack of
suspend support.
Moving the CCI maintenance to power_up_setup() is essential for suspend/
resume to work, because then CPUs can power up randomly in response to
interrupts -- exynos_lock is not sufficient protection in that case.
The TC2 code should provide a good example of what to do.
[...]
Cheers
---Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists