Re: [RFC/PATCH 0/5] sparc32 genirq support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sam Ravnborg wrote:

Convert sparc32 to use genirq.

Changes since v2:
- avoid moving function in sun4d_irq to make diff more readable (Josip Rodin)
- added patch that fixes build with floppy or LEON enabled
 I broke that during my cleanup.
 This is 1/5 - and should be applied to -next soon.
- converted leon to genirq
 It was straight forward. I identified some dead code in leon_kernel
 but I did not clean it up (stuff that reference eirq).
Somehow only parts of the Extended IRQ Controller patch was submitted when LEON was included the first time. We distribute the rest of the patch on our homepage, however since it is not clean and you are cleaning up the IRQ code I have been waiting with it.

The extended IRQ controller is basically one extra level of IRQs, when the EIRQ (1..14) is taken the ISR looks what IRQ actually caused the IRQ (16..31) and calls that handler.

Thanks,
Daniel

- converted pcic to genirq
 I had missed this during the last rounds. I had also missed
 that we either used sun4m_irq OR pcic irq support.
 Note: I assume the handle_level_irq is the right handler for pcic too.

The TODO list contains only two items now:
- What to do with the smp4m_irq_rotate(cpu) functionality?
 Can we just ignore it as we have a maximum of 4 CPUs
- Are the sun4d mask/unmask implementation buggy with respect
 to cpu interrupts?
 I do not know the sun4d platform - and has no HW to test on (yet at least)


I feel quite confident with most of the code-changes.
The sun4d stuff is where I am most unsafe.
If anyone can test it on real HW it would be great!

I will try to setup QEMU during the next week or two
to see if this can help me in more testing.

	Sam

Sam Ravnborg (5):
     sparc32: fix build with leon or floppy enabled
     sparc32: introduce sparc_irq_config
     sparc32: introduce build_device_irq
     sparc32,sun4m: percpu and global register definitions moved to irq.h
     sparc32: genirq support

arch/sparc/Kconfig                 |    5 +-
arch/sparc/include/asm/floppy_32.h |   41 ++-
arch/sparc/include/asm/irq_32.h    |    8 +-
arch/sparc/include/asm/leon.h      |    3 -
arch/sparc/include/asm/system_32.h |    5 -
arch/sparc/kernel/Makefile         |    4 -
arch/sparc/kernel/irq.h            |   86 ++++--
arch/sparc/kernel/irq_32.c         |  504 ++++++++--------------------------
arch/sparc/kernel/kernel.h         |    9 +-
arch/sparc/kernel/leon_kernel.c    |   62 ++++-
arch/sparc/kernel/leon_smp.c       |   20 +-
arch/sparc/kernel/of_device_32.c   |   59 +----
arch/sparc/kernel/pcic.c           |   82 ++++--
arch/sparc/kernel/sun4c_irq.c      |  146 ++++++----
arch/sparc/kernel/sun4d_irq.c      |  522 +++++++++++++++---------------------
arch/sparc/kernel/sun4m_irq.c      |  204 +++++++-------
arch/sparc/kernel/sun4m_smp.c      |   16 +-
arch/sparc/kernel/time_32.c        |    2 +-
18 files changed, 748 insertions(+), 1030 deletions(-)



--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux