1. 22 1月, 2020 14 次提交
  2. 21 1月, 2020 6 次提交
    • J
      irqchip: Add NXP INTMUX interrupt multiplexer support · 2fbb1396
      Joakim Zhang 提交于
      The Interrupt Multiplexer (INTMUX) expands the number of peripherals
      that can interrupt the core:
      * The INTMUX has 8 channels that are assigned to 8 NVIC interrupt slots.
      * Each INTMUX channel can receive up to 32 interrupt sources and has 1
        interrupt output.
      * The INTMUX routes the interrupt sources to the interrupt outputs.
      Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com>
      Signed-off-by: NJoakim Zhang <qiangqing.zhang@nxp.com>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/20200117060653.27485-3-qiangqing.zhang@nxp.com
      2fbb1396
    • H
      irqchip: Define EXYNOS_IRQ_COMBINER · b74416db
      Hyunki Koo 提交于
      This patch is written to clean up dependency of ARCH_EXYNOS
      Not all exynos device have IRQ_COMBINER, especially aarch64 EXYNOS
      but it is built for all exynos devices.
      Thus add the config for EXYNOS_IRQ_COMBINER
      remove direct dependency between ARCH_EXYNOS and exynos-combiner.c
      and only selected on the aarch32 devices
      Signed-off-by: NHyunki Koo <hyunki00.koo@samsung.com>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      Reviewed-by: NKrzysztof Kozlowski <krzk@kernel.org>
      Link: https://lore.kernel.org/r/20191224211108.7128-1-hyunki00.koo@gmail.com
      b74416db
    • Q
      irqchip/meson-gpio: Add support for meson a1 SoCs · 8f78bd62
      Qianggui Song 提交于
      The meson a1 Socs have some changes compared with previous
      chips. For A113L, it contains 62 pins and can be spied on:
      
      - 62:128 undefined
      - 61:50 12 pins on bank A
      - 49:37 13 pins on bank F
      - 36:20 17 pins on bank X
      - 19:13 7  pins on bank B
      - 12:0  13 pins on bank P
      
      There are five relative registers for gpio interrupt controller,
      details are as below:
      
      - PADCTRL_GPIO_IRQ_CTRL0
        bit[31]:    enable/disable the whole irq lines
        bit[16-23]: both edge trigger
        bit[8-15]:  single edge trigger
        bit[0-7]:   pol trigger
      
      - PADCTRL_GPIO_IRQ_CTRL[X]
        bit[0-6]:   7 bits to choose gpio source for irq line 2*[X] - 2
        bit[16-22]: 7 bits to choose gpio source for irq line 2*[X] - 1
        where X =1,2,3,4
      Signed-off-by: NQianggui Song <qianggui.song@amlogic.com>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/20191216123645.10099-4-qianggui.song@amlogic.com
      8f78bd62
    • Q
      irqchip/meson-gpio: Rework meson irqchip driver to support meson-A1 SoCs · e2514165
      Qianggui Song 提交于
      Since Meson-A1 SoCs register layout of gpio interrupt controller has
      difference with previous chips, registers to decide irq line and offset
      of trigger method are all changed, the current driver should be modified.
      Signed-off-by: NQianggui Song <qianggui.song@amlogic.com>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/20191216123645.10099-3-qianggui.song@amlogic.com
      e2514165
    • J
      irqchip/mbigen: Set driver .suppress_bind_attrs to avoid remove problems · d6152e6e
      John Garry 提交于
      The following crash can be seen for setting
      CONFIG_DEBUG_TEST_DRIVER_REMOVE=y for DT FW (which some people still use):
      
      Hisilicon MBIGEN-V2 60080000.interrupt-controller: Failed to create mbi-gen irqdomain
      Hisilicon MBIGEN-V2: probe of 60080000.interrupt-controller failed with error -12
      
      [...]
      
      Unable to handle kernel paging request at virtual address 0000000000005008
       Mem abort info:
         ESR = 0x96000004
         EC = 0x25: DABT (current EL), IL = 32 bits
         SET = 0, FnV = 0
         EA = 0, S1PTW = 0
       Data abort info:
         ISV = 0, ISS = 0x00000004
         CM = 0, WnR = 0
       user pgtable: 4k pages, 48-bit VAs, pgdp=0000041fb9990000
       [0000000000005008] pgd=0000000000000000
       Internal error: Oops: 96000004 [#1] PREEMPT SMP
       Modules linked in:
       CPU: 7 PID: 1 Comm: swapper/0 Not tainted 5.5.0-rc6-00002-g3fc42638a506-dirty #1622
       Hardware name: Huawei Taishan 2280 /D05, BIOS Hisilicon D05 IT21 Nemo 2.0 RC0 04/18/2018
       pstate: 40000085 (nZcv daIf -PAN -UAO)
       pc : mbigen_set_type+0x38/0x60
       lr : __irq_set_trigger+0x6c/0x188
       sp : ffff800014b4b400
       x29: ffff800014b4b400 x28: 0000000000000007
       x27: 0000000000000000 x26: 0000000000000000
       x25: ffff041fd83bd0d4 x24: ffff041fd83bd188
       x23: 0000000000000000 x22: ffff80001193ce00
       x21: 0000000000000004 x20: 0000000000000000
       x19: ffff041fd83bd000 x18: ffffffffffffffff
       x17: 0000000000000000 x16: 0000000000000000
       x15: ffff8000119098c8 x14: ffff041fb94ec91c
       x13: ffff041fb94ec1a1 x12: 0000000000000030
       x11: 0101010101010101 x10: 0000000000000040
       x9 : 0000000000000000 x8 : ffff041fb98c6680
       x7 : ffff800014b4b380 x6 : ffff041fd81636c8
       x5 : 0000000000000000 x4 : 000000000000025f
       x3 : 0000000000005000 x2 : 0000000000005008
       x1 : 0000000000000004 x0 : 0000000080000000
       Call trace:
        mbigen_set_type+0x38/0x60
        __setup_irq+0x744/0x900
        request_threaded_irq+0xe0/0x198
        pcie_pme_probe+0x98/0x118
        pcie_port_probe_service+0x38/0x78
        really_probe+0xa0/0x3e0
        driver_probe_device+0x58/0x100
        __device_attach_driver+0x90/0xb0
        bus_for_each_drv+0x64/0xc8
        __device_attach+0xd8/0x138
        device_initial_probe+0x10/0x18
        bus_probe_device+0x90/0x98
        device_add+0x4c4/0x770
        device_register+0x1c/0x28
        pcie_port_device_register+0x1e4/0x4f0
        pcie_portdrv_probe+0x34/0xd8
        local_pci_probe+0x3c/0xa0
        pci_device_probe+0x128/0x1c0
        really_probe+0xa0/0x3e0
        driver_probe_device+0x58/0x100
        __device_attach_driver+0x90/0xb0
        bus_for_each_drv+0x64/0xc8
        __device_attach+0xd8/0x138
        device_attach+0x10/0x18
        pci_bus_add_device+0x4c/0xb8
        pci_bus_add_devices+0x38/0x88
        pci_host_probe+0x3c/0xc0
        pci_host_common_probe+0xf0/0x208
        hisi_pcie_almost_ecam_probe+0x24/0x30
        platform_drv_probe+0x50/0xa0
        really_probe+0xa0/0x3e0
        driver_probe_device+0x58/0x100
        device_driver_attach+0x6c/0x90
        __driver_attach+0x84/0xc8
        bus_for_each_dev+0x74/0xc8
        driver_attach+0x20/0x28
        bus_add_driver+0x148/0x1f0
        driver_register+0x60/0x110
        __platform_driver_register+0x40/0x48
        hisi_pcie_almost_ecam_driver_init+0x1c/0x24
      
      The specific problem here is that the mbigen driver real probe has failed
      as the mbigen_of_create_domain()->of_platform_device_create() call fails,
      the reason for that being that we never destroyed the platform device
      created during the remove test dry run and there is some conflict.
      
      Since we generally would never want to unbind this driver, and to save
      adding a driver tear down path for that, just set the driver
      .suppress_bind_attrs member to avoid this possibility.
      Signed-off-by: NJohn Garry <john.garry@huawei.com>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      Reviewed-by: NHanjun Guo <guohanjun@huawei.com>
      Link: https://lore.kernel.org/r/1579196323-180137-1-git-send-email-john.garry@huawei.com
      d6152e6e
    • E
      irqchip: Add Aspeed SCU interrupt controller · 04f60590
      Eddie James 提交于
      The Aspeed SOCs provide some interrupts through the System Control
      Unit registers. Add an interrupt controller that provides these
      interrupts to the system.
      Signed-off-by: NEddie James <eajames@linux.ibm.com>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      Reviewed-by: NAndrew Jeffery <andrew@aj.id.au>
      Link: https://lore.kernel.org/r/1579123790-6894-3-git-send-email-eajames@linux.ibm.com
      04f60590
  3. 20 1月, 2020 2 次提交
  4. 14 1月, 2020 1 次提交
  5. 06 1月, 2020 1 次提交
  6. 05 1月, 2020 1 次提交
  7. 21 11月, 2019 1 次提交
  8. 16 11月, 2019 4 次提交
  9. 11 11月, 2019 10 次提交