31 Mar, 2016

1 commit


14 Oct, 2015

1 commit

  • Update the IRQ domain documentation to reflect the changes made
    while divorcing the domain infrastructure from Device Tree.

    Signed-off-by: Marc Zyngier
    Tested-by: Hanjun Guo
    Tested-by: Lorenzo Pieralisi
    Cc:
    Cc: Tomasz Nowicki
    Cc: Suravee Suthikulpanit
    Cc: Graeme Gregory
    Cc: Jake Oshins
    Cc: Jiang Liu
    Cc: Jason Cooper
    Cc: Rafael J. Wysocki
    Link: http://lkml.kernel.org/r/1444737105-31573-18-git-send-email-marc.zyngier@arm.com
    Signed-off-by: Thomas Gleixner

    Marc Zyngier
     

01 Apr, 2015

1 commit

  • Several drivers now use this API, including the ARM GIC driver, so remove
    the outdated comment.

    Signed-off-by: Kevin Cernekee
    Cc: f.fainelli@gmail.com
    Cc: jaedon.shin@gmail.com
    Cc: abrestic@chromium.org
    Cc: tglx@linutronix.de
    Cc: jason@lakedaemon.net
    Cc: jogo@openwrt.org
    Cc: computersforpeace@gmail.com
    Cc: linux-mips@linux-mips.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8839/
    Signed-off-by: Ralf Baechle

    Kevin Cernekee
     

23 Nov, 2014

1 commit

  • We plan to use hierarchy irqdomain to suppport CPU vector assignment,
    interrupt remapping controller, IO-APIC controller, MSI interrupt
    and hypertransport interrupt etc on x86 platforms. So extend irqdomain
    interfaces to support hierarchy irqdomain.

    There are already many clients of current irqdomain interfaces.
    To minimize the changes, we choose to introduce new version 2 interfaces
    to support hierarchy instead of extending existing irqdomain interfaces.

    According to Thomas's suggestion, the most important design decision is
    to build hierarchy struct irq_data to support hierarchy irqdomain, so
    hierarchy irqdomain related data could be saved in struct irq_data.
    With support of hierarchy irq_data, we could also support stacked
    irq_chips. This is most useful in case of set_affinity().

    The new hierarchy irqdomain introduces following interfaces:
    1) irq_domain_alloc_irqs()/irq_domain_free_irqs(): allocate/release IRQ
    and related resources.
    2) __irq_domain_alloc_irqs(): a special version to support legacy IRQs.
    3) irq_domain_activate_irq()/irq_domain_deactivate_irq(): program
    interrupt controllers to activate/deactivate interrupt.

    There are also several help functions to ease irqdomain implemenations:
    1) irq_domain_get_irq_data(): get irq_data associated with a specific
    irqdomain.
    2) irq_domain_set_hwirq_and_chip(): save irqdomain specific data into
    irq_data.
    3) irq_domain_alloc_irqs_parent()/irq_domain_free_irqs_parent(): invoke
    parent irqdomain's alloc/free callbacks.

    We also changed irq_startup()/irq_shutdown() to invoke
    irq_domain_activate_irq()/irq_domain_deactivate_irq() to program
    interrupt controller when start/stop interrupts.

    [ tglx: Folded parts of the later patch series in ]

    Signed-off-by: Jiang Liu
    Cc: Bjorn Helgaas
    Cc: Grant Likely
    Cc: Marc Zyngier
    Cc: Yingjoe Chen
    Cc: Yijing Wang
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     

27 May, 2014

1 commit

  • Signed-off-by: Jiang Liu
    Cc: Konrad Rzeszutek Wilk
    Cc: Tony Luck
    Cc: Joerg Roedel
    Cc: Paul Gortmaker
    Cc: Greg Kroah-Hartman
    Cc: Benjamin Herrenschmidt
    Cc: Grant Likely
    Cc: Rafael J. Wysocki
    Cc: Bjorn Helgaas
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Jiri Kosina
    Link: http://lkml.kernel.org/r/1401178092-1228-3-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     

02 Dec, 2013

1 commit


06 Dec, 2012

1 commit

  • This updates the IRQdomain documentation a bit, by adding a more
    verbose explanation to why we need this, and by adding some
    extended documentation of the irq_domain_simple() usecase.

    Signed-off-by: Linus Walleij
    Signed-off-by: Grant Likely

    Linus Walleij
     

11 Jul, 2012

1 commit

  • A large proportion of interrupt controllers that support legacy mappings
    do so because non-DT systems need to use fixed IRQ numbers when registering
    devices via buses but can otherwise use a linear mapping. The interrupt
    controller itself typically is not affected by the mapping used and best
    practice is to use a linear mapping where possible so drivers frequently
    select at runtime depending on if a legacy range has been allocated to
    them.

    Standardise this behaviour by providing irq_domain_register_simple() which
    will allocate a linear mapping unless a positive first_irq is provided in
    which case it will fall back to a legacy mapping. This helps make best
    practice for irq_domain adoption clearer.

    Signed-off-by: Mark Brown
    Signed-off-by: Grant Likely

    Mark Brown
     

15 Feb, 2012

1 commit