1. 18 3月, 2014 1 次提交
  2. 17 3月, 2014 3 次提交
    • K
      CNS3xxx: Fix PCIe early iotable_init(). · 64cf9d07
      Krzysztof Hałasa 提交于
      This patch fixes the following BUG:
      
      > kernel BUG at mm/vmalloc.c:1132!
      > PC is at vm_area_add_early+0x20/0x84
      > LR is at add_static_vm_early+0xc/0x60
      >
      > The problem is cns3xxx_pcie_init() (device_initcall) calls the "early"
      > iotable_init().
      
      Instead of merely calling the PCIe iotable_init() from
      machine_desc->map_io(), this patch adds the required mappings to the
      main CNS3xxx mapping table. This means we don't convert .pfn back to
      virtual addresses in pcie.c. The size of the address space consumed for
      PCIe control is reduced from 96 MiB (6 * 16 MiB) to about 32 MiB (this
      doesn't include MMIO address space required by PCI devices):
      
      - Size of the PCIe "host" mapping is reduced from 16 MiB to 4 KiB.
        It's a PCI configuration address space for the local (on-chip) PCIe
        bridge.
      
      - Size of the "CFG0" mapping is reduced from 16 MiB to 64 KiB. It's for
        Type 0 Configuration accesses, i.e., accesses to the single device
        (with possible "functions") on the other end of the PCIe link.
        We really only need a 4 KiB page at 0x8000 (see the offset
        calculation in cns3xxx_pci_cfg_base()). There is still a potential
        problem with PCI bus numbers > 0xF, are they supported?
      
      - The code in cns3xxx_pci_cfg_base() and cns3xxx_pcie_hw_init() should
        be clearer now.
      
      - The maximum address space allocated for PCI MMIO is now correctly
        shown in /proc/iomem as 176 MiB (per each of the two PCI "domains"
        - previously only 16 MiB were reserved).
      
      This patch has been tested on Gateworks Laguna board, masqueraded as
      CNS3420VB.
      Signed-off-by: NKrzysztof Ha?asa <khalasa@piap.pl>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      64cf9d07
    • K
      CNS3xxx: Fix a WARN() related to IRQ allocation. · 75efba81
      Krzysztof Hałasa 提交于
      WARNING: at drivers/irqchip/irq-gic.c:952 gic_init_bases+0xe4/0x2b8()
      Cannot allocate irq_descs @ IRQ16, assuming pre-allocated
      Backtrace:
      gic_init_bases    from cns3xxx_init_irq+0x24/0x34
      cns3xxx_init_irq  from init_IRQ+0x24/0x2c
      init_IRQ          from start_kernel+0x1a8/0x338
      start_kernel      from 0x2000806c
      
      The problem is that 64 CNS3xxx CPU interrupts, starting at 32, are
      allocated by the ARM platform-independent code (as requested by
      machine_desc->nr_irqs = 96), and then the GIC code tries to allocate
      them again.
      
      Tested on Gateworks Laguna board, masqueraded as CNS3420VB.
      Signed-off-by: NKrzysztof Hałasa <khalasa@piap.pl>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      75efba81
    • A
      Merge tag 'omap-for-v3.15/fixes-for-merge-window' of... · f18651eb
      Arnd Bergmann 提交于
      Merge tag 'omap-for-v3.15/fixes-for-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical
      
      Merge "omap fixes for v3.15 merge window" from Tony Lindgren:
      
      Fixes for omaps that would be good to get in before v3.15-rc1.
      
      * tag 'omap-for-v3.15/fixes-for-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP4: hwmod data: correct the idlemodes for spinlock
        ARM: dts: am33xx: correcting dt node unit address for usb
        ARM: dts: omap4/5: Use l3_ick for the gpmc node
        CLK: TI: OMAP4/5/DRA7: Remove gpmc_fck from dummy clocks
        ARM: OMAP4: Fix definition of IS_PM44XX_ERRATUM
        ARM: OMAP2+: INTC: Acknowledge stuck active interrupts
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      f18651eb
  3. 14 3月, 2014 6 次提交
  4. 01 3月, 2014 2 次提交
  5. 26 2月, 2014 1 次提交
  6. 24 2月, 2014 10 次提交
  7. 23 2月, 2014 9 次提交
  8. 22 2月, 2014 8 次提交