From: ryan@bluewatersys.com (Ryan Mallon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/5] SPEAR3xx: Rename register/irq defines to remove naming conflicts
Date: Thu, 12 Aug 2010 08:43:06 +1200 [thread overview]
Message-ID: <4C630B5A.3030509@bluewatersys.com> (raw)
In-Reply-To: <4C6269F0.8060109@st.com>
On 08/11/2010 09:14 PM, viresh kumar wrote:
> On 8/11/2010 2:20 AM, Ryan Mallon wrote:
>>>>>>
>>>>>> +/*
>>>>>> + * GPIO pins virtual irqs
>>>>>> + * Use the lowest number for the GPIO virtual IRQs base on which subarchs
>>>>>> + * we have compiled in
>>>>>> + */
>>>>>> +#if defined(CONFIG_MACH_SPEAR310)
>>>>>> +#define SPEAR_GPIO_INT_BASE (SPEAR3XX_VIRQ_START + 18)
>>>>>> +#elif defined(CONFIG_MACH_SPEAR320)
>>>>>> +#define SPEAR_GPIO_INT_BASE (SPEAR3XX_VIRQ_START + 17)
>>>>>> +#else
>>>>>> +#define SPEAR_GPIO_INT_BASE (SPEAR3XX_VIRQ_START + 9)
>>>>>> #endif
>>>>
>>>> If we have all three machines enabled, then SPEAR_GPIO_INT_BASE will start from
>>>> VIRQ_START + 18, which will work for spear310 and spear320, but will not be
>>>> correct as we will skip 9 irq no.s.
>> Do the virtual irqs map directly to the hardware in some way? I thought
>> that since they were virtual there offset would be somewhat arbitrary?
>
> No. Virtual irqs are not fixed with hardware. What i wanted to say is
> NR_IRQS will have a higher value, which will make irq_desc[NR_IRQS]
> array have more size.
Right, but the ifdef code about will make sure that if you only compile
in a single Spear implementation then the VIRQ start will be optimal. If
you compile multiple Spear implementations in then you get the benefit
of a single kernel which boots on multiple boards, at the cost of some
minimal memory wastage in some cases.
~Ryan
>>
>>>> It would be better to have three different base addresses
>>>> SPEAR300_GPIO_INT_BASE, etc.
>> This is possible. We can either do this by making SPEAR3XX_GPIO_INT_BASE
>> a variable, or by having some ifdef/machine_is code in the board
>> initialisation.
>
> Not sure! We need to have single value of NR_IRQS for all spear3xx variants.
> This will always waste some memory. I don't know if any other solution can
> be there.
>
> So SPEAR_GPIO_INT_BASE can be kept common with a single value without
> these #ifdefs, i.e. we can have
> #define SPEAR_GPIO_INT_BASE (SPEAR3XX_VIRQ_START + 18)
>
> and now we can have different macros per machine, i.e. 300,310,320.
>
> viresh.
--
Bluewater Systems Ltd - ARM Technology Solution Centre
Ryan Mallon 5 Amuri Park, 404 Barbadoes St
ryan at bluewatersys.com PO Box 13 889, Christchurch 8013
http://www.bluewatersys.com New Zealand
Phone: +64 3 3779127 Freecall: Australia 1800 148 751
Fax: +64 3 3779135 USA 1800 261 2934
next prev parent reply other threads:[~2010-08-11 20:43 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-05 6:05 [PATCH 0/5] SPEAr3xx: Unify build of SPEAr3xx platforms Ryan Mallon
2010-06-05 6:05 ` [PATCH 1/5] SPEAr3xx: Make local structres static Ryan Mallon
2010-06-14 5:16 ` Viresh KUMAR
2010-06-14 5:31 ` Ryan Mallon
2010-06-14 5:41 ` Viresh KUMAR
2010-06-05 6:05 ` [PATCH 2/5] SPEAR3xx: Rename register/irq defines to remove naming conflicts Ryan Mallon
2010-06-14 5:18 ` Viresh KUMAR
2010-06-14 5:36 ` Ryan Mallon
2010-06-14 5:46 ` Viresh KUMAR
2010-06-14 10:17 ` Ryan Mallon
2010-08-10 5:12 ` viresh kumar
2010-08-10 20:50 ` Ryan Mallon
2010-08-11 9:14 ` viresh kumar
2010-08-11 20:43 ` Ryan Mallon [this message]
2010-08-12 4:40 ` viresh kumar
2010-06-05 6:05 ` [PATCH 3/5] SPEAr3xx: Rework pmx_dev code to remove conflicts Ryan Mallon
2010-06-14 5:21 ` Viresh KUMAR
2010-06-05 6:05 ` [PATCH 4/5] SPEAr3xx: Rework KConfig to allow all boards to be compiled in Ryan Mallon
2010-06-05 6:05 ` [PATCH 5/5] SPEAr3xx: Replace defconfigs with single unfied defconfig Ryan Mallon
2010-06-13 22:51 ` [PATCH 0/5] SPEAr3xx: Unify build of SPEAr3xx platforms Ryan Mallon
2010-06-15 5:32 ` Viresh KUMAR
2010-06-15 6:49 ` Ryan Mallon
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=4C630B5A.3030509@bluewatersys.com \
--to=ryan@bluewatersys.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.