From: Tomasz Figa <tomasz.figa@gmail.com>
To: Vyacheslav Tyrtov <v.tyrtov@samsung.com>
Cc: linux-kernel@vger.kernel.org,
Rob Herring <rob.herring@calxeda.com>,
Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Stephen Warren <swarren@wwwdotorg.org>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Rob Landley <rob@landley.net>, Kukjin Kim <kgene.kim@samsung.com>,
Russell King <linux@arm.linux.org.uk>,
Ben Dooks <ben-linux@fluff.org>,
Mike Turquette <mturquette@linaro.org>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
Heiko Stuebner <heiko@sntech.de>,
Naour Romain <romain.naour@openwide.fr>,
devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org,
Tarek Dakhran <t.dakhran@samsung.com>
Subject: Re: [PATCH 5/6] ARM: EXYNOS: Minor fixes to enable EXYNOS5410 support
Date: Wed, 02 Oct 2013 23:07:21 +0200 [thread overview]
Message-ID: <2780639.2cMZyXdSOA@flatron> (raw)
In-Reply-To: <1380644227-12244-6-git-send-email-v.tyrtov@samsung.com>
Hi Vyacheslav, Tarek,
On Tuesday 01 of October 2013 20:17:06 Vyacheslav Tyrtov wrote:
> From: Tarek Dakhran <t.dakhran@samsung.com>
>
> Configure ARM_NR_BANKS as 16 for EXYNOS SoC.
> Enable cci_control_port_by_index for ACE_PORT.
> Add additional irqs for Exynos MCT.
> Set irq base as 256 for EXYNOS5410 SoC.
>
> Signed-off-by: Vyacheslav Tyrtov <v.tyrtov@samsung.com>
> ---
> arch/arm/Kconfig | 2 +-
> drivers/bus/arm-cci.c | 7 +++++++
> drivers/clocksource/exynos_mct.c | 8 +++++++-
> drivers/irqchip/exynos-combiner.c | 12 +++++++++++-
> 4 files changed, 26 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 3f7714d..7f88896 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1080,7 +1080,7 @@ source arch/arm/mm/Kconfig
>
> config ARM_NR_BANKS
> int
> - default 16 if ARCH_EP93XX
> + default 16 if ARCH_EP93XX || ARCH_EXYNOS
Could you explain why this is needed, please?
> default 8
>
> config IWMMXT
> diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c
> index 2009266..f2f5df1 100644
> --- a/drivers/bus/arm-cci.c
> +++ b/drivers/bus/arm-cci.c
> @@ -363,8 +363,15 @@ int notrace __cci_control_port_by_index(u32 port,
> bool enable) * interface (ie cci_disable_port_by_cpu(); control by
> general purpose * indexing is therefore disabled for ACE ports.
> */
> +
> + /*
> + * Using this way to enable cci_port on EXYNOS5410 SoC
> + */
> +
> +#ifndef CONFIG_SOC_EXYNOS5410
> if (ports[port].type == ACE_PORT)
> return -EPERM;
> +#endif
Huh? Could you explain a) why this is needed b) why this can't be detected
at runtime? Any new code being added must be ready for multiplatform
builds and this clearly isn't.
I'd recommend extending the CCI binding with a boolean property that makes
the driver bypass this check, but I'd like to see an answer to question a)
first.
>
> cci_port_control(port, enable);
> return 0;
> diff --git a/drivers/clocksource/exynos_mct.c
> b/drivers/clocksource/exynos_mct.c index 5b34768..33884d7 100644
> --- a/drivers/clocksource/exynos_mct.c
> +++ b/drivers/clocksource/exynos_mct.c
> @@ -71,6 +71,12 @@ enum {
> MCT_L1_IRQ,
> MCT_L2_IRQ,
> MCT_L3_IRQ,
> +#ifdef CONFIG_ARM_CCI
> + MCT_L4_IRQ,
> + MCT_L5_IRQ,
> + MCT_L6_IRQ,
> + MCT_L7_IRQ,
> +#endif
This #ifdef is useless.
Basically this whole enum is, as it is a remnant of legacy non-DT support,
but it is a material for separate patch.
> MCT_NR_IRQS,
> };
>
> @@ -406,7 +412,7 @@ static int exynos4_local_timer_setup(struct
> clock_event_device *evt) mevt = container_of(evt, struct
> mct_clock_event_device, evt);
>
> mevt->base = EXYNOS4_MCT_L_BASE(cpu);
> - sprintf(mevt->name, "mct_tick%d", cpu);
> + snprintf(mevt->name, 10, "mct_tick%d", cpu);
Is this really necessary to enable EXYNOS5410 support?
>
> evt->name = mevt->name;
> evt->cpumask = cpumask_of(cpu);
> diff --git a/drivers/irqchip/exynos-combiner.c
> b/drivers/irqchip/exynos-combiner.c index 868ed40..2e056fc 100644
> --- a/drivers/irqchip/exynos-combiner.c
> +++ b/drivers/irqchip/exynos-combiner.c
> @@ -18,6 +18,7 @@
> #include <linux/of_address.h>
> #include <linux/of_irq.h>
> #include <asm/mach/irq.h>
> +#include <plat/cpu.h>
>
> #include "irqchip.h"
>
> @@ -66,6 +67,11 @@ static void combiner_handle_cascade_irq(unsigned int
> irq, struct irq_desc *desc) struct irq_chip *chip = irq_get_chip(irq);
> unsigned int cascade_irq, combiner_irq;
> unsigned long status;
> + if (unlikely(!chip || !chip_data)) {
> + printk_once(KERN_ALERT "%s: Chip not found for IRQ %d\n"
> + , __func__, irq);
> + return;
> + }
What is the reason for this change?
>
> chained_irq_enter(chip, desc);
>
> @@ -226,7 +232,11 @@ static int __init combiner_of_init(struct
> device_node *np, * get their IRQ from DT, remove this in order to get
> dynamic * allocation.
> */
> - irq_base = 160;
> +
> + if (soc_is_exynos5410())
> + irq_base = 256;
> + else
> + irq_base = 160;
>
> combiner_init(combiner_base, np, max_nr, irq_base);
There was a patch floating on the ML, possibly already merged, removing
static IRQ base assignment for combiner (which is a remnant of legacy non-
DT support) and moving the driver to normal linear IRQ domain. That patch
is what you need instead of this change.
Best regards,
Tomasz
next prev parent reply other threads:[~2013-10-02 21:07 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-01 16:17 [PATCH 0/6] Exynos 5410 Dual cluster support Vyacheslav Tyrtov
2013-10-01 16:17 ` [PATCH 1/6] ARM: EXYNOS: Add support for EXYNOS5410 SoC Vyacheslav Tyrtov
2013-10-01 16:17 ` [PATCH 2/6] clk: exynos5410: register clocks using common clock framework Vyacheslav Tyrtov
2013-10-01 17:07 ` Bartlomiej Zolnierkiewicz
[not found] ` <1380644227-12244-3-git-send-email-v.tyrtov-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-10-01 21:44 ` Stephen Warren
2013-10-02 20:32 ` Tomasz Figa
2013-10-01 16:17 ` [PATCH 3/6] ARM: EXYNOS: add Exynos Dual Cluster Support Vyacheslav Tyrtov
[not found] ` <1380644227-12244-4-git-send-email-v.tyrtov-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-10-01 19:55 ` Nicolas Pitre
2013-10-02 13:05 ` Dave Martin
2013-10-02 12:55 ` Dave Martin
[not found] ` <20131002125458.GA3407-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2013-10-04 19:51 ` Nicolas Pitre
2013-10-01 16:17 ` [PATCH 4/6] ARM: dts: Add initial device tree support for EXYNOS5410 Vyacheslav Tyrtov
[not found] ` <1380644227-12244-5-git-send-email-v.tyrtov-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-10-02 20:54 ` Tomasz Figa
2013-10-01 16:17 ` [PATCH 5/6] ARM: EXYNOS: Minor fixes to enable EXYNOS5410 support Vyacheslav Tyrtov
[not found] ` <1380644227-12244-6-git-send-email-v.tyrtov-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-10-01 17:37 ` Bartlomiej Zolnierkiewicz
2013-10-02 21:07 ` Tomasz Figa [this message]
2013-10-03 6:16 ` Chander Kashyap
2013-10-01 16:17 ` [PATCH 6/6] ARM: smdk5410_defconfig: add defconfig for smdk5410 Vyacheslav Tyrtov
2013-10-01 17:48 ` Bartlomiej Zolnierkiewicz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2780639.2cMZyXdSOA@flatron \
--to=tomasz.figa@gmail.com \
--cc=ben-linux@fluff.org \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=ijc+devicetree@hellion.org.uk \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=mturquette@linaro.org \
--cc=pawel.moll@arm.com \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
--cc=romain.naour@openwide.fr \
--cc=swarren@wwwdotorg.org \
--cc=t.dakhran@samsung.com \
--cc=tglx@linutronix.de \
--cc=v.tyrtov@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).