|
|
Log in / Subscribe / Register

irqchip: qcom: Add IRQ combiner driver

From:  Agustin Vega-Frias <agustinv-AT-codeaurora.org>
To:  linux-kernel-AT-vger.kernel.org, linux-acpi-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org, rjw-AT-rjwysocki.net, lenb-AT-kernel.org, tglx-AT-linutronix.de, jason-AT-lakedaemon.net, marc.zyngier-AT-arm.com
Subject:  [PATCH V12 0/3] irqchip: qcom: Add IRQ combiner driver
Date:  Thu, 2 Feb 2017 18:23:56 -0500
Message-ID:  <1486077839-25547-1-git-send-email-agustinv@codeaurora.org>
Cc:  andy.shevchenko-AT-gmail.com, lorenzo.pieralisi-AT-arm.com, timur-AT-codeaurora.org, cov-AT-codeaurora.org, agross-AT-codeaurora.org, harba-AT-codeaurora.org, jcm-AT-redhat.com, msalter-AT-redhat.com, mlangsdo-AT-redhat.com, ahs3-AT-redhat.com, astone-AT-redhat.com, graeme.gregory-AT-linaro.org, guohanjun-AT-huawei.com, charles.garcia-tobin-AT-arm.com, Agustin Vega-Frias <agustinv-AT-codeaurora.org>

Add support for IRQ combiners in the Top-level Control and Status
Registers (TCSR) hardware block in Qualcomm Technologies chips.

The first patch prevents the ACPI core from attempting to map IRQ resources
with a valid ResourceSource as GSIs.

The second patch adds support for ResourceSource/IRQ domain mapping and
fixes IRQ probe deferral by allowing platform_device IRQ resources to be
re-initialized from the corresponding ACPI IRQ resource.

Both changes described above are conditional on the ACPI_GENERIC_GSI config.

The third patch takes advantage of the new capabilities to implement
the driver for the IRQ combiners.

Tested on top of v4.10-rc6.

Changes V11 -> V12:
* Remove probe table, add that optimization later.
* Fix some minor style issues.

Changes V10 -> V11:
* Add probe table and use it to implement driver presence detection.
* Fix kernel doc formatting in drivers/acpi/irq.c and some minor style issues.
* Minor bug fixes in the driver.

Changes V9 -> V10:
* Add checks for the producer_consumer field to not use produced IRQ
  resources as consumed.
* Minor bug fixes in the driver.

Changes V8 -> V9:
* Do not attempt the mapping for non-GSI IRQs during bus scan.
* Make some public APIs private to drivers/acpi/irq.c since they are no
  longer used on other modules.

Agustin Vega-Frias (3):
  ACPI: Generic GSI: Do not attempt to map non-GSI IRQs during bus scan
  ACPI: Add support for ResourceSource/IRQ domain mapping
  irqchip: qcom: Add IRQ combiner driver

 drivers/acpi/Makefile               |   2 +-
 drivers/acpi/{gsi.c => irq.c}       | 199 ++++++++++++++++++++++++
 drivers/acpi/resource.c             |  18 ++-
 drivers/base/platform.c             |  10 ++
 drivers/irqchip/Kconfig             |   9 ++
 drivers/irqchip/Makefile            |   1 +
 drivers/irqchip/qcom-irq-combiner.c | 296 ++++++++++++++++++++++++++++++++++++
 include/linux/acpi.h                |  10 ++
 8 files changed, 543 insertions(+), 2 deletions(-)
 rename drivers/acpi/{gsi.c => irq.c} (31%)
 create mode 100644 drivers/irqchip/qcom-irq-combiner.c

--
Qualcomm Datacenter Technologies, Inc. on behalf of the Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.



Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds