Patchwork [GIT,PULL] genirq support for GIC PPIs

login
register
mail settings
Submitter Marc Zyngier
Date Oct. 20, 2011, 10:23 a.m.
Message ID <4E9FF695.10604@arm.com>
Download mbox
Permalink /patch/120783/
State New
Headers show

Pull-request

git://github.com/mzyngier/arm-platforms.git ppi-for-rmk

Comments

Marc Zyngier - Oct. 20, 2011, 10:23 a.m.
Russell,

Please pull the following branch to get the genirq support for the GIC
PPIs.

Thanks,

	M.

The following changes since commit 5a567d78c437e3be1c512734cdfe64b4ae6b82d7:
  Jamie Iles (1):
        ARM: 7115/4: move __exception and friends to asm/exception.h

are available in the git repository at:

  git://github.com/mzyngier/arm-platforms.git ppi-for-rmk

Marc Zyngier (4):
      genirq: Add support for per-cpu dev_id interrupts
      genirq: percpu: allow interrupt type to be set at enable time
      ARM: gic: consolidate PPI handling
      ARM: gic, local timers: use the request_percpu_irq() interface

Thomas Gleixner (1):
      genirq: Fix fatfinered fixup really

 arch/arm/common/gic.c                             |   43 +++-
 arch/arm/include/asm/entry-macro-multi.S          |    7 -
 arch/arm/include/asm/hardirq.h                    |    3 -
 arch/arm/include/asm/hardware/entry-macro-gic.S   |   19 +--
 arch/arm/include/asm/hardware/gic.h               |    1 -
 arch/arm/include/asm/localtimer.h                 |   23 +--
 arch/arm/include/asm/smp.h                        |    5 -
 arch/arm/include/asm/smp_twd.h                    |    2 +-
 arch/arm/kernel/irq.c                             |    3 -
 arch/arm/kernel/smp.c                             |   38 +----
 arch/arm/kernel/smp_twd.c                         |   47 +++++-
 arch/arm/mach-exynos4/include/mach/entry-macro.S  |    7 +-
 arch/arm/mach-exynos4/mct.c                       |    7 +-
 arch/arm/mach-msm/board-msm8x60.c                 |   11 -
 arch/arm/mach-msm/include/mach/entry-macro-qgic.S |   73 +-------
 arch/arm/mach-msm/timer.c                         |   69 ++++---
 arch/arm/mach-omap2/include/mach/entry-macro.S    |   14 +--
 arch/arm/mach-shmobile/entry-intc.S               |    3 -
 arch/arm/mach-shmobile/include/mach/entry-macro.S |    3 -
 include/linux/interrupt.h                         |   38 +++-
 include/linux/irq.h                               |   16 ++-
 include/linux/irqdesc.h                           |    1 +
 kernel/irq/chip.c                                 |   64 ++++++-
 kernel/irq/internals.h                            |   19 ++-
 kernel/irq/irqdesc.c                              |   32 +++-
 kernel/irq/manage.c                               |  215 ++++++++++++++++++++-
 kernel/irq/settings.h                             |    7 +
 27 files changed, 496 insertions(+), 274 deletions(-)
Russell King - ARM Linux - Oct. 20, 2011, 11:27 a.m.
On Thu, Oct 20, 2011 at 11:23:17AM +0100, Marc Zyngier wrote:
> The following changes since commit 5a567d78c437e3be1c512734cdfe64b4ae6b82d7:
>   Jamie Iles (1):
>         ARM: 7115/4: move __exception and friends to asm/exception.h
> 
> are available in the git repository at:
> 
>   git://github.com/mzyngier/arm-platforms.git ppi-for-rmk
> 
> Marc Zyngier (4):
>       genirq: Add support for per-cpu dev_id interrupts
>       genirq: percpu: allow interrupt type to be set at enable time
>       ARM: gic: consolidate PPI handling
>       ARM: gic, local timers: use the request_percpu_irq() interface
> 
> Thomas Gleixner (1):
>       genirq: Fix fatfinered fixup really

I thought you said some of these were in Thomas' tree already?
Marc Zyngier - Oct. 20, 2011, 12:05 p.m.
On 20/10/11 12:27, Russell King - ARM Linux wrote:
> On Thu, Oct 20, 2011 at 11:23:17AM +0100, Marc Zyngier wrote:
>> The following changes since commit 5a567d78c437e3be1c512734cdfe64b4ae6b82d7:
>>   Jamie Iles (1):
>>         ARM: 7115/4: move __exception and friends to asm/exception.h
>>
>> are available in the git repository at:
>>
>>   git://github.com/mzyngier/arm-platforms.git ppi-for-rmk
>>
>> Marc Zyngier (4):
>>       genirq: Add support for per-cpu dev_id interrupts
>>       genirq: percpu: allow interrupt type to be set at enable time
>>       ARM: gic: consolidate PPI handling
>>       ARM: gic, local timers: use the request_percpu_irq() interface
>>
>> Thomas Gleixner (1):
>>       genirq: Fix fatfinered fixup really
> 
> I thought you said some of these were in Thomas' tree already?

The first three patches are in Thomas' tree indeed. I could drop them
from my branch, but the resulting tree would not compile anymore.

What strategy would cause the least merging pain?

	M.
Russell King - ARM Linux - Oct. 20, 2011, 1:04 p.m.
On Thu, Oct 20, 2011 at 01:05:19PM +0100, Marc Zyngier wrote:
> On 20/10/11 12:27, Russell King - ARM Linux wrote:
> > On Thu, Oct 20, 2011 at 11:23:17AM +0100, Marc Zyngier wrote:
> >> The following changes since commit 5a567d78c437e3be1c512734cdfe64b4ae6b82d7:
> >>   Jamie Iles (1):
> >>         ARM: 7115/4: move __exception and friends to asm/exception.h
> >>
> >> are available in the git repository at:
> >>
> >>   git://github.com/mzyngier/arm-platforms.git ppi-for-rmk
> >>
> >> Marc Zyngier (4):
> >>       genirq: Add support for per-cpu dev_id interrupts
> >>       genirq: percpu: allow interrupt type to be set at enable time
> >>       ARM: gic: consolidate PPI handling
> >>       ARM: gic, local timers: use the request_percpu_irq() interface
> >>
> >> Thomas Gleixner (1):
> >>       genirq: Fix fatfinered fixup really
> > 
> > I thought you said some of these were in Thomas' tree already?
> 
> The first three patches are in Thomas' tree indeed. I could drop them
> from my branch, but the resulting tree would not compile anymore.
> 
> What strategy would cause the least merging pain?

The only thing I can think is that you need to start off with a tree
with 5a567d78c437e3be1c512734cdfe64b4ae6b82d7 as the top commit,
merge into that the last commit which you need from Thomas' tree
(iow, "genirq: percpu: allow interrupt type to be set at enable time"
or maybe "genirq: Fix fatfinered fixup really") and then apply the
last two GIC patches on top of that merge commit.

However, I guess Thomas already has many other commits queued up for
mainline before these changes - which would make those commits become
part of my tree.

That causes problems because if Thomas pushes first, my tree ends up
with multiple ancestors, which makes it impossible to generate a
diffstat for my push to Linus.  The flip-side is if I push before
Thomas, then I'm pushing Thomas' commits into mainline myself (which
means I then need to explain Thomas' generic changes to Linus and why
they're part of my tree.)

Cross-tree dependencies like this really suck.

I'm really tempted to postpone this to the following merge window to
'solve' these dependencies (because by that time their dependencies
should all be merged into mainline, which makes things nice and simple.)
Marc Zyngier - Oct. 20, 2011, 1:31 p.m.
On 20/10/11 14:04, Russell King - ARM Linux wrote:
> On Thu, Oct 20, 2011 at 01:05:19PM +0100, Marc Zyngier wrote:
>> On 20/10/11 12:27, Russell King - ARM Linux wrote:
>>> On Thu, Oct 20, 2011 at 11:23:17AM +0100, Marc Zyngier wrote:
>>>> The following changes since commit 5a567d78c437e3be1c512734cdfe64b4ae6b82d7:
>>>>   Jamie Iles (1):
>>>>         ARM: 7115/4: move __exception and friends to asm/exception.h
>>>>
>>>> are available in the git repository at:
>>>>
>>>>   git://github.com/mzyngier/arm-platforms.git ppi-for-rmk
>>>>
>>>> Marc Zyngier (4):
>>>>       genirq: Add support for per-cpu dev_id interrupts
>>>>       genirq: percpu: allow interrupt type to be set at enable time
>>>>       ARM: gic: consolidate PPI handling
>>>>       ARM: gic, local timers: use the request_percpu_irq() interface
>>>>
>>>> Thomas Gleixner (1):
>>>>       genirq: Fix fatfinered fixup really
>>>
>>> I thought you said some of these were in Thomas' tree already?
>>
>> The first three patches are in Thomas' tree indeed. I could drop them
>> from my branch, but the resulting tree would not compile anymore.
>>
>> What strategy would cause the least merging pain?
> 
> The only thing I can think is that you need to start off with a tree
> with 5a567d78c437e3be1c512734cdfe64b4ae6b82d7 as the top commit,
> merge into that the last commit which you need from Thomas' tree
> (iow, "genirq: percpu: allow interrupt type to be set at enable time"
> or maybe "genirq: Fix fatfinered fixup really") and then apply the
> last two GIC patches on top of that merge commit.
> 
> However, I guess Thomas already has many other commits queued up for
> mainline before these changes - which would make those commits become
> part of my tree.
> 
> That causes problems because if Thomas pushes first, my tree ends up
> with multiple ancestors, which makes it impossible to generate a
> diffstat for my push to Linus.  The flip-side is if I push before
> Thomas, then I'm pushing Thomas' commits into mainline myself (which
> means I then need to explain Thomas' generic changes to Linus and why
> they're part of my tree.)
> 
> Cross-tree dependencies like this really suck.
> 
> I'm really tempted to postpone this to the following merge window to
> 'solve' these dependencies (because by that time their dependencies
> should all be merged into mainline, which makes things nice and simple.)

Could we just wait until Thomas' branch has reached mainline, and then
try another pull request with only the last two patches?

I understand this is tricky, but waiting another merge window may lead
to another bunch of conflicts and cross-tree madness (there's some
MULTI_IRQ_HANDLER stuff coming from a number of parties as well RobH's
GIC DT work).

Thanks,

	M.