linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/6] ARM: common: vic: Parse interrupt and resume masks from device tree
Date: Sun, 13 Jan 2013 19:08:49 -0600	[thread overview]
Message-ID: <50F35AA1.1010902@gmail.com> (raw)
In-Reply-To: <1358039458-31960-2-git-send-email-tomasz.figa@gmail.com>

On 01/12/2013 07:10 PM, Tomasz Figa wrote:
> This patch extends vic_of_init to parse valid interrupt sources
> and resume sources masks from device tree.
> 
> If mask values are not specified in device tree, all sources
> are assumed to be valid, as before this patch.
> 
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> ---
>  Documentation/devicetree/bindings/arm/vic.txt | 6 ++++++
>  arch/arm/common/vic.c                         | 7 ++++++-
>  2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/arm/vic.txt b/Documentation/devicetree/bindings/arm/vic.txt
> index 266716b..bb7137c 100644
> --- a/Documentation/devicetree/bindings/arm/vic.txt
> +++ b/Documentation/devicetree/bindings/arm/vic.txt
> @@ -18,6 +18,9 @@ Required properties:
>  Optional properties:
>  
>  - interrupts : Interrupt source for parent controllers if the VIC is nested.
> +- interrupt-mask : Bit mask of valid interrupt sources (defaults to all valid)

Can you explain why this is needed and is not just the OR of all
interrupts described in the DT?

> +- wakeup-mask : Bit mask of interrupt sources that can wake up the system
> +  (defaults to all allowed)

Seems like this would be all VIC interrupts unless the wake-up handling
is done in some shadow controller. If the former is true, then wake-up
capability is really a property of individual devices. If the later,
then this property would belong in that shadow controller.

Rob

>  
>  Example:
>  
> @@ -26,4 +29,7 @@ Example:
>  		interrupt-controller;
>  		#interrupt-cells = <1>;
>  		reg = <0x60000 0x1000>;
> +
> +		interrupt-mask = <0xffffff7f>;
> +		wakeup-mask = <0x0000ff7f>;
>  	};
> diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c
> index e4df17c..c2889da 100644
> --- a/arch/arm/common/vic.c
> +++ b/arch/arm/common/vic.c
> @@ -407,6 +407,8 @@ void __init vic_init(void __iomem *base, unsigned int irq_start,
>  int __init vic_of_init(struct device_node *node, struct device_node *parent)
>  {
>  	void __iomem *regs;
> +	u32 interrupt_mask = ~0;
> +	u32 wakeup_mask = ~0;
>  
>  	if (WARN(parent, "non-root VICs are not supported"))
>  		return -EINVAL;
> @@ -415,10 +417,13 @@ int __init vic_of_init(struct device_node *node, struct device_node *parent)
>  	if (WARN_ON(!regs))
>  		return -EIO;
>  
> +	of_property_read_u32(node, "interrupt-mask", &interrupt_mask);
> +	of_property_read_u32(node, "wakeup-mask", &wakeup_mask);
> +
>  	/*
>  	 * Passing -1 as first IRQ makes the simple domain allocate descriptors
>  	 */
> -	__vic_init(regs, -1, ~0, ~0, node);
> +	__vic_init(regs, -1, interrupt_mask, wakeup_mask, node);
>  
>  	return 0;
>  }
> 

  reply	other threads:[~2013-01-14  1:08 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-13  1:10 [PATCH 0/6] Initial Device Tree support for S3C64xx Tomasz Figa
2013-01-13  1:10 ` [PATCH 1/6] ARM: common: vic: Parse interrupt and resume masks from device tree Tomasz Figa
2013-01-14  1:08   ` Rob Herring [this message]
2013-01-14 10:44     ` Tomasz Figa
2013-01-13  1:10 ` [PATCH 2/6] ARM: common: vic: Fix invalid first IRQ number in OF-based registration Tomasz Figa
2013-01-13  1:10 ` [PATCH 3/6] ARM: s3c64xx: Add support for OF-based VIC initialization Tomasz Figa
2013-01-13  1:10 ` [PATCH 4/6] ARM: s3c64xx: Add board file for boot using Device Tree Tomasz Figa
2013-01-13  1:10 ` [PATCH 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs Tomasz Figa
2013-01-14 14:48   ` Mark Rutland
2013-01-14 15:05     ` Lorenzo Pieralisi
2013-01-16 10:59       ` Dave Martin
2013-01-25 19:08         ` Tomasz Figa
2013-01-25 19:15           ` Kukjin Kim
2013-01-28  9:02             ` Mark Rutland
2013-01-28 13:04               ` Dave Martin
2013-01-13  1:10 ` [PATCH 6/6] ARM: dts: Add dts file for S3C6410-based Mini6410 board Tomasz Figa
2013-01-25 19:09 ` [PATCH 0/6] Initial Device Tree support for S3C64xx Tomasz Figa
2013-01-25 19:25   ` Kukjin Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50F35AA1.1010902@gmail.com \
    --to=robherring2@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).