aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/irqchip
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-11-15 12:10:53 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-15 12:10:53 -0500
commitb84da9fa47cf6e8dfd71d673a2f744ec1cac452c (patch)
tree800a1cb1e939eb84f7e7018be64e94be5c972ca0 /drivers/irqchip
parent12b76f3bf336388916ddf8047156f9e9993ff4e9 (diff)
parentda34232641a91ca785a787c23c158488e459b938 (diff)
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS updates from Ralf Baechle: "These are the highlists of the main MIPS pull request for 4.4: - Add latencytop support - Support appended DTBs - VDSO support and initially use it for gettimeofday. - Drop the .MIPS.abiflags and ELF NOTE sections from vmlinux - Support for the 5KE, an internal test core. - Switch all MIPS platfroms to libata drivers. - Improved support, cleanups for ralink and Lantiq platforms. - Support for the new xilfpga platform. - A number of DTB improvments for BMIPS. - Improved support for CM and CPS. - Minor JZ4740 and BCM47xx enhancements" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (120 commits) MIPS: idle: add case for CPU_5KE MIPS: Octeon: Support APPENDED_DTB MIPS: vmlinux: create a section for appended DTB MIPS: Clean up compat_siginfo_t MIPS: Fix PAGE_MASK definition MIPS: BMIPS: Enable GZIP ramdisk and timed printks MIPS: Add xilfpga defconfig MIPS: xilfpga: Add mipsfpga platform code MIPS: xilfpga: Add xilfpga device tree files. dt-bindings: MIPS: Document xilfpga bindings and boot style MIPS: Make MIPS_CMDLINE_DTB default MIPS: Make the kernel arguments from dtb available MIPS: Use USE_OF as the guard for appended dtb MIPS: BCM63XX: Use pr_* instead of printk MIPS: Loongson: Cleanup CONFIG_LOONGSON_SUSPEND. MIPS: lantiq: Disable xbar fpi burst mode MIPS: lantiq: Force the crossbar to big endian MIPS: lantiq: Initialize the USB core on boot MIPS: lantiq: Return correct value for fpi clock on ar9 MIPS: ralink: Add missing clock on rt305x ...
Diffstat (limited to 'drivers/irqchip')
-rw-r--r--drivers/irqchip/irq-mips-gic.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/irqchip/irq-mips-gic.c b/drivers/irqchip/irq-mips-gic.c
index aeaa061f0dbf..9e17ef27a183 100644
--- a/drivers/irqchip/irq-mips-gic.c
+++ b/drivers/irqchip/irq-mips-gic.c
@@ -29,6 +29,7 @@ struct gic_pcpu_mask {
29 DECLARE_BITMAP(pcpu_mask, GIC_MAX_INTRS); 29 DECLARE_BITMAP(pcpu_mask, GIC_MAX_INTRS);
30}; 30};
31 31
32static unsigned long __gic_base_addr;
32static void __iomem *gic_base; 33static void __iomem *gic_base;
33static struct gic_pcpu_mask pcpu_masks[NR_CPUS]; 34static struct gic_pcpu_mask pcpu_masks[NR_CPUS];
34static DEFINE_SPINLOCK(gic_lock); 35static DEFINE_SPINLOCK(gic_lock);
@@ -301,6 +302,17 @@ int gic_get_c0_fdc_int(void)
301 GIC_LOCAL_TO_HWIRQ(GIC_LOCAL_INT_FDC)); 302 GIC_LOCAL_TO_HWIRQ(GIC_LOCAL_INT_FDC));
302} 303}
303 304
305int gic_get_usm_range(struct resource *gic_usm_res)
306{
307 if (!gic_present)
308 return -1;
309
310 gic_usm_res->start = __gic_base_addr + USM_VISIBLE_SECTION_OFS;
311 gic_usm_res->end = gic_usm_res->start + (USM_VISIBLE_SECTION_SIZE - 1);
312
313 return 0;
314}
315
304static void gic_handle_shared_int(bool chained) 316static void gic_handle_shared_int(bool chained)
305{ 317{
306 unsigned int i, intr, virq, gic_reg_step = mips_cm_is64 ? 8 : 4; 318 unsigned int i, intr, virq, gic_reg_step = mips_cm_is64 ? 8 : 4;
@@ -798,6 +810,8 @@ static void __init __gic_init(unsigned long gic_base_addr,
798{ 810{
799 unsigned int gicconfig; 811 unsigned int gicconfig;
800 812
813 __gic_base_addr = gic_base_addr;
814
801 gic_base = ioremap_nocache(gic_base_addr, gic_addrspace_size); 815 gic_base = ioremap_nocache(gic_base_addr, gic_addrspace_size);
802 816
803 gicconfig = gic_read(GIC_REG(SHARED, GIC_SH_CONFIG)); 817 gicconfig = gic_read(GIC_REG(SHARED, GIC_SH_CONFIG));