summaryrefslogtreecommitdiff
path: root/arch/blackfin/mach-common/ints-priority.c
AgeCommit message (Collapse)AuthorFilesLines
2008-11-18Blackfin arch: Cleanup and unify Blackfin IRQ and GPIO IRQ handlingMichael Hennerich1-125/+66
- Remove SSYNC() - Use irq_to_gpio where applicable - Remove gpio_edge_triggered bitfield, check irq_desc fields instead. - Remove gpio_both_edge_triggeredb bitfield, check irq_desc fields instead. - Use BITMAP and bitops on gpio_enabled - Preferably use 32-bit - Looking at the disassembly this indeed saves quite a few instructions. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-11-18Blackfin arch: remove useless SSYNC() in irq priority codeMike Frysinger1-4/+0
- remove SSYNC() left over from irq init split - do not force SSYNC() when masking/unmasking IRQs in the SIC as any order enforced by the hardware should already be enforced by software Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-11-18Blackfin arch: fix bug - gpio_bank() macros messed up bank number caculating ↵Bryan Wu1-3/+3
with positioning a gpio The whole story: Before BF51x merged, all the MAX_BLACKFIN_GPIOS are integral multiple of GPIO_BANKSIZE (= 16). But BF51x provides MAX_BLACKFIN_GPIOS = 40 which includes 3 banks and the 3rd bank has only 8 GPIO pins. Therefore, gpio_bank() macros is correct when you try to find a GPIO in which bank (GPIO_35 is in bank 2). But on BF51x gpio_bank(MAX_BLACKFIN_GPIOS) only gives out 2 banks instead of 3 banks for some static array initialization. This patch add a new macros gpio_bank_n() and GPIO_BANK_NUM to do bank number caculating and remain the gpio_bank() macros for positioning a gpio in which bank. Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-11-18Blackfin arch: add support for Blackfin latest processor family BF51xBryan Wu1-8/+12
Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-10-28Blackfin arch: move EXPORT_SYMBOL to the place where it is actually definedMike Frysinger1-0/+1
- kernel_thread - irq_flags - checksum Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-11-18Blackfin arch: BF538/9 Linux kernel SupportMichael Hennerich1-6/+14
Add supporing for Blackfin BF538 and BF539 processors. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-10-08Blackfin arch: Not call generic set_irq_handler() in bfin_gpio_irq_type() ↵Graf Yang1-4/+12
due to spinlock recursion Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-10-08Blackfin arch: add a meaningful name for each irqchipGraf Yang1-0/+5
Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-10-13Blackfin arch: add supporting for kgdbSonic Zhang1-4/+0
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-08-28Blackfin arch: Fix PM building on BF52x: No ROTWE on BF52x, add USBWEMichael Hennerich1-1/+1
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-08-25Blackfin arch: dont actually need to muck with EMAC_SYSTAT for BF52x for ↵Mike Frysinger1-1/+1
demuxing Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-08-14Blackfin arch: clear EMAC_SYSTAT during IRQ init rather than early head.S as ↵Mike Frysinger1-0/+5
we dont need it setup that early Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-08-13Blackfin arch: workaround SIC_IWR1 reset bug, by keeping MDMA0/1 always ↵Michael Hennerich1-0/+9
enabled in SIC_IWR1. This way we ensure that reboot succeeds. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-08-06Blackfin arch: Fix Bug - System with EMAC driver enabled - Core not idlingMichael Hennerich1-4/+4
- Disable all bits in SIC_IWR unless we are going into a real (DPMC) power saving mode. Any Interrupt can wake the core form it's idle state. - Remove deep sleep mode as it is not going to be used anywhere: We support sleep, sleep deeper and hibernate. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-08-05Blackfin arch: Functional power management supportMichael Hennerich1-3/+43
Merge VR Regulator Hibernate wakeups into set_irq_wake for internal interrupts. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-07-14Blackfin arch: Fix Bug - GPIO interrupts not disabled; edge sensitive ↵Michael Hennerich1-0/+4
interrupt hang system. - Implement irq_chip.enable and irq_chip.disable Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-04-25[Blackfin] arch: Remove the circular buffering mechanism for exceptionsBernd Schmidt1-2/+0
Remove the circular buffering mechanism for exceptions. Instead, point RETX at a safe location from which to fetch three NOPs. This safe location is now in the fixed code area, and also used for certain anomaly workarounds, to ensure that user space can find a valid ICPLB when things are built with CONFIG_MPU. Also, save I/DCPLB_FAULT_ADDRESS when lowering to level 5, since the hardware reg is valid only at exception level. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-04-24[Blackfin] arch: Allow concurrent use of GPIO and GPIO IRQMichael Hennerich1-39/+13
The irq setup code no longer calls gpio request and free. This patch also changes the default gpio_free behavior on Blackfin. A freed GPIO keeps it's last state, and is not defaulted back to an input. This is also what all other architectures do. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-04-23[Blackfin] arch: __FUNCTION__ is gcc-specific, use __func__Harvey Harrison1-1/+1
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Cc: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-02-25[Blackfin] arch: Cleanup abd Simplify:Michael Hennerich1-106/+51
- Simplify init_arch_irq - Make code more readable - Remove useless SSYNCs - Fix comments Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-02-25[Blackfin] arch: fix bug - linux-2.6.24 (delayed) disable IRQ feature not ↵Michael Hennerich1-0/+3
functional for handle_simple_irq Bypass delayed disable feature by implementing chip->disable and chip->enable. http://lkml.org/lkml/2008/2/19/115 Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-02-25[Blackfin] arch: fix bug - Move IWR Enable All to the end of init_arch_irq ↵Michael Hennerich1-4/+10
otherwise it fails Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-02-02[Blackfin] arch:Fix BUG [#3876] pfbutton test for BTN3 on bf533 don't show ↵Michael Hennerich1-9/+13
complete info - Buttons on the BF533-STAMP board are not inverted - Fix spurious GPIO Interrupt caused during set irq_type for edge triggered interrupts Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
2008-02-08[Blackfin] arch: hook up set_irq_wake in Blackfin's irq codeMichael Hennerich1-5/+121
- Add support for irq_wake on system and gpio interrupts - Remove outdated kernel options - Add option to select default PM mode - Fix various places where SIC_IWRx was only handled partially Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
2008-02-08[Blackfin] arch: Merge BF561 support into ints-priorityMichael Hennerich1-0/+1039
Merge single core ints-priority-sc.c and dual core ints-priority-dc.c into one common code ints-priority.c Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>