Merge tag 'lsk-v3.10-android-14.11'
authorHuang, Tao <huangtao@rock-chips.com>
Fri, 5 Dec 2014 13:18:34 +0000 (21:18 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Fri, 5 Dec 2014 13:18:34 +0000 (21:18 +0800)
LSK Android 14.11 v3.10

Conflicts:
arch/arm/include/asm/cputype.h

20 files changed:
1  2 
Makefile
arch/arm/Kconfig
arch/arm/kernel/perf_event_cpu.c
arch/arm/mm/dma-mapping.c
arch/arm64/Kconfig
drivers/ata/libata-core.c
drivers/cpufreq/cpufreq_interactive.c
drivers/cpufreq/cpufreq_stats.c
drivers/irqchip/irq-gic.c
drivers/mmc/host/rtsx_pci_sdmmc.c
drivers/of/base.c
drivers/scsi/scsi_lib.c
drivers/usb/core/hcd.c
drivers/usb/core/hub.c
drivers/usb/host/ehci-hcd.c
drivers/usb/serial/option.c
include/linux/of.h
kernel/printk.c
kernel/sys.c
mm/page_alloc.c

diff --cc Makefile
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 8cb21def5508e7de41f41788b607051624e46b27,4cb670e617071e0cd1f8195604d0c09ac30301ba..c58923eee0c5f993b3b2f5df59eb49dc997a69a2
@@@ -429,29 -368,9 +399,18 @@@ static void __init gic_dist_init(struc
        for (i = 32; i < gic_irqs; i += 4)
                writel_relaxed(cpumask, base + GIC_DIST_TARGET + i * 4 / 4);
  
-       /*
-        * Set priority on all global interrupts.
-        */
-       for (i = 32; i < gic_irqs; i += 4)
-               writel_relaxed(0xa0a0a0a0, base + GIC_DIST_PRI + i * 4 / 4);
-       /*
-        * Disable all interrupts.  Leave the PPI and SGIs alone
-        * as these enables are banked registers.
-        */
-       for (i = 32; i < gic_irqs; i += 32)
-               writel_relaxed(0xffffffff, base + GIC_DIST_ENABLE_CLEAR + i * 4 / 32);
+       gic_dist_config(base, gic_irqs, NULL);
  
 +#ifdef CONFIG_FIQ_DEBUGGER
 +      // set all the interrupt to non-secure state
 +      for (i = 0; i < gic_irqs; i += 32) {
 +              writel_relaxed(0xffffffff, base + GIC_DIST_IGROUP + i * 4 / 32);
 +      }
 +      dsb();
 +      writel_relaxed(3, base + GIC_DIST_CTRL);
 +#else
        writel_relaxed(1, base + GIC_DIST_CTRL);
 +#endif
  }
  
  static void __cpuinit gic_cpu_init(struct gic_chip_data *gic)
                if (i != cpu)
                        gic_cpu_map[i] &= ~cpu_mask;
  
-       /*
-        * Deal with the banked PPI and SGI interrupts - disable all
-        * PPI interrupts, ensure all SGI interrupts are enabled.
-        */
-       writel_relaxed(0xffff0000, dist_base + GIC_DIST_ENABLE_CLEAR);
-       writel_relaxed(0x0000ffff, dist_base + GIC_DIST_ENABLE_SET);
-       /*
-        * Set priority on PPI and SGI interrupts
-        */
-       for (i = 0; i < 32; i += 4)
-               writel_relaxed(0xa0a0a0a0, dist_base + GIC_DIST_PRI + i * 4 / 4);
+       gic_cpu_config(dist_base, NULL);
  
        writel_relaxed(0xf0, base + GIC_CPU_PRIMASK);
 +#ifdef CONFIG_FIQ_DEBUGGER
 +      writel_relaxed(0x0f, base + GIC_CPU_CTRL);
 +#else
        writel_relaxed(1, base + GIC_CPU_CTRL);
 +#endif
  }
  
  void gic_cpu_if_down(void)
@@@ -716,17 -612,12 +664,17 @@@ static void gic_raise_softirq(const str
  
        /*
         * Ensure that stores to Normal memory are visible to the
-        * other CPUs before issuing the IPI.
+        * other CPUs before they observe us issuing the IPI.
         */
-       dsb();
+       dmb(ishst);
  
        /* this always happens on GIC0 */
 +#ifdef CONFIG_FIQ_DEBUGGER
 +      /* enable non-secure SGI for GIC with security extensions */
 +      writel_relaxed(map << 16 | irq | 0x8000, gic_data_dist_base(&gic_data[0]) + GIC_DIST_SOFTINT);
 +#else
        writel_relaxed(map << 16 | irq, gic_data_dist_base(&gic_data[0]) + GIC_DIST_SOFTINT);
 +#endif
  
        raw_spin_unlock_irqrestore(&irq_controller_lock, flags);
  }
Simple merge
Simple merge
Simple merge
index 01a518b927ea6cb94bf5dd11c3cf1a87c89bc1a4,f6e5ceb03afb30e1f379f56d90b207435aa7de99..b62703b89f7db2d7acd6c94517ced237dea9faae
mode 100755,100644..100755
index eff3ee6a62e07f36c0e3c965440f20ecde646811,c9f56ffdba9a435c2e0f775567644cb08879d504..2260781b50af26e5be83c84b7f6f72aa415a939f
mode 100755,100644..100755
index 248bd465f1adfd666d997f3c2f45ecabcdf47091,f1c3ad69ca54a907b99c82cdf63cdf20129bda55..32025a9a31a7e170149c62e302b3cb4ab5a9ca69
mode 100755,100644..100755
Simple merge
Simple merge
diff --cc kernel/printk.c
Simple merge
diff --cc kernel/sys.c
Simple merge
diff --cc mm/page_alloc.c
Simple merge