All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-03  9:18 ` Guennadi Liakhovetski
  0 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-03  9:18 UTC (permalink / raw)
  To: linux-arm-kernel

Hi

This 2 patches add DT irqpin support on marzen-reference. Only 
compile-tested due to the lack of hardware. The patches can go 
independently via their respective trees. irqpin on marzen will not work 
if patch 2 is applied before patch 1, but as long as there are no devices, 
using irqpin interrupts, no breakage will be caused.

Guennadi Liakhovetski (2):
      irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
      ARM: shmobile: marzen-reference: add irqpin support in DT

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-03  9:18 ` Guennadi Liakhovetski
  0 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-03  9:18 UTC (permalink / raw)
  To: Simon Horman
  Cc: linux-sh, Magnus Damm, devicetree-discuss, Thomas Gleixner,
	linux-arm-kernel

Hi

This 2 patches add DT irqpin support on marzen-reference. Only 
compile-tested due to the lack of hardware. The patches can go 
independently via their respective trees. irqpin on marzen will not work 
if patch 2 is applied before patch 1, but as long as there are no devices, 
using irqpin interrupts, no breakage will be caused.

Guennadi Liakhovetski (2):
      irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
      ARM: shmobile: marzen-reference: add irqpin support in DT

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-03  9:18 ` Guennadi Liakhovetski
  0 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-03  9:18 UTC (permalink / raw)
  To: linux-arm-kernel

Hi

This 2 patches add DT irqpin support on marzen-reference. Only 
compile-tested due to the lack of hardware. The patches can go 
independently via their respective trees. irqpin on marzen will not work 
if patch 2 is applied before patch 1, but as long as there are no devices, 
using irqpin interrupts, no breakage will be caused.

Guennadi Liakhovetski (2):
      irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
      ARM: shmobile: marzen-reference: add irqpin support in DT

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH/RFC 1/2] irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
@ 2013-04-03  9:19   ` Guennadi Liakhovetski
  0 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-03  9:19 UTC (permalink / raw)
  To: linux-arm-kernel

Most Renesas irqpin controllers have 4-bit sense fields, however, some
have different widths. This patch adds a DT binding to optionally
specify such non-standard values.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
---
 .../interrupt-controller/renesas,intc-irqpin.txt   |    2 ++
 drivers/irqchip/irq-renesas-intc-irqpin.c          |    5 ++++-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
index e55d183..6b48742 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
@@ -11,3 +11,5 @@ Optional properties:
   resource allocation properties
 - control-parent: disable and enable interrupts on the parent interrupt
   controller, needed for some broken implementations
+- sense-bitfield-width: width of a single sense bitfield in the SENSE register,
+  if different from the default 4 bits
diff --git a/drivers/irqchip/irq-renesas-intc-irqpin.c b/drivers/irqchip/irq-renesas-intc-irqpin.c
index 82bbe8f..6aadfe6 100644
--- a/drivers/irqchip/irq-renesas-intc-irqpin.c
+++ b/drivers/irqchip/irq-renesas-intc-irqpin.c
@@ -381,9 +381,12 @@ static int intc_irqpin_probe(struct platform_device *pdev)
 	for (k = 0; k < p->number_of_irqs; k++)
 		intc_irqpin_mask_unmask_prio(p, k, 1);
 
-	if (!pdata)
+	if (!pdata) {
 		p->config.control_parent = of_property_read_bool(pdev->dev.of_node,
 								 "control-parent");
+		of_property_read_u32(pdev->dev.of_node, "sense-bitfield-width",
+				     &p->config.sense_bitfield_width);
+	}
 
 	/* use more severe masking method if requested */
 	if (p->config.control_parent) {
-- 
1.7.2.5


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH/RFC 1/2] irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
@ 2013-04-03  9:19   ` Guennadi Liakhovetski
  0 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-03  9:19 UTC (permalink / raw)
  To: Simon Horman
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Magnus Damm,
	Thomas Gleixner,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-sh-u79uwXL29TY76Z2rM5mHXA

Most Renesas irqpin controllers have 4-bit sense fields, however, some
have different widths. This patch adds a DT binding to optionally
specify such non-standard values.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 .../interrupt-controller/renesas,intc-irqpin.txt   |    2 ++
 drivers/irqchip/irq-renesas-intc-irqpin.c          |    5 ++++-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
index e55d183..6b48742 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
@@ -11,3 +11,5 @@ Optional properties:
   resource allocation properties
 - control-parent: disable and enable interrupts on the parent interrupt
   controller, needed for some broken implementations
+- sense-bitfield-width: width of a single sense bitfield in the SENSE register,
+  if different from the default 4 bits
diff --git a/drivers/irqchip/irq-renesas-intc-irqpin.c b/drivers/irqchip/irq-renesas-intc-irqpin.c
index 82bbe8f..6aadfe6 100644
--- a/drivers/irqchip/irq-renesas-intc-irqpin.c
+++ b/drivers/irqchip/irq-renesas-intc-irqpin.c
@@ -381,9 +381,12 @@ static int intc_irqpin_probe(struct platform_device *pdev)
 	for (k = 0; k < p->number_of_irqs; k++)
 		intc_irqpin_mask_unmask_prio(p, k, 1);
 
-	if (!pdata)
+	if (!pdata) {
 		p->config.control_parent = of_property_read_bool(pdev->dev.of_node,
 								 "control-parent");
+		of_property_read_u32(pdev->dev.of_node, "sense-bitfield-width",
+				     &p->config.sense_bitfield_width);
+	}
 
 	/* use more severe masking method if requested */
 	if (p->config.control_parent) {
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH/RFC 1/2] irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
@ 2013-04-03  9:19   ` Guennadi Liakhovetski
  0 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-03  9:19 UTC (permalink / raw)
  To: linux-arm-kernel

Most Renesas irqpin controllers have 4-bit sense fields, however, some
have different widths. This patch adds a DT binding to optionally
specify such non-standard values.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
---
 .../interrupt-controller/renesas,intc-irqpin.txt   |    2 ++
 drivers/irqchip/irq-renesas-intc-irqpin.c          |    5 ++++-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
index e55d183..6b48742 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
@@ -11,3 +11,5 @@ Optional properties:
   resource allocation properties
 - control-parent: disable and enable interrupts on the parent interrupt
   controller, needed for some broken implementations
+- sense-bitfield-width: width of a single sense bitfield in the SENSE register,
+  if different from the default 4 bits
diff --git a/drivers/irqchip/irq-renesas-intc-irqpin.c b/drivers/irqchip/irq-renesas-intc-irqpin.c
index 82bbe8f..6aadfe6 100644
--- a/drivers/irqchip/irq-renesas-intc-irqpin.c
+++ b/drivers/irqchip/irq-renesas-intc-irqpin.c
@@ -381,9 +381,12 @@ static int intc_irqpin_probe(struct platform_device *pdev)
 	for (k = 0; k < p->number_of_irqs; k++)
 		intc_irqpin_mask_unmask_prio(p, k, 1);
 
-	if (!pdata)
+	if (!pdata) {
 		p->config.control_parent = of_property_read_bool(pdev->dev.of_node,
 								 "control-parent");
+		of_property_read_u32(pdev->dev.of_node, "sense-bitfield-width",
+				     &p->config.sense_bitfield_width);
+	}
 
 	/* use more severe masking method if requested */
 	if (p->config.control_parent) {
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH/RFC 2/2] ARM: shmobile: marzen-reference: add irqpin support in DT
  2013-04-03  9:18 ` Guennadi Liakhovetski
  (?)
@ 2013-04-03  9:19   ` Guennadi Liakhovetski
  -1 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-03  9:19 UTC (permalink / raw)
  To: linux-arm-kernel

Add an irqpin interrupt controller DT node on marzen-reference.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
---
 arch/arm/boot/dts/r8a7779.dtsi |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/r8a7779.dtsi b/arch/arm/boot/dts/r8a7779.dtsi
index fe5c6f2..7f146c6 100644
--- a/arch/arm/boot/dts/r8a7779.dtsi
+++ b/arch/arm/boot/dts/r8a7779.dtsi
@@ -48,6 +48,23 @@
                       <0xf0000100 0x100>;
         };
 
+	irqpin0: irqpin@fe780010 {
+		compatible = "renesas,intc-irqpin";
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		reg = <0xfe78001c 4>,
+			<0xfe780010 4>,
+			<0xfe780024 4>,
+			<0xfe780044 4>,
+			<0xfe780064 4>;
+		interrupt-parent = <&gic>;
+		interrupts = <0 27 0x4
+				0 28 0x4
+				0 29 0x4
+				0 30 0x4>;
+		sense-bitfield-width = <2>;
+	};
+
 	i2c0: i2c@0xffc70000 {
 		#address-cells = <1>;
 		#size-cells = <0>;
-- 
1.7.2.5


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH/RFC 2/2] ARM: shmobile: marzen-reference: add irqpin support in DT
@ 2013-04-03  9:19   ` Guennadi Liakhovetski
  0 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-03  9:19 UTC (permalink / raw)
  To: Simon Horman
  Cc: linux-sh, Magnus Damm, devicetree-discuss, Thomas Gleixner,
	linux-arm-kernel

Add an irqpin interrupt controller DT node on marzen-reference.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
---
 arch/arm/boot/dts/r8a7779.dtsi |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/r8a7779.dtsi b/arch/arm/boot/dts/r8a7779.dtsi
index fe5c6f2..7f146c6 100644
--- a/arch/arm/boot/dts/r8a7779.dtsi
+++ b/arch/arm/boot/dts/r8a7779.dtsi
@@ -48,6 +48,23 @@
                       <0xf0000100 0x100>;
         };
 
+	irqpin0: irqpin@fe780010 {
+		compatible = "renesas,intc-irqpin";
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		reg = <0xfe78001c 4>,
+			<0xfe780010 4>,
+			<0xfe780024 4>,
+			<0xfe780044 4>,
+			<0xfe780064 4>;
+		interrupt-parent = <&gic>;
+		interrupts = <0 27 0x4
+				0 28 0x4
+				0 29 0x4
+				0 30 0x4>;
+		sense-bitfield-width = <2>;
+	};
+
 	i2c0: i2c@0xffc70000 {
 		#address-cells = <1>;
 		#size-cells = <0>;
-- 
1.7.2.5


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH/RFC 2/2] ARM: shmobile: marzen-reference: add irqpin support in DT
@ 2013-04-03  9:19   ` Guennadi Liakhovetski
  0 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-03  9:19 UTC (permalink / raw)
  To: linux-arm-kernel

Add an irqpin interrupt controller DT node on marzen-reference.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
---
 arch/arm/boot/dts/r8a7779.dtsi |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/r8a7779.dtsi b/arch/arm/boot/dts/r8a7779.dtsi
index fe5c6f2..7f146c6 100644
--- a/arch/arm/boot/dts/r8a7779.dtsi
+++ b/arch/arm/boot/dts/r8a7779.dtsi
@@ -48,6 +48,23 @@
                       <0xf0000100 0x100>;
         };
 
+	irqpin0: irqpin at fe780010 {
+		compatible = "renesas,intc-irqpin";
+		#interrupt-cells = <2>;
+		interrupt-controller;
+		reg = <0xfe78001c 4>,
+			<0xfe780010 4>,
+			<0xfe780024 4>,
+			<0xfe780044 4>,
+			<0xfe780064 4>;
+		interrupt-parent = <&gic>;
+		interrupts = <0 27 0x4
+				0 28 0x4
+				0 29 0x4
+				0 30 0x4>;
+		sense-bitfield-width = <2>;
+	};
+
 	i2c0: i2c at 0xffc70000 {
 		#address-cells = <1>;
 		#size-cells = <0>;
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
  2013-04-03  9:18 ` Guennadi Liakhovetski
  (?)
@ 2013-04-04  3:54   ` Simon Horman
  -1 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-04  3:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> Hi
> 
> This 2 patches add DT irqpin support on marzen-reference. Only 
> compile-tested due to the lack of hardware. The patches can go 
> independently via their respective trees. irqpin on marzen will not work 
> if patch 2 is applied before patch 1, but as long as there are no devices, 
> using irqpin interrupts, no breakage will be caused.

I have applied both patches and the dependency I mention below.
I have also applied the small patch, inlined below, to hook-up
the LAN controller. Unfortunately it doesn't seem to be receiving
any interrupts. Perhaps I am missing something?


> 
> Guennadi Liakhovetski (2):
>       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width

The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
spurious interrupts in DT case", right? Has there been any progress in your
discussions with Magnus about what to do about that patch?

>       ARM: shmobile: marzen-reference: add irqpin support in DT

LAN patch:

diff --git a/arch/arm/boot/dts/r8a7779-marzen-reference.dts b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
index 72be4c8..3d98833 100644
--- a/arch/arm/boot/dts/r8a7779-marzen-reference.dts
+++ b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
@@ -38,8 +38,8 @@
 		compatible = "smsc,lan9220", "smsc,lan9115";
 		reg = <0x18000000 0x100>;
 		phy-mode = "mii";
-		interrupt-parent = <&gic>;
-		interrupts = <0 28 0x4>;
+		interrupt-parent = <&irqpin0>;
+		interrupts = <28 0>;
 		reg-io-width = <4>;
 		vddvario-supply = <&fixedregulator3v3>;
 		vdd33a-supply = <&fixedregulator3v3>;


Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):

Booting Linux on physical CPU 0x0
Linux version 3.9.0-rc2-00003-gd779a6cb-dirty (horms@ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1433 SMP Thu Apr 4 12:43:06 JST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr\x10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: marzen, model: marzen
debug: ignoring loglevel setting.
Memory policy: ECC disabled, Data cache writealloc
On node 0 totalpages: 262144
free_area_init_node: node 0, pgdat c03cdb00, node_mem_map c055a000
  Normal zone: 1520 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 194560 pages, LIFO batch:31
  HighMem zone: 528 pages used for memmap
  HighMem zone: 67584 pages, LIFO batch:15
PERCPU: Embedded 5 pages/cpu @c0d62000 s6848 r0 d13632 u32768
pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
__ex_table already sorted, skipping sort
Memory: 1024MB = 1024MB total
Memory: 1035404k/1035404k available, 13172k reserved, 270336K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
      .text : 0xc0008000 - 0xc0380d20   (3556 kB)
      .init : 0xc0381000 - 0xc03a8ac0   ( 159 kB)
      .data : 0xc03aa000 - 0xc03ce6c0   ( 146 kB)
       .bss : 0xc03ce6c0 - 0xc03f9134   ( 171 kB)
Hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpjH8000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc02dc328 - 0xc02dc380
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (4000.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
sh-pfc pfc-r8a7779: r8a7779_pfc support registered
renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
------------[ cut here ]------------
WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
[<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
[<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
[<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
[<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
[<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
[<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
[<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
[<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224ca0>] (of_irq_count+0x24/0x34)
[<c0224ca0>] (of_irq_count+0x24/0x34) from [<c0225508>] (of_device_alloc+0x1b8/0x248)
[<c0225508>] (of_device_alloc+0x1b8/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
[<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
[<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
[<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
[<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
[<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
[<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
[<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc9049899 ]---
------------[ cut here ]------------
WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
[<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
[<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
[<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
[<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
[<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
[<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
[<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
[<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224d28>] (of_irq_to_resource_table+0x78/0x94)
[<c0224d28>] (of_irq_to_resource_table+0x78/0x94) from [<c02254a4>] (of_device_alloc+0x154/0x248)
[<c02254a4>] (of_device_alloc+0x154/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
[<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
[<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
[<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
[<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
[<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
[<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
[<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc904989a ]---
No ATAGs?
[<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
[<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
[<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
[<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
[<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
[<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
[<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc9049899 ]---
------------[ cut here ]------------
WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
[<c000ee40>] (unwind_backtrace+0x0/0xf8) from [<c0017888>] (warn_slowpath_common+0x50/0x64)
[<c0017888>] (warn_slowpath_common+0x50/0x64) from [<c0017950>] (warn_slowpath_null+0x1c/0x24)
[<c0017950>] (warn_slowpath_null+0x1c/0x24) from [<c00637cc>] (irq_linear_revmap+0x3c/0x44)
[<c00637cc>] (irq_linear_revmap+0x3c/0x44) from [<c00638b8>] (irq_create_mapping+0x20/0x118)
[<c00638b8>] (irq_create_mapping+0x20/0x118) from [<c0063a2c>] (irq_create_of_mapping+0x7c/0x100)
[<c0063a2c>] (irq_create_of_mapping+0x7c/0x100) from [<c022888c>] (irq_of_parse_and_map+0x30/0x38)
[<c022888c>] (irq_of_parse_and_map+0x30/0x38) from [<c02288ac>] (of_irq_to_resource+0x18/0x74)
[<c02288ac>] (of_irq_to_resource+0x18/0x74) from [<c02289b4>] (of_irq_to_resource_table+0x78/0x94)
[<c02289b4>] (of_irq_to_resource_table+0x78/0x94) from [<c0229130>] (of_device_alloc+0x154/0x248)
[<c0229130>] (of_device_alloc+0x154/0x248) from [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80)
[<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
[<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
[<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
[<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
[<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
[<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
[<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc904989a ]---
No ATAGs?
bio: create slab <bio-0> at 0
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
sh_tmu sh_tmu.0: used for clock events
sh_tmu sh_tmu.0: used for periodic clock events
sh_tmu sh_tmu.1: used as clock source
Switching to clocksource sh_tmu.1
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
 dummy_timer is not functional.
 dummy_timer is not functional.
Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
 dummy_timer is not functional.
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
bounce pool size: 64 pages
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered (default)
gpio_rcar gpio_rcar.0: driving 32 GPIOs
gpio_rcar gpio_rcar.1: driving 32 GPIOs
gpio_rcar gpio_rcar.2: driving 32 GPIOs
gpio_rcar gpio_rcar.3: driving 32 GPIOs
gpio_rcar gpio_rcar.4: driving 32 GPIOs
gpio_rcar gpio_rcar.5: driving 32 GPIOs
gpio_rcar gpio_rcar.6: driving 9 GPIOs
SuperH SCI(F) driver initialized
sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
console [ttySC2] enabled
sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
scsi0 : sata_rcar
ata1: SATA max UDMA/133 irq 132
smsc911x: Driver version 2008-10-21
libphy: smsc911x-mdio: probed
smsc911x 18000000.lan0 eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr\x18000000.lan0-ff:01, irq=-1)
smsc911x 18000000.lan0 eth0: MAC Address: 2e:09:0a:00:3c:de
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-platform: EHCI generic platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
rcar_thermal ffc48000.thermal: 1 sensor proved
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
ata1: link resume succeeded after 1 retries
ata1: SATA link down (SStatus 0 SControl 300)
smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 257)
IP-Config: Failed to open eth0
IP-Config: No network devices available

Freeing init memory: 2916K


boot (Linux 3.9.0-rc2-00003-gd779a6cb-dirty, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
/ # 
/ # cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
 59:          0          0          0          0       GIC  fe78001c.irqpin
 60:          0          0          0          0       GIC  fe78001c.irqpin
 61:          0          0          0          0       GIC  fe78001c.irqpin
 62:          0          0          0          0       GIC  fe78001c.irqpin
 64:       8493          0          0          0       GIC  sh_tmu.0
122:         48          0          0          0       GIC  sh-sci.2:mux
132:          0          0          0          0       GIC  sata_rcar
173:          0          0          0          0       GIC  gpio_rcar.0
174:          0          0          0          0       GIC  gpio_rcar.1
175:          0          0          0          0       GIC  gpio_rcar.2
176:          0          0          0          0       GIC  gpio_rcar.3
177:          0          0          0          0       GIC  gpio_rcar.4
178:          0          0          0          0       GIC  gpio_rcar.5
179:          0          0          0          0       GIC  gpio_rcar.6
257:          0          0          0          0  fe78001c.irqpin  eth0
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0       7869       8493       8487  Timer broadcast interrupts
IPI2:        446        503         73         46  Rescheduling interrupts
IPI3:         21         37         54         56  Function call interrupts
IPI4:          0          0          0          0  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
Err:          0
/ # 

Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):

Booting Linux on physical CPU 0x0
Linux version 3.9.0-rc2-00003-gd779a6cb (horms@ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1435 SMP Thu Apr 4 12:51:52 JST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr\x10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: marzen, model: marzen
debug: ignoring loglevel setting.
Memory policy: ECC disabled, Data cache writealloc
On node 0 totalpages: 262144
free_area_init_node: node 0, pgdat c0683b00, node_mem_map c08fb000
  Normal zone: 1520 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 194560 pages, LIFO batch:31
  HighMem zone: 528 pages used for memmap
  HighMem zone: 67584 pages, LIFO batch:15
PERCPU: Embedded 5 pages/cpu @c1103000 s6848 r0 d13632 u32768
pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
__ex_table already sorted, skipping sort
Memory: 1024MB = 1024MB total
Memory: 1032628k/1032628k available, 15948k reserved, 270336K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
      .text : 0xc0008000 - 0xc0384e4c   (3572 kB)
      .init : 0xc0385000 - 0xc065eac0   (2919 kB)
      .data : 0xc0660000 - 0xc06846c0   ( 146 kB)
       .bss : 0xc06846c0 - 0xc06af174   ( 171 kB)
Hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpjH8000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc02df328 - 0xc02df380
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (4000.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
sh-pfc pfc-r8a7779: r8a7779_pfc support registered
renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
No ATAGs?
bio: create slab <bio-0> at 0
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
sh_tmu sh_tmu.0: used for clock events
sh_tmu sh_tmu.0: used for periodic clock events
sh_tmu sh_tmu.1: used as clock source
Switching to clocksource sh_tmu.1
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
 dummy_timer is not functional.
 dummy_timer is not functional.
Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
 dummy_timer is not functional.
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
bounce pool size: 64 pages
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered (default)
gpio_rcar gpio_rcar.0: driving 32 GPIOs
gpio_rcar gpio_rcar.1: driving 32 GPIOs
gpio_rcar gpio_rcar.2: driving 32 GPIOs
gpio_rcar gpio_rcar.3: driving 32 GPIOs
gpio_rcar gpio_rcar.4: driving 32 GPIOs
gpio_rcar gpio_rcar.5: driving 32 GPIOs
gpio_rcar gpio_rcar.6: driving 9 GPIOs
SuperH SCI(F) driver initialized
sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
console [ttySC2] enabled
sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
scsi0 : sata_rcar
ata1: SATA max UDMA/133 irq 132
smsc911x: Driver version 2008-10-21
genirq: Flags mismatch irq 60. 00000080 (eth%d) vs. 00000000 (fe78001c.irqpin)
smsc911x: probe of 18000000.lan0 failed with error -16
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-platform: EHCI generic platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
rcar_thermal ffc48000.thermal: 1 sensor proved
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
ata1: link resume succeeded after 1 retries
ata1: SATA link down (SStatus 0 SControl 300)
Freeing init memory: 2916K


boot (Linux 3.9.0-rc2-00003-gd779a6cb, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
/ # cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
 59:          0          0          0          0       GIC  fe78001c.irqpin
 60:          0          0          0          0       GIC  fe78001c.irqpin
 61:          0          0          0          0       GIC  fe78001c.irqpin
 62:          0          0          0          0       GIC  fe78001c.irqpin
 64:      49198          0          0          0       GIC  sh_tmu.0
122:         45          0          0          0       GIC  sh-sci.2:mux
132:          0          0          0          0       GIC  sata_rcar
173:          0          0          0          0       GIC  gpio_rcar.0
174:          0          0          0          0       GIC  gpio_rcar.1
175:          0          0          0          0       GIC  gpio_rcar.2
176:          0          0          0          0       GIC  gpio_rcar.3
177:          0          0          0          0       GIC  gpio_rcar.4
178:          0          0          0          0       GIC  gpio_rcar.5
179:          0          0          0          0       GIC  gpio_rcar.6
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0      49192      49198      48802  Timer broadcast interrupts
IPI2:        437        478         87         88  Rescheduling interrupts
IPI3:         56         37         36         39  Function call interrupts
IPI4:          0          0          0          0  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
Err:  

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-04  3:54   ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-04  3:54 UTC (permalink / raw)
  To: Guennadi Liakhovetski
  Cc: linux-sh, Magnus Damm, devicetree-discuss, Thomas Gleixner,
	linux-arm-kernel

On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> Hi
> 
> This 2 patches add DT irqpin support on marzen-reference. Only 
> compile-tested due to the lack of hardware. The patches can go 
> independently via their respective trees. irqpin on marzen will not work 
> if patch 2 is applied before patch 1, but as long as there are no devices, 
> using irqpin interrupts, no breakage will be caused.

I have applied both patches and the dependency I mention below.
I have also applied the small patch, inlined below, to hook-up
the LAN controller. Unfortunately it doesn't seem to be receiving
any interrupts. Perhaps I am missing something?


> 
> Guennadi Liakhovetski (2):
>       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width

The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
spurious interrupts in DT case", right? Has there been any progress in your
discussions with Magnus about what to do about that patch?

>       ARM: shmobile: marzen-reference: add irqpin support in DT

LAN patch:

diff --git a/arch/arm/boot/dts/r8a7779-marzen-reference.dts b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
index 72be4c8..3d98833 100644
--- a/arch/arm/boot/dts/r8a7779-marzen-reference.dts
+++ b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
@@ -38,8 +38,8 @@
 		compatible = "smsc,lan9220", "smsc,lan9115";
 		reg = <0x18000000 0x100>;
 		phy-mode = "mii";
-		interrupt-parent = <&gic>;
-		interrupts = <0 28 0x4>;
+		interrupt-parent = <&irqpin0>;
+		interrupts = <28 0>;
 		reg-io-width = <4>;
 		vddvario-supply = <&fixedregulator3v3>;
 		vdd33a-supply = <&fixedregulator3v3>;


Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):

Booting Linux on physical CPU 0x0
Linux version 3.9.0-rc2-00003-gd779a6cb-dirty (horms@ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1433 SMP Thu Apr 4 12:43:06 JST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: marzen, model: marzen
debug: ignoring loglevel setting.
Memory policy: ECC disabled, Data cache writealloc
On node 0 totalpages: 262144
free_area_init_node: node 0, pgdat c03cdb00, node_mem_map c055a000
  Normal zone: 1520 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 194560 pages, LIFO batch:31
  HighMem zone: 528 pages used for memmap
  HighMem zone: 67584 pages, LIFO batch:15
PERCPU: Embedded 5 pages/cpu @c0d62000 s6848 r0 d13632 u32768
pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
__ex_table already sorted, skipping sort
Memory: 1024MB = 1024MB total
Memory: 1035404k/1035404k available, 13172k reserved, 270336K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
      .text : 0xc0008000 - 0xc0380d20   (3556 kB)
      .init : 0xc0381000 - 0xc03a8ac0   ( 159 kB)
      .data : 0xc03aa000 - 0xc03ce6c0   ( 146 kB)
       .bss : 0xc03ce6c0 - 0xc03f9134   ( 171 kB)
Hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=488000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc02dc328 - 0xc02dc380
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (4000.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
sh-pfc pfc-r8a7779: r8a7779_pfc support registered
renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
------------[ cut here ]------------
WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
[<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
[<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
[<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
[<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
[<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
[<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
[<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
[<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224ca0>] (of_irq_count+0x24/0x34)
[<c0224ca0>] (of_irq_count+0x24/0x34) from [<c0225508>] (of_device_alloc+0x1b8/0x248)
[<c0225508>] (of_device_alloc+0x1b8/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
[<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
[<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
[<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
[<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
[<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
[<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
[<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc9049899 ]---
------------[ cut here ]------------
WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
[<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
[<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
[<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
[<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
[<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
[<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
[<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
[<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224d28>] (of_irq_to_resource_table+0x78/0x94)
[<c0224d28>] (of_irq_to_resource_table+0x78/0x94) from [<c02254a4>] (of_device_alloc+0x154/0x248)
[<c02254a4>] (of_device_alloc+0x154/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
[<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
[<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
[<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
[<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
[<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
[<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
[<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc904989a ]---
No ATAGs?
[<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
[<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
[<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
[<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
[<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
[<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
[<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc9049899 ]---
------------[ cut here ]------------
WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
[<c000ee40>] (unwind_backtrace+0x0/0xf8) from [<c0017888>] (warn_slowpath_common+0x50/0x64)
[<c0017888>] (warn_slowpath_common+0x50/0x64) from [<c0017950>] (warn_slowpath_null+0x1c/0x24)
[<c0017950>] (warn_slowpath_null+0x1c/0x24) from [<c00637cc>] (irq_linear_revmap+0x3c/0x44)
[<c00637cc>] (irq_linear_revmap+0x3c/0x44) from [<c00638b8>] (irq_create_mapping+0x20/0x118)
[<c00638b8>] (irq_create_mapping+0x20/0x118) from [<c0063a2c>] (irq_create_of_mapping+0x7c/0x100)
[<c0063a2c>] (irq_create_of_mapping+0x7c/0x100) from [<c022888c>] (irq_of_parse_and_map+0x30/0x38)
[<c022888c>] (irq_of_parse_and_map+0x30/0x38) from [<c02288ac>] (of_irq_to_resource+0x18/0x74)
[<c02288ac>] (of_irq_to_resource+0x18/0x74) from [<c02289b4>] (of_irq_to_resource_table+0x78/0x94)
[<c02289b4>] (of_irq_to_resource_table+0x78/0x94) from [<c0229130>] (of_device_alloc+0x154/0x248)
[<c0229130>] (of_device_alloc+0x154/0x248) from [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80)
[<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
[<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
[<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
[<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
[<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
[<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
[<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc904989a ]---
No ATAGs?
bio: create slab <bio-0> at 0
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
sh_tmu sh_tmu.0: used for clock events
sh_tmu sh_tmu.0: used for periodic clock events
sh_tmu sh_tmu.1: used as clock source
Switching to clocksource sh_tmu.1
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
 dummy_timer is not functional.
 dummy_timer is not functional.
Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
 dummy_timer is not functional.
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
bounce pool size: 64 pages
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered (default)
gpio_rcar gpio_rcar.0: driving 32 GPIOs
gpio_rcar gpio_rcar.1: driving 32 GPIOs
gpio_rcar gpio_rcar.2: driving 32 GPIOs
gpio_rcar gpio_rcar.3: driving 32 GPIOs
gpio_rcar gpio_rcar.4: driving 32 GPIOs
gpio_rcar gpio_rcar.5: driving 32 GPIOs
gpio_rcar gpio_rcar.6: driving 9 GPIOs
SuperH SCI(F) driver initialized
sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
console [ttySC2] enabled
sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
scsi0 : sata_rcar
ata1: SATA max UDMA/133 irq 132
smsc911x: Driver version 2008-10-21
libphy: smsc911x-mdio: probed
smsc911x 18000000.lan0 eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=18000000.lan0-ff:01, irq=-1)
smsc911x 18000000.lan0 eth0: MAC Address: 2e:09:0a:00:3c:de
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-platform: EHCI generic platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
rcar_thermal ffc48000.thermal: 1 sensor proved
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
ata1: link resume succeeded after 1 retries
ata1: SATA link down (SStatus 0 SControl 300)
smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 257)
IP-Config: Failed to open eth0
IP-Config: No network devices available

Freeing init memory: 2916K


boot (Linux 3.9.0-rc2-00003-gd779a6cb-dirty, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
/ # 
/ # cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
 59:          0          0          0          0       GIC  fe78001c.irqpin
 60:          0          0          0          0       GIC  fe78001c.irqpin
 61:          0          0          0          0       GIC  fe78001c.irqpin
 62:          0          0          0          0       GIC  fe78001c.irqpin
 64:       8493          0          0          0       GIC  sh_tmu.0
122:         48          0          0          0       GIC  sh-sci.2:mux
132:          0          0          0          0       GIC  sata_rcar
173:          0          0          0          0       GIC  gpio_rcar.0
174:          0          0          0          0       GIC  gpio_rcar.1
175:          0          0          0          0       GIC  gpio_rcar.2
176:          0          0          0          0       GIC  gpio_rcar.3
177:          0          0          0          0       GIC  gpio_rcar.4
178:          0          0          0          0       GIC  gpio_rcar.5
179:          0          0          0          0       GIC  gpio_rcar.6
257:          0          0          0          0  fe78001c.irqpin  eth0
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0       7869       8493       8487  Timer broadcast interrupts
IPI2:        446        503         73         46  Rescheduling interrupts
IPI3:         21         37         54         56  Function call interrupts
IPI4:          0          0          0          0  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
Err:          0
/ # 

Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):

Booting Linux on physical CPU 0x0
Linux version 3.9.0-rc2-00003-gd779a6cb (horms@ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1435 SMP Thu Apr 4 12:51:52 JST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: marzen, model: marzen
debug: ignoring loglevel setting.
Memory policy: ECC disabled, Data cache writealloc
On node 0 totalpages: 262144
free_area_init_node: node 0, pgdat c0683b00, node_mem_map c08fb000
  Normal zone: 1520 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 194560 pages, LIFO batch:31
  HighMem zone: 528 pages used for memmap
  HighMem zone: 67584 pages, LIFO batch:15
PERCPU: Embedded 5 pages/cpu @c1103000 s6848 r0 d13632 u32768
pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
__ex_table already sorted, skipping sort
Memory: 1024MB = 1024MB total
Memory: 1032628k/1032628k available, 15948k reserved, 270336K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
      .text : 0xc0008000 - 0xc0384e4c   (3572 kB)
      .init : 0xc0385000 - 0xc065eac0   (2919 kB)
      .data : 0xc0660000 - 0xc06846c0   ( 146 kB)
       .bss : 0xc06846c0 - 0xc06af174   ( 171 kB)
Hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=488000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc02df328 - 0xc02df380
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (4000.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
sh-pfc pfc-r8a7779: r8a7779_pfc support registered
renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
No ATAGs?
bio: create slab <bio-0> at 0
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
sh_tmu sh_tmu.0: used for clock events
sh_tmu sh_tmu.0: used for periodic clock events
sh_tmu sh_tmu.1: used as clock source
Switching to clocksource sh_tmu.1
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
 dummy_timer is not functional.
 dummy_timer is not functional.
Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
 dummy_timer is not functional.
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
bounce pool size: 64 pages
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered (default)
gpio_rcar gpio_rcar.0: driving 32 GPIOs
gpio_rcar gpio_rcar.1: driving 32 GPIOs
gpio_rcar gpio_rcar.2: driving 32 GPIOs
gpio_rcar gpio_rcar.3: driving 32 GPIOs
gpio_rcar gpio_rcar.4: driving 32 GPIOs
gpio_rcar gpio_rcar.5: driving 32 GPIOs
gpio_rcar gpio_rcar.6: driving 9 GPIOs
SuperH SCI(F) driver initialized
sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
console [ttySC2] enabled
sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
scsi0 : sata_rcar
ata1: SATA max UDMA/133 irq 132
smsc911x: Driver version 2008-10-21
genirq: Flags mismatch irq 60. 00000080 (eth%d) vs. 00000000 (fe78001c.irqpin)
smsc911x: probe of 18000000.lan0 failed with error -16
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-platform: EHCI generic platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
rcar_thermal ffc48000.thermal: 1 sensor proved
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
ata1: link resume succeeded after 1 retries
ata1: SATA link down (SStatus 0 SControl 300)
Freeing init memory: 2916K


boot (Linux 3.9.0-rc2-00003-gd779a6cb, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
/ # cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
 59:          0          0          0          0       GIC  fe78001c.irqpin
 60:          0          0          0          0       GIC  fe78001c.irqpin
 61:          0          0          0          0       GIC  fe78001c.irqpin
 62:          0          0          0          0       GIC  fe78001c.irqpin
 64:      49198          0          0          0       GIC  sh_tmu.0
122:         45          0          0          0       GIC  sh-sci.2:mux
132:          0          0          0          0       GIC  sata_rcar
173:          0          0          0          0       GIC  gpio_rcar.0
174:          0          0          0          0       GIC  gpio_rcar.1
175:          0          0          0          0       GIC  gpio_rcar.2
176:          0          0          0          0       GIC  gpio_rcar.3
177:          0          0          0          0       GIC  gpio_rcar.4
178:          0          0          0          0       GIC  gpio_rcar.5
179:          0          0          0          0       GIC  gpio_rcar.6
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0      49192      49198      48802  Timer broadcast interrupts
IPI2:        437        478         87         88  Rescheduling interrupts
IPI3:         56         37         36         39  Function call interrupts
IPI4:          0          0          0          0  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
Err:  

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-04  3:54   ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-04  3:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> Hi
> 
> This 2 patches add DT irqpin support on marzen-reference. Only 
> compile-tested due to the lack of hardware. The patches can go 
> independently via their respective trees. irqpin on marzen will not work 
> if patch 2 is applied before patch 1, but as long as there are no devices, 
> using irqpin interrupts, no breakage will be caused.

I have applied both patches and the dependency I mention below.
I have also applied the small patch, inlined below, to hook-up
the LAN controller. Unfortunately it doesn't seem to be receiving
any interrupts. Perhaps I am missing something?


> 
> Guennadi Liakhovetski (2):
>       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width

The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
spurious interrupts in DT case", right? Has there been any progress in your
discussions with Magnus about what to do about that patch?

>       ARM: shmobile: marzen-reference: add irqpin support in DT

LAN patch:

diff --git a/arch/arm/boot/dts/r8a7779-marzen-reference.dts b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
index 72be4c8..3d98833 100644
--- a/arch/arm/boot/dts/r8a7779-marzen-reference.dts
+++ b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
@@ -38,8 +38,8 @@
 		compatible = "smsc,lan9220", "smsc,lan9115";
 		reg = <0x18000000 0x100>;
 		phy-mode = "mii";
-		interrupt-parent = <&gic>;
-		interrupts = <0 28 0x4>;
+		interrupt-parent = <&irqpin0>;
+		interrupts = <28 0>;
 		reg-io-width = <4>;
 		vddvario-supply = <&fixedregulator3v3>;
 		vdd33a-supply = <&fixedregulator3v3>;


Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):

Booting Linux on physical CPU 0x0
Linux version 3.9.0-rc2-00003-gd779a6cb-dirty (horms at ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1433 SMP Thu Apr 4 12:43:06 JST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: marzen, model: marzen
debug: ignoring loglevel setting.
Memory policy: ECC disabled, Data cache writealloc
On node 0 totalpages: 262144
free_area_init_node: node 0, pgdat c03cdb00, node_mem_map c055a000
  Normal zone: 1520 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 194560 pages, LIFO batch:31
  HighMem zone: 528 pages used for memmap
  HighMem zone: 67584 pages, LIFO batch:15
PERCPU: Embedded 5 pages/cpu @c0d62000 s6848 r0 d13632 u32768
pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
__ex_table already sorted, skipping sort
Memory: 1024MB = 1024MB total
Memory: 1035404k/1035404k available, 13172k reserved, 270336K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
      .text : 0xc0008000 - 0xc0380d20   (3556 kB)
      .init : 0xc0381000 - 0xc03a8ac0   ( 159 kB)
      .data : 0xc03aa000 - 0xc03ce6c0   ( 146 kB)
       .bss : 0xc03ce6c0 - 0xc03f9134   ( 171 kB)
Hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=488000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc02dc328 - 0xc02dc380
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (4000.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
sh-pfc pfc-r8a7779: r8a7779_pfc support registered
renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
------------[ cut here ]------------
WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
[<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
[<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
[<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
[<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
[<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
[<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
[<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
[<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224ca0>] (of_irq_count+0x24/0x34)
[<c0224ca0>] (of_irq_count+0x24/0x34) from [<c0225508>] (of_device_alloc+0x1b8/0x248)
[<c0225508>] (of_device_alloc+0x1b8/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
[<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
[<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
[<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
[<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
[<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
[<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
[<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc9049899 ]---
------------[ cut here ]------------
WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
[<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
[<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
[<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
[<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
[<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
[<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
[<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
[<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224d28>] (of_irq_to_resource_table+0x78/0x94)
[<c0224d28>] (of_irq_to_resource_table+0x78/0x94) from [<c02254a4>] (of_device_alloc+0x154/0x248)
[<c02254a4>] (of_device_alloc+0x154/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
[<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
[<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
[<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
[<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
[<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
[<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
[<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc904989a ]---
No ATAGs?
[<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
[<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
[<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
[<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
[<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
[<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
[<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc9049899 ]---
------------[ cut here ]------------
WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
[<c000ee40>] (unwind_backtrace+0x0/0xf8) from [<c0017888>] (warn_slowpath_common+0x50/0x64)
[<c0017888>] (warn_slowpath_common+0x50/0x64) from [<c0017950>] (warn_slowpath_null+0x1c/0x24)
[<c0017950>] (warn_slowpath_null+0x1c/0x24) from [<c00637cc>] (irq_linear_revmap+0x3c/0x44)
[<c00637cc>] (irq_linear_revmap+0x3c/0x44) from [<c00638b8>] (irq_create_mapping+0x20/0x118)
[<c00638b8>] (irq_create_mapping+0x20/0x118) from [<c0063a2c>] (irq_create_of_mapping+0x7c/0x100)
[<c0063a2c>] (irq_create_of_mapping+0x7c/0x100) from [<c022888c>] (irq_of_parse_and_map+0x30/0x38)
[<c022888c>] (irq_of_parse_and_map+0x30/0x38) from [<c02288ac>] (of_irq_to_resource+0x18/0x74)
[<c02288ac>] (of_irq_to_resource+0x18/0x74) from [<c02289b4>] (of_irq_to_resource_table+0x78/0x94)
[<c02289b4>] (of_irq_to_resource_table+0x78/0x94) from [<c0229130>] (of_device_alloc+0x154/0x248)
[<c0229130>] (of_device_alloc+0x154/0x248) from [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80)
[<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
[<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
[<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
[<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
[<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
[<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
[<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
---[ end trace a30592ddc904989a ]---
No ATAGs?
bio: create slab <bio-0> at 0
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
sh_tmu sh_tmu.0: used for clock events
sh_tmu sh_tmu.0: used for periodic clock events
sh_tmu sh_tmu.1: used as clock source
Switching to clocksource sh_tmu.1
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
 dummy_timer is not functional.
 dummy_timer is not functional.
Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
 dummy_timer is not functional.
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
bounce pool size: 64 pages
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered (default)
gpio_rcar gpio_rcar.0: driving 32 GPIOs
gpio_rcar gpio_rcar.1: driving 32 GPIOs
gpio_rcar gpio_rcar.2: driving 32 GPIOs
gpio_rcar gpio_rcar.3: driving 32 GPIOs
gpio_rcar gpio_rcar.4: driving 32 GPIOs
gpio_rcar gpio_rcar.5: driving 32 GPIOs
gpio_rcar gpio_rcar.6: driving 9 GPIOs
SuperH SCI(F) driver initialized
sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
console [ttySC2] enabled
sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
scsi0 : sata_rcar
ata1: SATA max UDMA/133 irq 132
smsc911x: Driver version 2008-10-21
libphy: smsc911x-mdio: probed
smsc911x 18000000.lan0 eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=18000000.lan0-ff:01, irq=-1)
smsc911x 18000000.lan0 eth0: MAC Address: 2e:09:0a:00:3c:de
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-platform: EHCI generic platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
rcar_thermal ffc48000.thermal: 1 sensor proved
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
ata1: link resume succeeded after 1 retries
ata1: SATA link down (SStatus 0 SControl 300)
smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 257)
IP-Config: Failed to open eth0
IP-Config: No network devices available

Freeing init memory: 2916K


boot (Linux 3.9.0-rc2-00003-gd779a6cb-dirty, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
/ # 
/ # cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
 59:          0          0          0          0       GIC  fe78001c.irqpin
 60:          0          0          0          0       GIC  fe78001c.irqpin
 61:          0          0          0          0       GIC  fe78001c.irqpin
 62:          0          0          0          0       GIC  fe78001c.irqpin
 64:       8493          0          0          0       GIC  sh_tmu.0
122:         48          0          0          0       GIC  sh-sci.2:mux
132:          0          0          0          0       GIC  sata_rcar
173:          0          0          0          0       GIC  gpio_rcar.0
174:          0          0          0          0       GIC  gpio_rcar.1
175:          0          0          0          0       GIC  gpio_rcar.2
176:          0          0          0          0       GIC  gpio_rcar.3
177:          0          0          0          0       GIC  gpio_rcar.4
178:          0          0          0          0       GIC  gpio_rcar.5
179:          0          0          0          0       GIC  gpio_rcar.6
257:          0          0          0          0  fe78001c.irqpin  eth0
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0       7869       8493       8487  Timer broadcast interrupts
IPI2:        446        503         73         46  Rescheduling interrupts
IPI3:         21         37         54         56  Function call interrupts
IPI4:          0          0          0          0  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
Err:          0
/ # 

Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):

Booting Linux on physical CPU 0x0
Linux version 3.9.0-rc2-00003-gd779a6cb (horms at ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1435 SMP Thu Apr 4 12:51:52 JST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: marzen, model: marzen
debug: ignoring loglevel setting.
Memory policy: ECC disabled, Data cache writealloc
On node 0 totalpages: 262144
free_area_init_node: node 0, pgdat c0683b00, node_mem_map c08fb000
  Normal zone: 1520 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 194560 pages, LIFO batch:31
  HighMem zone: 528 pages used for memmap
  HighMem zone: 67584 pages, LIFO batch:15
PERCPU: Embedded 5 pages/cpu @c1103000 s6848 r0 d13632 u32768
pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
__ex_table already sorted, skipping sort
Memory: 1024MB = 1024MB total
Memory: 1032628k/1032628k available, 15948k reserved, 270336K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
      .text : 0xc0008000 - 0xc0384e4c   (3572 kB)
      .init : 0xc0385000 - 0xc065eac0   (2919 kB)
      .data : 0xc0660000 - 0xc06846c0   ( 146 kB)
       .bss : 0xc06846c0 - 0xc06af174   ( 171 kB)
Hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=488000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc02df328 - 0xc02df380
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (4000.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
sh-pfc pfc-r8a7779: r8a7779_pfc support registered
renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
No ATAGs?
bio: create slab <bio-0> at 0
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
sh_tmu sh_tmu.0: used for clock events
sh_tmu sh_tmu.0: used for periodic clock events
sh_tmu sh_tmu.1: used as clock source
Switching to clocksource sh_tmu.1
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
 dummy_timer is not functional.
 dummy_timer is not functional.
Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
 dummy_timer is not functional.
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
bounce pool size: 64 pages
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered (default)
gpio_rcar gpio_rcar.0: driving 32 GPIOs
gpio_rcar gpio_rcar.1: driving 32 GPIOs
gpio_rcar gpio_rcar.2: driving 32 GPIOs
gpio_rcar gpio_rcar.3: driving 32 GPIOs
gpio_rcar gpio_rcar.4: driving 32 GPIOs
gpio_rcar gpio_rcar.5: driving 32 GPIOs
gpio_rcar gpio_rcar.6: driving 9 GPIOs
SuperH SCI(F) driver initialized
sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
console [ttySC2] enabled
sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
scsi0 : sata_rcar
ata1: SATA max UDMA/133 irq 132
smsc911x: Driver version 2008-10-21
genirq: Flags mismatch irq 60. 00000080 (eth%d) vs. 00000000 (fe78001c.irqpin)
smsc911x: probe of 18000000.lan0 failed with error -16
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-platform: EHCI generic platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
rcar_thermal ffc48000.thermal: 1 sensor proved
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
ata1: link resume succeeded after 1 retries
ata1: SATA link down (SStatus 0 SControl 300)
Freeing init memory: 2916K


boot (Linux 3.9.0-rc2-00003-gd779a6cb, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
/ # cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
 59:          0          0          0          0       GIC  fe78001c.irqpin
 60:          0          0          0          0       GIC  fe78001c.irqpin
 61:          0          0          0          0       GIC  fe78001c.irqpin
 62:          0          0          0          0       GIC  fe78001c.irqpin
 64:      49198          0          0          0       GIC  sh_tmu.0
122:         45          0          0          0       GIC  sh-sci.2:mux
132:          0          0          0          0       GIC  sata_rcar
173:          0          0          0          0       GIC  gpio_rcar.0
174:          0          0          0          0       GIC  gpio_rcar.1
175:          0          0          0          0       GIC  gpio_rcar.2
176:          0          0          0          0       GIC  gpio_rcar.3
177:          0          0          0          0       GIC  gpio_rcar.4
178:          0          0          0          0       GIC  gpio_rcar.5
179:          0          0          0          0       GIC  gpio_rcar.6
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0      49192      49198      48802  Timer broadcast interrupts
IPI2:        437        478         87         88  Rescheduling interrupts
IPI3:         56         37         36         39  Function call interrupts
IPI4:          0          0          0          0  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
Err:  

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
  2013-04-04  3:54   ` Simon Horman
  (?)
@ 2013-04-04 21:47     ` Guennadi Liakhovetski
  -1 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-04 21:47 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Simon

On Thu, 4 Apr 2013, Simon Horman wrote:

> On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > Hi
> > 
> > This 2 patches add DT irqpin support on marzen-reference. Only 
> > compile-tested due to the lack of hardware. The patches can go 
> > independently via their respective trees. irqpin on marzen will not work 
> > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > using irqpin interrupts, no breakage will be caused.
> 
> I have applied both patches and the dependency I mention below.
> I have also applied the small patch, inlined below, to hook-up
> the LAN controller. Unfortunately it doesn't seem to be receiving
> any interrupts. Perhaps I am missing something?

Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
that mapping would look like.

> > Guennadi Liakhovetski (2):
> >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> 
> The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> spurious interrupts in DT case", right?

Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
is needed for r8a7779. But the latter won't apply without the former, 
that's right.

> Has there been any progress in your
> discussions with Magnus about what to do about that patch?

No, not yet.

Thanks
Guennadi

> >       ARM: shmobile: marzen-reference: add irqpin support in DT
> 
> LAN patch:
> 
> diff --git a/arch/arm/boot/dts/r8a7779-marzen-reference.dts b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
> index 72be4c8..3d98833 100644
> --- a/arch/arm/boot/dts/r8a7779-marzen-reference.dts
> +++ b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
> @@ -38,8 +38,8 @@
>  		compatible = "smsc,lan9220", "smsc,lan9115";
>  		reg = <0x18000000 0x100>;
>  		phy-mode = "mii";
> -		interrupt-parent = <&gic>;
> -		interrupts = <0 28 0x4>;
> +		interrupt-parent = <&irqpin0>;
> +		interrupts = <28 0>;
>  		reg-io-width = <4>;
>  		vddvario-supply = <&fixedregulator3v3>;
>  		vdd33a-supply = <&fixedregulator3v3>;
> 
> 
> Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):
> 
> Booting Linux on physical CPU 0x0
> Linux version 3.9.0-rc2-00003-gd779a6cb-dirty (horms@ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1433 SMP Thu Apr 4 12:43:06 JST 2013
> CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr\x10c53c7d
> CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> Machine: marzen, model: marzen
> debug: ignoring loglevel setting.
> Memory policy: ECC disabled, Data cache writealloc
> On node 0 totalpages: 262144
> free_area_init_node: node 0, pgdat c03cdb00, node_mem_map c055a000
>   Normal zone: 1520 pages used for memmap
>   Normal zone: 0 pages reserved
>   Normal zone: 194560 pages, LIFO batch:31
>   HighMem zone: 528 pages used for memmap
>   HighMem zone: 67584 pages, LIFO batch:15
> PERCPU: Embedded 5 pages/cpu @c0d62000 s6848 r0 d13632 u32768
> pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
> pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
> Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
> PID hash table entries: 4096 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> __ex_table already sorted, skipping sort
> Memory: 1024MB = 1024MB total
> Memory: 1035404k/1035404k available, 13172k reserved, 270336K highmem
> Virtual kernel memory layout:
>     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
>     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
>     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
>     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
>     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
>       .text : 0xc0008000 - 0xc0380d20   (3556 kB)
>       .init : 0xc0381000 - 0xc03a8ac0   ( 159 kB)
>       .data : 0xc03aa000 - 0xc03ce6c0   ( 146 kB)
>        .bss : 0xc03ce6c0 - 0xc03f9134   ( 171 kB)
> Hierarchical RCU implementation.
> NR_IRQS:16 nr_irqs:16 16
> sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
> Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpjH8000)
> pid_max: default: 32768 minimum: 301
> Mount-cache hash table entries: 512
> CPU: Testing write buffer coherency: ok
> Setting up static identity map for 0xc02dc328 - 0xc02dc380
> CPU1: Booted secondary processor
> CPU2: Booted secondary processor
> CPU3: Booted secondary processor
> Brought up 4 CPUs
> SMP: Total of 4 processors activated (4000.00 BogoMIPS).
> CPU: All CPU(s) started in SVC mode.
> devtmpfs: initialized
> pinctrl core: initialized pinctrl subsystem
> NET: Registered protocol family 16
> DMA: preallocated 256 KiB pool for atomic coherent allocations
> sh-pfc pfc-r8a7779: r8a7779_pfc support registered
> renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
> ------------[ cut here ]------------
> WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
> [<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
> [<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
> [<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
> [<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
> [<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
> [<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
> [<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
> [<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224ca0>] (of_irq_count+0x24/0x34)
> [<c0224ca0>] (of_irq_count+0x24/0x34) from [<c0225508>] (of_device_alloc+0x1b8/0x248)
> [<c0225508>] (of_device_alloc+0x1b8/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
> [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
> [<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
> [<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
> [<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
> [<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
> [<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc9049899 ]---
> ------------[ cut here ]------------
> WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
> [<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
> [<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
> [<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
> [<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
> [<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
> [<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
> [<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
> [<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224d28>] (of_irq_to_resource_table+0x78/0x94)
> [<c0224d28>] (of_irq_to_resource_table+0x78/0x94) from [<c02254a4>] (of_device_alloc+0x154/0x248)
> [<c02254a4>] (of_device_alloc+0x154/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
> [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
> [<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
> [<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
> [<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
> [<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
> [<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc904989a ]---
> No ATAGs?
> [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
> [<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
> [<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
> [<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
> [<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
> [<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc9049899 ]---
> ------------[ cut here ]------------
> WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
> [<c000ee40>] (unwind_backtrace+0x0/0xf8) from [<c0017888>] (warn_slowpath_common+0x50/0x64)
> [<c0017888>] (warn_slowpath_common+0x50/0x64) from [<c0017950>] (warn_slowpath_null+0x1c/0x24)
> [<c0017950>] (warn_slowpath_null+0x1c/0x24) from [<c00637cc>] (irq_linear_revmap+0x3c/0x44)
> [<c00637cc>] (irq_linear_revmap+0x3c/0x44) from [<c00638b8>] (irq_create_mapping+0x20/0x118)
> [<c00638b8>] (irq_create_mapping+0x20/0x118) from [<c0063a2c>] (irq_create_of_mapping+0x7c/0x100)
> [<c0063a2c>] (irq_create_of_mapping+0x7c/0x100) from [<c022888c>] (irq_of_parse_and_map+0x30/0x38)
> [<c022888c>] (irq_of_parse_and_map+0x30/0x38) from [<c02288ac>] (of_irq_to_resource+0x18/0x74)
> [<c02288ac>] (of_irq_to_resource+0x18/0x74) from [<c02289b4>] (of_irq_to_resource_table+0x78/0x94)
> [<c02289b4>] (of_irq_to_resource_table+0x78/0x94) from [<c0229130>] (of_device_alloc+0x154/0x248)
> [<c0229130>] (of_device_alloc+0x154/0x248) from [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80)
> [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
> [<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
> [<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
> [<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
> [<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
> [<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc904989a ]---
> No ATAGs?
> bio: create slab <bio-0> at 0
> SCSI subsystem initialized
> libata version 3.00 loaded.
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> sh_tmu sh_tmu.0: used for clock events
> sh_tmu sh_tmu.0: used for periodic clock events
> sh_tmu sh_tmu.1: used as clock source
> Switching to clocksource sh_tmu.1
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
>  dummy_timer is not functional.
>  dummy_timer is not functional.
> Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
>  dummy_timer is not functional.
> NET: Registered protocol family 2
> TCP established hash table entries: 8192 (order: 4, 65536 bytes)
> TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
> TCP: Hash tables configured (established 8192 bind 8192)
> TCP: reno registered
> UDP hash table entries: 512 (order: 2, 16384 bytes)
> UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
> NET: Registered protocol family 1
> RPC: Registered named UNIX socket transport module.
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> bounce pool size: 64 pages
> Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
> io scheduler noop registered
> io scheduler deadline registered (default)
> gpio_rcar gpio_rcar.0: driving 32 GPIOs
> gpio_rcar gpio_rcar.1: driving 32 GPIOs
> gpio_rcar gpio_rcar.2: driving 32 GPIOs
> gpio_rcar gpio_rcar.3: driving 32 GPIOs
> gpio_rcar gpio_rcar.4: driving 32 GPIOs
> gpio_rcar gpio_rcar.5: driving 32 GPIOs
> gpio_rcar gpio_rcar.6: driving 9 GPIOs
> SuperH SCI(F) driver initialized
> sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
> sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
> sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
> console [ttySC2] enabled
> sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
> sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
> sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
> scsi0 : sata_rcar
> ata1: SATA max UDMA/133 irq 132
> smsc911x: Driver version 2008-10-21
> libphy: smsc911x-mdio: probed
> smsc911x 18000000.lan0 eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr\x18000000.lan0-ff:01, irq=-1)
> smsc911x 18000000.lan0 eth0: MAC Address: 2e:09:0a:00:3c:de
> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> ehci-platform: EHCI generic platform driver
> ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> Initializing USB Mass Storage driver...
> usbcore: registered new interface driver usb-storage
> USB Mass Storage support registered.
> rcar_thermal ffc48000.thermal: 1 sensor proved
> usbcore: registered new interface driver usbhid
> usbhid: USB HID core driver
> TCP: cubic registered
> ata1: link resume succeeded after 1 retries
> ata1: SATA link down (SStatus 0 SControl 300)
> smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 257)
> IP-Config: Failed to open eth0
> IP-Config: No network devices available
> 
> Freeing init memory: 2916K
> 
> 
> boot (Linux 3.9.0-rc2-00003-gd779a6cb-dirty, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
> / # 
> / # cat /proc/interrupts 
>            CPU0       CPU1       CPU2       CPU3       
>  59:          0          0          0          0       GIC  fe78001c.irqpin
>  60:          0          0          0          0       GIC  fe78001c.irqpin
>  61:          0          0          0          0       GIC  fe78001c.irqpin
>  62:          0          0          0          0       GIC  fe78001c.irqpin
>  64:       8493          0          0          0       GIC  sh_tmu.0
> 122:         48          0          0          0       GIC  sh-sci.2:mux
> 132:          0          0          0          0       GIC  sata_rcar
> 173:          0          0          0          0       GIC  gpio_rcar.0
> 174:          0          0          0          0       GIC  gpio_rcar.1
> 175:          0          0          0          0       GIC  gpio_rcar.2
> 176:          0          0          0          0       GIC  gpio_rcar.3
> 177:          0          0          0          0       GIC  gpio_rcar.4
> 178:          0          0          0          0       GIC  gpio_rcar.5
> 179:          0          0          0          0       GIC  gpio_rcar.6
> 257:          0          0          0          0  fe78001c.irqpin  eth0
> IPI0:          0          0          0          0  CPU wakeup interrupts
> IPI1:          0       7869       8493       8487  Timer broadcast interrupts
> IPI2:        446        503         73         46  Rescheduling interrupts
> IPI3:         21         37         54         56  Function call interrupts
> IPI4:          0          0          0          0  Single function call interrupts
> IPI5:          0          0          0          0  CPU stop interrupts
> Err:          0
> / # 
> 
> Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):
> 
> Booting Linux on physical CPU 0x0
> Linux version 3.9.0-rc2-00003-gd779a6cb (horms@ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1435 SMP Thu Apr 4 12:51:52 JST 2013
> CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr\x10c53c7d
> CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> Machine: marzen, model: marzen
> debug: ignoring loglevel setting.
> Memory policy: ECC disabled, Data cache writealloc
> On node 0 totalpages: 262144
> free_area_init_node: node 0, pgdat c0683b00, node_mem_map c08fb000
>   Normal zone: 1520 pages used for memmap
>   Normal zone: 0 pages reserved
>   Normal zone: 194560 pages, LIFO batch:31
>   HighMem zone: 528 pages used for memmap
>   HighMem zone: 67584 pages, LIFO batch:15
> PERCPU: Embedded 5 pages/cpu @c1103000 s6848 r0 d13632 u32768
> pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
> pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
> Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
> PID hash table entries: 4096 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> __ex_table already sorted, skipping sort
> Memory: 1024MB = 1024MB total
> Memory: 1032628k/1032628k available, 15948k reserved, 270336K highmem
> Virtual kernel memory layout:
>     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
>     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
>     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
>     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
>     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
>       .text : 0xc0008000 - 0xc0384e4c   (3572 kB)
>       .init : 0xc0385000 - 0xc065eac0   (2919 kB)
>       .data : 0xc0660000 - 0xc06846c0   ( 146 kB)
>        .bss : 0xc06846c0 - 0xc06af174   ( 171 kB)
> Hierarchical RCU implementation.
> NR_IRQS:16 nr_irqs:16 16
> sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
> Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpjH8000)
> pid_max: default: 32768 minimum: 301
> Mount-cache hash table entries: 512
> CPU: Testing write buffer coherency: ok
> Setting up static identity map for 0xc02df328 - 0xc02df380
> CPU1: Booted secondary processor
> CPU2: Booted secondary processor
> CPU3: Booted secondary processor
> Brought up 4 CPUs
> SMP: Total of 4 processors activated (4000.00 BogoMIPS).
> CPU: All CPU(s) started in SVC mode.
> devtmpfs: initialized
> pinctrl core: initialized pinctrl subsystem
> NET: Registered protocol family 16
> DMA: preallocated 256 KiB pool for atomic coherent allocations
> sh-pfc pfc-r8a7779: r8a7779_pfc support registered
> renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
> No ATAGs?
> bio: create slab <bio-0> at 0
> SCSI subsystem initialized
> libata version 3.00 loaded.
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> sh_tmu sh_tmu.0: used for clock events
> sh_tmu sh_tmu.0: used for periodic clock events
> sh_tmu sh_tmu.1: used as clock source
> Switching to clocksource sh_tmu.1
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
>  dummy_timer is not functional.
>  dummy_timer is not functional.
> Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
>  dummy_timer is not functional.
> NET: Registered protocol family 2
> TCP established hash table entries: 8192 (order: 4, 65536 bytes)
> TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
> TCP: Hash tables configured (established 8192 bind 8192)
> TCP: reno registered
> UDP hash table entries: 512 (order: 2, 16384 bytes)
> UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
> NET: Registered protocol family 1
> RPC: Registered named UNIX socket transport module.
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> bounce pool size: 64 pages
> Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
> io scheduler noop registered
> io scheduler deadline registered (default)
> gpio_rcar gpio_rcar.0: driving 32 GPIOs
> gpio_rcar gpio_rcar.1: driving 32 GPIOs
> gpio_rcar gpio_rcar.2: driving 32 GPIOs
> gpio_rcar gpio_rcar.3: driving 32 GPIOs
> gpio_rcar gpio_rcar.4: driving 32 GPIOs
> gpio_rcar gpio_rcar.5: driving 32 GPIOs
> gpio_rcar gpio_rcar.6: driving 9 GPIOs
> SuperH SCI(F) driver initialized
> sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
> sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
> sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
> console [ttySC2] enabled
> sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
> sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
> sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
> scsi0 : sata_rcar
> ata1: SATA max UDMA/133 irq 132
> smsc911x: Driver version 2008-10-21
> genirq: Flags mismatch irq 60. 00000080 (eth%d) vs. 00000000 (fe78001c.irqpin)
> smsc911x: probe of 18000000.lan0 failed with error -16
> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> ehci-platform: EHCI generic platform driver
> ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> Initializing USB Mass Storage driver...
> usbcore: registered new interface driver usb-storage
> USB Mass Storage support registered.
> rcar_thermal ffc48000.thermal: 1 sensor proved
> usbcore: registered new interface driver usbhid
> usbhid: USB HID core driver
> TCP: cubic registered
> ata1: link resume succeeded after 1 retries
> ata1: SATA link down (SStatus 0 SControl 300)
> Freeing init memory: 2916K
> 
> 
> boot (Linux 3.9.0-rc2-00003-gd779a6cb, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
> / # cat /proc/interrupts 
>            CPU0       CPU1       CPU2       CPU3       
>  59:          0          0          0          0       GIC  fe78001c.irqpin
>  60:          0          0          0          0       GIC  fe78001c.irqpin
>  61:          0          0          0          0       GIC  fe78001c.irqpin
>  62:          0          0          0          0       GIC  fe78001c.irqpin
>  64:      49198          0          0          0       GIC  sh_tmu.0
> 122:         45          0          0          0       GIC  sh-sci.2:mux
> 132:          0          0          0          0       GIC  sata_rcar
> 173:          0          0          0          0       GIC  gpio_rcar.0
> 174:          0          0          0          0       GIC  gpio_rcar.1
> 175:          0          0          0          0       GIC  gpio_rcar.2
> 176:          0          0          0          0       GIC  gpio_rcar.3
> 177:          0          0          0          0       GIC  gpio_rcar.4
> 178:          0          0          0          0       GIC  gpio_rcar.5
> 179:          0          0          0          0       GIC  gpio_rcar.6
> IPI0:          0          0          0          0  CPU wakeup interrupts
> IPI1:          0      49192      49198      48802  Timer broadcast interrupts
> IPI2:        437        478         87         88  Rescheduling interrupts
> IPI3:         56         37         36         39  Function call interrupts
> IPI4:          0          0          0          0  Single function call interrupts
> IPI5:          0          0          0          0  CPU stop interrupts
> Err:  
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-04 21:47     ` Guennadi Liakhovetski
  0 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-04 21:47 UTC (permalink / raw)
  To: Simon Horman
  Cc: linux-sh, Magnus Damm, devicetree-discuss, Thomas Gleixner,
	linux-arm-kernel

Hi Simon

On Thu, 4 Apr 2013, Simon Horman wrote:

> On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > Hi
> > 
> > This 2 patches add DT irqpin support on marzen-reference. Only 
> > compile-tested due to the lack of hardware. The patches can go 
> > independently via their respective trees. irqpin on marzen will not work 
> > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > using irqpin interrupts, no breakage will be caused.
> 
> I have applied both patches and the dependency I mention below.
> I have also applied the small patch, inlined below, to hook-up
> the LAN controller. Unfortunately it doesn't seem to be receiving
> any interrupts. Perhaps I am missing something?

Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
that mapping would look like.

> > Guennadi Liakhovetski (2):
> >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> 
> The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> spurious interrupts in DT case", right?

Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
is needed for r8a7779. But the latter won't apply without the former, 
that's right.

> Has there been any progress in your
> discussions with Magnus about what to do about that patch?

No, not yet.

Thanks
Guennadi

> >       ARM: shmobile: marzen-reference: add irqpin support in DT
> 
> LAN patch:
> 
> diff --git a/arch/arm/boot/dts/r8a7779-marzen-reference.dts b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
> index 72be4c8..3d98833 100644
> --- a/arch/arm/boot/dts/r8a7779-marzen-reference.dts
> +++ b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
> @@ -38,8 +38,8 @@
>  		compatible = "smsc,lan9220", "smsc,lan9115";
>  		reg = <0x18000000 0x100>;
>  		phy-mode = "mii";
> -		interrupt-parent = <&gic>;
> -		interrupts = <0 28 0x4>;
> +		interrupt-parent = <&irqpin0>;
> +		interrupts = <28 0>;
>  		reg-io-width = <4>;
>  		vddvario-supply = <&fixedregulator3v3>;
>  		vdd33a-supply = <&fixedregulator3v3>;
> 
> 
> Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):
> 
> Booting Linux on physical CPU 0x0
> Linux version 3.9.0-rc2-00003-gd779a6cb-dirty (horms@ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1433 SMP Thu Apr 4 12:43:06 JST 2013
> CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d
> CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> Machine: marzen, model: marzen
> debug: ignoring loglevel setting.
> Memory policy: ECC disabled, Data cache writealloc
> On node 0 totalpages: 262144
> free_area_init_node: node 0, pgdat c03cdb00, node_mem_map c055a000
>   Normal zone: 1520 pages used for memmap
>   Normal zone: 0 pages reserved
>   Normal zone: 194560 pages, LIFO batch:31
>   HighMem zone: 528 pages used for memmap
>   HighMem zone: 67584 pages, LIFO batch:15
> PERCPU: Embedded 5 pages/cpu @c0d62000 s6848 r0 d13632 u32768
> pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
> pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
> Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
> PID hash table entries: 4096 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> __ex_table already sorted, skipping sort
> Memory: 1024MB = 1024MB total
> Memory: 1035404k/1035404k available, 13172k reserved, 270336K highmem
> Virtual kernel memory layout:
>     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
>     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
>     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
>     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
>     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
>       .text : 0xc0008000 - 0xc0380d20   (3556 kB)
>       .init : 0xc0381000 - 0xc03a8ac0   ( 159 kB)
>       .data : 0xc03aa000 - 0xc03ce6c0   ( 146 kB)
>        .bss : 0xc03ce6c0 - 0xc03f9134   ( 171 kB)
> Hierarchical RCU implementation.
> NR_IRQS:16 nr_irqs:16 16
> sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
> Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=488000)
> pid_max: default: 32768 minimum: 301
> Mount-cache hash table entries: 512
> CPU: Testing write buffer coherency: ok
> Setting up static identity map for 0xc02dc328 - 0xc02dc380
> CPU1: Booted secondary processor
> CPU2: Booted secondary processor
> CPU3: Booted secondary processor
> Brought up 4 CPUs
> SMP: Total of 4 processors activated (4000.00 BogoMIPS).
> CPU: All CPU(s) started in SVC mode.
> devtmpfs: initialized
> pinctrl core: initialized pinctrl subsystem
> NET: Registered protocol family 16
> DMA: preallocated 256 KiB pool for atomic coherent allocations
> sh-pfc pfc-r8a7779: r8a7779_pfc support registered
> renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
> ------------[ cut here ]------------
> WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
> [<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
> [<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
> [<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
> [<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
> [<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
> [<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
> [<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
> [<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224ca0>] (of_irq_count+0x24/0x34)
> [<c0224ca0>] (of_irq_count+0x24/0x34) from [<c0225508>] (of_device_alloc+0x1b8/0x248)
> [<c0225508>] (of_device_alloc+0x1b8/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
> [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
> [<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
> [<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
> [<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
> [<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
> [<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc9049899 ]---
> ------------[ cut here ]------------
> WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
> [<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
> [<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
> [<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
> [<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
> [<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
> [<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
> [<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
> [<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224d28>] (of_irq_to_resource_table+0x78/0x94)
> [<c0224d28>] (of_irq_to_resource_table+0x78/0x94) from [<c02254a4>] (of_device_alloc+0x154/0x248)
> [<c02254a4>] (of_device_alloc+0x154/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
> [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
> [<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
> [<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
> [<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
> [<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
> [<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc904989a ]---
> No ATAGs?
> [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
> [<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
> [<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
> [<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
> [<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
> [<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc9049899 ]---
> ------------[ cut here ]------------
> WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
> [<c000ee40>] (unwind_backtrace+0x0/0xf8) from [<c0017888>] (warn_slowpath_common+0x50/0x64)
> [<c0017888>] (warn_slowpath_common+0x50/0x64) from [<c0017950>] (warn_slowpath_null+0x1c/0x24)
> [<c0017950>] (warn_slowpath_null+0x1c/0x24) from [<c00637cc>] (irq_linear_revmap+0x3c/0x44)
> [<c00637cc>] (irq_linear_revmap+0x3c/0x44) from [<c00638b8>] (irq_create_mapping+0x20/0x118)
> [<c00638b8>] (irq_create_mapping+0x20/0x118) from [<c0063a2c>] (irq_create_of_mapping+0x7c/0x100)
> [<c0063a2c>] (irq_create_of_mapping+0x7c/0x100) from [<c022888c>] (irq_of_parse_and_map+0x30/0x38)
> [<c022888c>] (irq_of_parse_and_map+0x30/0x38) from [<c02288ac>] (of_irq_to_resource+0x18/0x74)
> [<c02288ac>] (of_irq_to_resource+0x18/0x74) from [<c02289b4>] (of_irq_to_resource_table+0x78/0x94)
> [<c02289b4>] (of_irq_to_resource_table+0x78/0x94) from [<c0229130>] (of_device_alloc+0x154/0x248)
> [<c0229130>] (of_device_alloc+0x154/0x248) from [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80)
> [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
> [<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
> [<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
> [<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
> [<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
> [<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc904989a ]---
> No ATAGs?
> bio: create slab <bio-0> at 0
> SCSI subsystem initialized
> libata version 3.00 loaded.
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> sh_tmu sh_tmu.0: used for clock events
> sh_tmu sh_tmu.0: used for periodic clock events
> sh_tmu sh_tmu.1: used as clock source
> Switching to clocksource sh_tmu.1
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
>  dummy_timer is not functional.
>  dummy_timer is not functional.
> Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
>  dummy_timer is not functional.
> NET: Registered protocol family 2
> TCP established hash table entries: 8192 (order: 4, 65536 bytes)
> TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
> TCP: Hash tables configured (established 8192 bind 8192)
> TCP: reno registered
> UDP hash table entries: 512 (order: 2, 16384 bytes)
> UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
> NET: Registered protocol family 1
> RPC: Registered named UNIX socket transport module.
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> bounce pool size: 64 pages
> Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
> io scheduler noop registered
> io scheduler deadline registered (default)
> gpio_rcar gpio_rcar.0: driving 32 GPIOs
> gpio_rcar gpio_rcar.1: driving 32 GPIOs
> gpio_rcar gpio_rcar.2: driving 32 GPIOs
> gpio_rcar gpio_rcar.3: driving 32 GPIOs
> gpio_rcar gpio_rcar.4: driving 32 GPIOs
> gpio_rcar gpio_rcar.5: driving 32 GPIOs
> gpio_rcar gpio_rcar.6: driving 9 GPIOs
> SuperH SCI(F) driver initialized
> sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
> sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
> sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
> console [ttySC2] enabled
> sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
> sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
> sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
> scsi0 : sata_rcar
> ata1: SATA max UDMA/133 irq 132
> smsc911x: Driver version 2008-10-21
> libphy: smsc911x-mdio: probed
> smsc911x 18000000.lan0 eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=18000000.lan0-ff:01, irq=-1)
> smsc911x 18000000.lan0 eth0: MAC Address: 2e:09:0a:00:3c:de
> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> ehci-platform: EHCI generic platform driver
> ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> Initializing USB Mass Storage driver...
> usbcore: registered new interface driver usb-storage
> USB Mass Storage support registered.
> rcar_thermal ffc48000.thermal: 1 sensor proved
> usbcore: registered new interface driver usbhid
> usbhid: USB HID core driver
> TCP: cubic registered
> ata1: link resume succeeded after 1 retries
> ata1: SATA link down (SStatus 0 SControl 300)
> smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 257)
> IP-Config: Failed to open eth0
> IP-Config: No network devices available
> 
> Freeing init memory: 2916K
> 
> 
> boot (Linux 3.9.0-rc2-00003-gd779a6cb-dirty, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
> / # 
> / # cat /proc/interrupts 
>            CPU0       CPU1       CPU2       CPU3       
>  59:          0          0          0          0       GIC  fe78001c.irqpin
>  60:          0          0          0          0       GIC  fe78001c.irqpin
>  61:          0          0          0          0       GIC  fe78001c.irqpin
>  62:          0          0          0          0       GIC  fe78001c.irqpin
>  64:       8493          0          0          0       GIC  sh_tmu.0
> 122:         48          0          0          0       GIC  sh-sci.2:mux
> 132:          0          0          0          0       GIC  sata_rcar
> 173:          0          0          0          0       GIC  gpio_rcar.0
> 174:          0          0          0          0       GIC  gpio_rcar.1
> 175:          0          0          0          0       GIC  gpio_rcar.2
> 176:          0          0          0          0       GIC  gpio_rcar.3
> 177:          0          0          0          0       GIC  gpio_rcar.4
> 178:          0          0          0          0       GIC  gpio_rcar.5
> 179:          0          0          0          0       GIC  gpio_rcar.6
> 257:          0          0          0          0  fe78001c.irqpin  eth0
> IPI0:          0          0          0          0  CPU wakeup interrupts
> IPI1:          0       7869       8493       8487  Timer broadcast interrupts
> IPI2:        446        503         73         46  Rescheduling interrupts
> IPI3:         21         37         54         56  Function call interrupts
> IPI4:          0          0          0          0  Single function call interrupts
> IPI5:          0          0          0          0  CPU stop interrupts
> Err:          0
> / # 
> 
> Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):
> 
> Booting Linux on physical CPU 0x0
> Linux version 3.9.0-rc2-00003-gd779a6cb (horms@ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1435 SMP Thu Apr 4 12:51:52 JST 2013
> CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d
> CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> Machine: marzen, model: marzen
> debug: ignoring loglevel setting.
> Memory policy: ECC disabled, Data cache writealloc
> On node 0 totalpages: 262144
> free_area_init_node: node 0, pgdat c0683b00, node_mem_map c08fb000
>   Normal zone: 1520 pages used for memmap
>   Normal zone: 0 pages reserved
>   Normal zone: 194560 pages, LIFO batch:31
>   HighMem zone: 528 pages used for memmap
>   HighMem zone: 67584 pages, LIFO batch:15
> PERCPU: Embedded 5 pages/cpu @c1103000 s6848 r0 d13632 u32768
> pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
> pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
> Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
> PID hash table entries: 4096 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> __ex_table already sorted, skipping sort
> Memory: 1024MB = 1024MB total
> Memory: 1032628k/1032628k available, 15948k reserved, 270336K highmem
> Virtual kernel memory layout:
>     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
>     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
>     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
>     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
>     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
>       .text : 0xc0008000 - 0xc0384e4c   (3572 kB)
>       .init : 0xc0385000 - 0xc065eac0   (2919 kB)
>       .data : 0xc0660000 - 0xc06846c0   ( 146 kB)
>        .bss : 0xc06846c0 - 0xc06af174   ( 171 kB)
> Hierarchical RCU implementation.
> NR_IRQS:16 nr_irqs:16 16
> sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
> Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=488000)
> pid_max: default: 32768 minimum: 301
> Mount-cache hash table entries: 512
> CPU: Testing write buffer coherency: ok
> Setting up static identity map for 0xc02df328 - 0xc02df380
> CPU1: Booted secondary processor
> CPU2: Booted secondary processor
> CPU3: Booted secondary processor
> Brought up 4 CPUs
> SMP: Total of 4 processors activated (4000.00 BogoMIPS).
> CPU: All CPU(s) started in SVC mode.
> devtmpfs: initialized
> pinctrl core: initialized pinctrl subsystem
> NET: Registered protocol family 16
> DMA: preallocated 256 KiB pool for atomic coherent allocations
> sh-pfc pfc-r8a7779: r8a7779_pfc support registered
> renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
> No ATAGs?
> bio: create slab <bio-0> at 0
> SCSI subsystem initialized
> libata version 3.00 loaded.
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> sh_tmu sh_tmu.0: used for clock events
> sh_tmu sh_tmu.0: used for periodic clock events
> sh_tmu sh_tmu.1: used as clock source
> Switching to clocksource sh_tmu.1
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
>  dummy_timer is not functional.
>  dummy_timer is not functional.
> Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
>  dummy_timer is not functional.
> NET: Registered protocol family 2
> TCP established hash table entries: 8192 (order: 4, 65536 bytes)
> TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
> TCP: Hash tables configured (established 8192 bind 8192)
> TCP: reno registered
> UDP hash table entries: 512 (order: 2, 16384 bytes)
> UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
> NET: Registered protocol family 1
> RPC: Registered named UNIX socket transport module.
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> bounce pool size: 64 pages
> Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
> io scheduler noop registered
> io scheduler deadline registered (default)
> gpio_rcar gpio_rcar.0: driving 32 GPIOs
> gpio_rcar gpio_rcar.1: driving 32 GPIOs
> gpio_rcar gpio_rcar.2: driving 32 GPIOs
> gpio_rcar gpio_rcar.3: driving 32 GPIOs
> gpio_rcar gpio_rcar.4: driving 32 GPIOs
> gpio_rcar gpio_rcar.5: driving 32 GPIOs
> gpio_rcar gpio_rcar.6: driving 9 GPIOs
> SuperH SCI(F) driver initialized
> sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
> sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
> sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
> console [ttySC2] enabled
> sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
> sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
> sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
> scsi0 : sata_rcar
> ata1: SATA max UDMA/133 irq 132
> smsc911x: Driver version 2008-10-21
> genirq: Flags mismatch irq 60. 00000080 (eth%d) vs. 00000000 (fe78001c.irqpin)
> smsc911x: probe of 18000000.lan0 failed with error -16
> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> ehci-platform: EHCI generic platform driver
> ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> Initializing USB Mass Storage driver...
> usbcore: registered new interface driver usb-storage
> USB Mass Storage support registered.
> rcar_thermal ffc48000.thermal: 1 sensor proved
> usbcore: registered new interface driver usbhid
> usbhid: USB HID core driver
> TCP: cubic registered
> ata1: link resume succeeded after 1 retries
> ata1: SATA link down (SStatus 0 SControl 300)
> Freeing init memory: 2916K
> 
> 
> boot (Linux 3.9.0-rc2-00003-gd779a6cb, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
> / # cat /proc/interrupts 
>            CPU0       CPU1       CPU2       CPU3       
>  59:          0          0          0          0       GIC  fe78001c.irqpin
>  60:          0          0          0          0       GIC  fe78001c.irqpin
>  61:          0          0          0          0       GIC  fe78001c.irqpin
>  62:          0          0          0          0       GIC  fe78001c.irqpin
>  64:      49198          0          0          0       GIC  sh_tmu.0
> 122:         45          0          0          0       GIC  sh-sci.2:mux
> 132:          0          0          0          0       GIC  sata_rcar
> 173:          0          0          0          0       GIC  gpio_rcar.0
> 174:          0          0          0          0       GIC  gpio_rcar.1
> 175:          0          0          0          0       GIC  gpio_rcar.2
> 176:          0          0          0          0       GIC  gpio_rcar.3
> 177:          0          0          0          0       GIC  gpio_rcar.4
> 178:          0          0          0          0       GIC  gpio_rcar.5
> 179:          0          0          0          0       GIC  gpio_rcar.6
> IPI0:          0          0          0          0  CPU wakeup interrupts
> IPI1:          0      49192      49198      48802  Timer broadcast interrupts
> IPI2:        437        478         87         88  Rescheduling interrupts
> IPI3:         56         37         36         39  Function call interrupts
> IPI4:          0          0          0          0  Single function call interrupts
> IPI5:          0          0          0          0  CPU stop interrupts
> Err:  
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-04 21:47     ` Guennadi Liakhovetski
  0 siblings, 0 replies; 30+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-04 21:47 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Simon

On Thu, 4 Apr 2013, Simon Horman wrote:

> On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > Hi
> > 
> > This 2 patches add DT irqpin support on marzen-reference. Only 
> > compile-tested due to the lack of hardware. The patches can go 
> > independently via their respective trees. irqpin on marzen will not work 
> > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > using irqpin interrupts, no breakage will be caused.
> 
> I have applied both patches and the dependency I mention below.
> I have also applied the small patch, inlined below, to hook-up
> the LAN controller. Unfortunately it doesn't seem to be receiving
> any interrupts. Perhaps I am missing something?

Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
that mapping would look like.

> > Guennadi Liakhovetski (2):
> >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> 
> The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> spurious interrupts in DT case", right?

Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
is needed for r8a7779. But the latter won't apply without the former, 
that's right.

> Has there been any progress in your
> discussions with Magnus about what to do about that patch?

No, not yet.

Thanks
Guennadi

> >       ARM: shmobile: marzen-reference: add irqpin support in DT
> 
> LAN patch:
> 
> diff --git a/arch/arm/boot/dts/r8a7779-marzen-reference.dts b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
> index 72be4c8..3d98833 100644
> --- a/arch/arm/boot/dts/r8a7779-marzen-reference.dts
> +++ b/arch/arm/boot/dts/r8a7779-marzen-reference.dts
> @@ -38,8 +38,8 @@
>  		compatible = "smsc,lan9220", "smsc,lan9115";
>  		reg = <0x18000000 0x100>;
>  		phy-mode = "mii";
> -		interrupt-parent = <&gic>;
> -		interrupts = <0 28 0x4>;
> +		interrupt-parent = <&irqpin0>;
> +		interrupts = <28 0>;
>  		reg-io-width = <4>;
>  		vddvario-supply = <&fixedregulator3v3>;
>  		vdd33a-supply = <&fixedregulator3v3>;
> 
> 
> Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):
> 
> Booting Linux on physical CPU 0x0
> Linux version 3.9.0-rc2-00003-gd779a6cb-dirty (horms at ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1433 SMP Thu Apr 4 12:43:06 JST 2013
> CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d
> CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> Machine: marzen, model: marzen
> debug: ignoring loglevel setting.
> Memory policy: ECC disabled, Data cache writealloc
> On node 0 totalpages: 262144
> free_area_init_node: node 0, pgdat c03cdb00, node_mem_map c055a000
>   Normal zone: 1520 pages used for memmap
>   Normal zone: 0 pages reserved
>   Normal zone: 194560 pages, LIFO batch:31
>   HighMem zone: 528 pages used for memmap
>   HighMem zone: 67584 pages, LIFO batch:15
> PERCPU: Embedded 5 pages/cpu @c0d62000 s6848 r0 d13632 u32768
> pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
> pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
> Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
> PID hash table entries: 4096 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> __ex_table already sorted, skipping sort
> Memory: 1024MB = 1024MB total
> Memory: 1035404k/1035404k available, 13172k reserved, 270336K highmem
> Virtual kernel memory layout:
>     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
>     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
>     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
>     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
>     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
>       .text : 0xc0008000 - 0xc0380d20   (3556 kB)
>       .init : 0xc0381000 - 0xc03a8ac0   ( 159 kB)
>       .data : 0xc03aa000 - 0xc03ce6c0   ( 146 kB)
>        .bss : 0xc03ce6c0 - 0xc03f9134   ( 171 kB)
> Hierarchical RCU implementation.
> NR_IRQS:16 nr_irqs:16 16
> sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
> Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=488000)
> pid_max: default: 32768 minimum: 301
> Mount-cache hash table entries: 512
> CPU: Testing write buffer coherency: ok
> Setting up static identity map for 0xc02dc328 - 0xc02dc380
> CPU1: Booted secondary processor
> CPU2: Booted secondary processor
> CPU3: Booted secondary processor
> Brought up 4 CPUs
> SMP: Total of 4 processors activated (4000.00 BogoMIPS).
> CPU: All CPU(s) started in SVC mode.
> devtmpfs: initialized
> pinctrl core: initialized pinctrl subsystem
> NET: Registered protocol family 16
> DMA: preallocated 256 KiB pool for atomic coherent allocations
> sh-pfc pfc-r8a7779: r8a7779_pfc support registered
> renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
> ------------[ cut here ]------------
> WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
> [<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
> [<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
> [<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
> [<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
> [<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
> [<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
> [<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
> [<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224ca0>] (of_irq_count+0x24/0x34)
> [<c0224ca0>] (of_irq_count+0x24/0x34) from [<c0225508>] (of_device_alloc+0x1b8/0x248)
> [<c0225508>] (of_device_alloc+0x1b8/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
> [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
> [<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
> [<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
> [<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
> [<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
> [<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc9049899 ]---
> ------------[ cut here ]------------
> WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
> [<c000edc0>] (unwind_backtrace+0x0/0xf8) from [<c0017628>] (warn_slowpath_common+0x50/0x64)
> [<c0017628>] (warn_slowpath_common+0x50/0x64) from [<c00176f0>] (warn_slowpath_null+0x1c/0x24)
> [<c00176f0>] (warn_slowpath_null+0x1c/0x24) from [<c006356c>] (irq_linear_revmap+0x3c/0x44)
> [<c006356c>] (irq_linear_revmap+0x3c/0x44) from [<c0063658>] (irq_create_mapping+0x20/0x118)
> [<c0063658>] (irq_create_mapping+0x20/0x118) from [<c00637cc>] (irq_create_of_mapping+0x7c/0x100)
> [<c00637cc>] (irq_create_of_mapping+0x7c/0x100) from [<c0224c00>] (irq_of_parse_and_map+0x30/0x38)
> [<c0224c00>] (irq_of_parse_and_map+0x30/0x38) from [<c0224c20>] (of_irq_to_resource+0x18/0x74)
> [<c0224c20>] (of_irq_to_resource+0x18/0x74) from [<c0224d28>] (of_irq_to_resource_table+0x78/0x94)
> [<c0224d28>] (of_irq_to_resource_table+0x78/0x94) from [<c02254a4>] (of_device_alloc+0x154/0x248)
> [<c02254a4>] (of_device_alloc+0x154/0x248) from [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80)
> [<c02255d4>] (of_platform_device_create_pdata+0x3c/0x80) from [<c02256ec>] (of_platform_bus_create+0xd4/0x178)
> [<c02256ec>] (of_platform_bus_create+0xd4/0x178) from [<c02258cc>] (of_platform_populate+0x60/0x98)
> [<c02258cc>] (of_platform_populate+0x60/0x98) from [<c0382854>] (customize_machine+0x20/0x28)
> [<c0382854>] (customize_machine+0x20/0x28) from [<c0381834>] (do_one_initcall+0xa0/0x16c)
> [<c0381834>] (do_one_initcall+0xa0/0x16c) from [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0381a2c>] (kernel_init_freeable+0x12c/0x1d0) from [<c02cfd6c>] (kernel_init+0x8/0xe8)
> [<c02cfd6c>] (kernel_init+0x8/0xe8) from [<c0009e18>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc904989a ]---
> No ATAGs?
> [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
> [<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
> [<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
> [<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
> [<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
> [<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc9049899 ]---
> ------------[ cut here ]------------
> WARNING: at kernel/irq/irqdomain.c:766 irq_linear_revmap+0x3c/0x44()
> [<c000ee40>] (unwind_backtrace+0x0/0xf8) from [<c0017888>] (warn_slowpath_common+0x50/0x64)
> [<c0017888>] (warn_slowpath_common+0x50/0x64) from [<c0017950>] (warn_slowpath_null+0x1c/0x24)
> [<c0017950>] (warn_slowpath_null+0x1c/0x24) from [<c00637cc>] (irq_linear_revmap+0x3c/0x44)
> [<c00637cc>] (irq_linear_revmap+0x3c/0x44) from [<c00638b8>] (irq_create_mapping+0x20/0x118)
> [<c00638b8>] (irq_create_mapping+0x20/0x118) from [<c0063a2c>] (irq_create_of_mapping+0x7c/0x100)
> [<c0063a2c>] (irq_create_of_mapping+0x7c/0x100) from [<c022888c>] (irq_of_parse_and_map+0x30/0x38)
> [<c022888c>] (irq_of_parse_and_map+0x30/0x38) from [<c02288ac>] (of_irq_to_resource+0x18/0x74)
> [<c02288ac>] (of_irq_to_resource+0x18/0x74) from [<c02289b4>] (of_irq_to_resource_table+0x78/0x94)
> [<c02289b4>] (of_irq_to_resource_table+0x78/0x94) from [<c0229130>] (of_device_alloc+0x154/0x248)
> [<c0229130>] (of_device_alloc+0x154/0x248) from [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80)
> [<c0229260>] (of_platform_device_create_pdata+0x3c/0x80) from [<c0229378>] (of_platform_bus_create+0xd4/0x178)
> [<c0229378>] (of_platform_bus_create+0xd4/0x178) from [<c0229558>] (of_platform_populate+0x60/0x98)
> [<c0229558>] (of_platform_populate+0x60/0x98) from [<c0387714>] (customize_machine+0x20/0x28)
> [<c0387714>] (customize_machine+0x20/0x28) from [<c0385888>] (do_one_initcall+0xa0/0x16c)
> [<c0385888>] (do_one_initcall+0xa0/0x16c) from [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0)
> [<c0385a80>] (kernel_init_freeable+0x12c/0x1d0) from [<c02d39f8>] (kernel_init+0x8/0xe8)
> [<c02d39f8>] (kernel_init+0x8/0xe8) from [<c0009e98>] (ret_from_fork+0x14/0x3c)
> ---[ end trace a30592ddc904989a ]---
> No ATAGs?
> bio: create slab <bio-0> at 0
> SCSI subsystem initialized
> libata version 3.00 loaded.
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> sh_tmu sh_tmu.0: used for clock events
> sh_tmu sh_tmu.0: used for periodic clock events
> sh_tmu sh_tmu.1: used as clock source
> Switching to clocksource sh_tmu.1
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
>  dummy_timer is not functional.
>  dummy_timer is not functional.
> Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
>  dummy_timer is not functional.
> NET: Registered protocol family 2
> TCP established hash table entries: 8192 (order: 4, 65536 bytes)
> TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
> TCP: Hash tables configured (established 8192 bind 8192)
> TCP: reno registered
> UDP hash table entries: 512 (order: 2, 16384 bytes)
> UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
> NET: Registered protocol family 1
> RPC: Registered named UNIX socket transport module.
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> bounce pool size: 64 pages
> Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
> io scheduler noop registered
> io scheduler deadline registered (default)
> gpio_rcar gpio_rcar.0: driving 32 GPIOs
> gpio_rcar gpio_rcar.1: driving 32 GPIOs
> gpio_rcar gpio_rcar.2: driving 32 GPIOs
> gpio_rcar gpio_rcar.3: driving 32 GPIOs
> gpio_rcar gpio_rcar.4: driving 32 GPIOs
> gpio_rcar gpio_rcar.5: driving 32 GPIOs
> gpio_rcar gpio_rcar.6: driving 9 GPIOs
> SuperH SCI(F) driver initialized
> sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
> sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
> sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
> console [ttySC2] enabled
> sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
> sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
> sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
> scsi0 : sata_rcar
> ata1: SATA max UDMA/133 irq 132
> smsc911x: Driver version 2008-10-21
> libphy: smsc911x-mdio: probed
> smsc911x 18000000.lan0 eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=18000000.lan0-ff:01, irq=-1)
> smsc911x 18000000.lan0 eth0: MAC Address: 2e:09:0a:00:3c:de
> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> ehci-platform: EHCI generic platform driver
> ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> Initializing USB Mass Storage driver...
> usbcore: registered new interface driver usb-storage
> USB Mass Storage support registered.
> rcar_thermal ffc48000.thermal: 1 sensor proved
> usbcore: registered new interface driver usbhid
> usbhid: USB HID core driver
> TCP: cubic registered
> ata1: link resume succeeded after 1 retries
> ata1: SATA link down (SStatus 0 SControl 300)
> smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 257)
> IP-Config: Failed to open eth0
> IP-Config: No network devices available
> 
> Freeing init memory: 2916K
> 
> 
> boot (Linux 3.9.0-rc2-00003-gd779a6cb-dirty, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
> / # 
> / # cat /proc/interrupts 
>            CPU0       CPU1       CPU2       CPU3       
>  59:          0          0          0          0       GIC  fe78001c.irqpin
>  60:          0          0          0          0       GIC  fe78001c.irqpin
>  61:          0          0          0          0       GIC  fe78001c.irqpin
>  62:          0          0          0          0       GIC  fe78001c.irqpin
>  64:       8493          0          0          0       GIC  sh_tmu.0
> 122:         48          0          0          0       GIC  sh-sci.2:mux
> 132:          0          0          0          0       GIC  sata_rcar
> 173:          0          0          0          0       GIC  gpio_rcar.0
> 174:          0          0          0          0       GIC  gpio_rcar.1
> 175:          0          0          0          0       GIC  gpio_rcar.2
> 176:          0          0          0          0       GIC  gpio_rcar.3
> 177:          0          0          0          0       GIC  gpio_rcar.4
> 178:          0          0          0          0       GIC  gpio_rcar.5
> 179:          0          0          0          0       GIC  gpio_rcar.6
> 257:          0          0          0          0  fe78001c.irqpin  eth0
> IPI0:          0          0          0          0  CPU wakeup interrupts
> IPI1:          0       7869       8493       8487  Timer broadcast interrupts
> IPI2:        446        503         73         46  Rescheduling interrupts
> IPI3:         21         37         54         56  Function call interrupts
> IPI4:          0          0          0          0  Single function call interrupts
> IPI5:          0          0          0          0  CPU stop interrupts
> Err:          0
> / # 
> 
> Boot log and /proc/interrupts with LAN patch (version without LAN patch is below):
> 
> Booting Linux on physical CPU 0x0
> Linux version 3.9.0-rc2-00003-gd779a6cb (horms at ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1435 SMP Thu Apr 4 12:51:52 JST 2013
> CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d
> CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> Machine: marzen, model: marzen
> debug: ignoring loglevel setting.
> Memory policy: ECC disabled, Data cache writealloc
> On node 0 totalpages: 262144
> free_area_init_node: node 0, pgdat c0683b00, node_mem_map c08fb000
>   Normal zone: 1520 pages used for memmap
>   Normal zone: 0 pages reserved
>   Normal zone: 194560 pages, LIFO batch:31
>   HighMem zone: 528 pages used for memmap
>   HighMem zone: 67584 pages, LIFO batch:15
> PERCPU: Embedded 5 pages/cpu @c1103000 s6848 r0 d13632 u32768
> pcpu-alloc: s6848 r0 d13632 u32768 alloc=8*4096
> pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
> Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
> PID hash table entries: 4096 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> __ex_table already sorted, skipping sort
> Memory: 1024MB = 1024MB total
> Memory: 1032628k/1032628k available, 15948k reserved, 270336K highmem
> Virtual kernel memory layout:
>     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
>     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
>     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
>     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
>     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
>       .text : 0xc0008000 - 0xc0384e4c   (3572 kB)
>       .init : 0xc0385000 - 0xc065eac0   (2919 kB)
>       .data : 0xc0660000 - 0xc06846c0   ( 146 kB)
>        .bss : 0xc06846c0 - 0xc06af174   ( 171 kB)
> Hierarchical RCU implementation.
> NR_IRQS:16 nr_irqs:16 16
> sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
> Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=488000)
> pid_max: default: 32768 minimum: 301
> Mount-cache hash table entries: 512
> CPU: Testing write buffer coherency: ok
> Setting up static identity map for 0xc02df328 - 0xc02df380
> CPU1: Booted secondary processor
> CPU2: Booted secondary processor
> CPU3: Booted secondary processor
> Brought up 4 CPUs
> SMP: Total of 4 processors activated (4000.00 BogoMIPS).
> CPU: All CPU(s) started in SVC mode.
> devtmpfs: initialized
> pinctrl core: initialized pinctrl subsystem
> NET: Registered protocol family 16
> DMA: preallocated 256 KiB pool for atomic coherent allocations
> sh-pfc pfc-r8a7779: r8a7779_pfc support registered
> renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
> No ATAGs?
> bio: create slab <bio-0> at 0
> SCSI subsystem initialized
> libata version 3.00 loaded.
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> sh_tmu sh_tmu.0: used for clock events
> sh_tmu sh_tmu.0: used for periodic clock events
> sh_tmu sh_tmu.1: used as clock source
> Switching to clocksource sh_tmu.1
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
> Clockevents: could not switch to one-shot mode:
>  dummy_timer is not functional.
>  dummy_timer is not functional.
> Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
>  dummy_timer is not functional.
> NET: Registered protocol family 2
> TCP established hash table entries: 8192 (order: 4, 65536 bytes)
> TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
> TCP: Hash tables configured (established 8192 bind 8192)
> TCP: reno registered
> UDP hash table entries: 512 (order: 2, 16384 bytes)
> UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
> NET: Registered protocol family 1
> RPC: Registered named UNIX socket transport module.
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> bounce pool size: 64 pages
> Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
> io scheduler noop registered
> io scheduler deadline registered (default)
> gpio_rcar gpio_rcar.0: driving 32 GPIOs
> gpio_rcar gpio_rcar.1: driving 32 GPIOs
> gpio_rcar gpio_rcar.2: driving 32 GPIOs
> gpio_rcar gpio_rcar.3: driving 32 GPIOs
> gpio_rcar gpio_rcar.4: driving 32 GPIOs
> gpio_rcar gpio_rcar.5: driving 32 GPIOs
> gpio_rcar gpio_rcar.6: driving 9 GPIOs
> SuperH SCI(F) driver initialized
> sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
> sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
> sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
> console [ttySC2] enabled
> sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
> sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
> sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
> scsi0 : sata_rcar
> ata1: SATA max UDMA/133 irq 132
> smsc911x: Driver version 2008-10-21
> genirq: Flags mismatch irq 60. 00000080 (eth%d) vs. 00000000 (fe78001c.irqpin)
> smsc911x: probe of 18000000.lan0 failed with error -16
> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> ehci-platform: EHCI generic platform driver
> ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> Initializing USB Mass Storage driver...
> usbcore: registered new interface driver usb-storage
> USB Mass Storage support registered.
> rcar_thermal ffc48000.thermal: 1 sensor proved
> usbcore: registered new interface driver usbhid
> usbhid: USB HID core driver
> TCP: cubic registered
> ata1: link resume succeeded after 1 retries
> ata1: SATA link down (SStatus 0 SControl 300)
> Freeing init memory: 2916K
> 
> 
> boot (Linux 3.9.0-rc2-00003-gd779a6cb, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
> / # cat /proc/interrupts 
>            CPU0       CPU1       CPU2       CPU3       
>  59:          0          0          0          0       GIC  fe78001c.irqpin
>  60:          0          0          0          0       GIC  fe78001c.irqpin
>  61:          0          0          0          0       GIC  fe78001c.irqpin
>  62:          0          0          0          0       GIC  fe78001c.irqpin
>  64:      49198          0          0          0       GIC  sh_tmu.0
> 122:         45          0          0          0       GIC  sh-sci.2:mux
> 132:          0          0          0          0       GIC  sata_rcar
> 173:          0          0          0          0       GIC  gpio_rcar.0
> 174:          0          0          0          0       GIC  gpio_rcar.1
> 175:          0          0          0          0       GIC  gpio_rcar.2
> 176:          0          0          0          0       GIC  gpio_rcar.3
> 177:          0          0          0          0       GIC  gpio_rcar.4
> 178:          0          0          0          0       GIC  gpio_rcar.5
> 179:          0          0          0          0       GIC  gpio_rcar.6
> IPI0:          0          0          0          0  CPU wakeup interrupts
> IPI1:          0      49192      49198      48802  Timer broadcast interrupts
> IPI2:        437        478         87         88  Rescheduling interrupts
> IPI3:         56         37         36         39  Function call interrupts
> IPI4:          0          0          0          0  Single function call interrupts
> IPI5:          0          0          0          0  CPU stop interrupts
> Err:  
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
  2013-04-04 21:47     ` Guennadi Liakhovetski
  (?)
@ 2013-04-05  1:44       ` Simon Horman
  -1 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-05  1:44 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> Hi Simon
> 
> On Thu, 4 Apr 2013, Simon Horman wrote:
> 
> > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > Hi
> > > 
> > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > compile-tested due to the lack of hardware. The patches can go 
> > > independently via their respective trees. irqpin on marzen will not work 
> > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > using irqpin interrupts, no breakage will be caused.
> > 
> > I have applied both patches and the dependency I mention below.
> > I have also applied the small patch, inlined below, to hook-up
> > the LAN controller. Unfortunately it doesn't seem to be receiving
> > any interrupts. Perhaps I am missing something?
> 
> Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> that mapping would look like.

Thanks!

0 seems to be the lucky number, I have SMSC (and NFS root) working
on marzen-reference.

I have posted "ARM: shmobile: marzen-reference: use irqpin for lan"

> > > Guennadi Liakhovetski (2):
> > >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> > 
> > The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> > spurious interrupts in DT case", right?
> 
> Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
> is needed for r8a7779. But the latter won't apply without the former, 
> that's right.

Thanks, could you reposts this series rebase so that it doesn't require
""[1/3] ARM: shmobile: irqpin: fix handling of spurious interrupts in DT case"
to apply cleanly.

Feel free to break the creation of
Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
into a separate patch.

Please add "ARM: shmobile: marzen-reference: use irqpin for lan" to
the end of the series with an Ack if you have no objections to it.

> > Has there been any progress in your
> > discussions with Magnus about what to do about that patch?
> 
> No, not yet.

Thanks, understood.

And thanks doubly for this series.
It is very nice to have bouth irqpin and ethernet working on
marzen-reference.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-05  1:44       ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-05  1:44 UTC (permalink / raw)
  To: Guennadi Liakhovetski
  Cc: linux-sh, Magnus Damm, devicetree-discuss, Thomas Gleixner,
	linux-arm-kernel

On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> Hi Simon
> 
> On Thu, 4 Apr 2013, Simon Horman wrote:
> 
> > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > Hi
> > > 
> > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > compile-tested due to the lack of hardware. The patches can go 
> > > independently via their respective trees. irqpin on marzen will not work 
> > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > using irqpin interrupts, no breakage will be caused.
> > 
> > I have applied both patches and the dependency I mention below.
> > I have also applied the small patch, inlined below, to hook-up
> > the LAN controller. Unfortunately it doesn't seem to be receiving
> > any interrupts. Perhaps I am missing something?
> 
> Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> that mapping would look like.

Thanks!

0 seems to be the lucky number, I have SMSC (and NFS root) working
on marzen-reference.

I have posted "ARM: shmobile: marzen-reference: use irqpin for lan"

> > > Guennadi Liakhovetski (2):
> > >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> > 
> > The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> > spurious interrupts in DT case", right?
> 
> Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
> is needed for r8a7779. But the latter won't apply without the former, 
> that's right.

Thanks, could you reposts this series rebase so that it doesn't require
""[1/3] ARM: shmobile: irqpin: fix handling of spurious interrupts in DT case"
to apply cleanly.

Feel free to break the creation of
Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
into a separate patch.

Please add "ARM: shmobile: marzen-reference: use irqpin for lan" to
the end of the series with an Ack if you have no objections to it.

> > Has there been any progress in your
> > discussions with Magnus about what to do about that patch?
> 
> No, not yet.

Thanks, understood.

And thanks doubly for this series.
It is very nice to have bouth irqpin and ethernet working on
marzen-reference.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-05  1:44       ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-05  1:44 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> Hi Simon
> 
> On Thu, 4 Apr 2013, Simon Horman wrote:
> 
> > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > Hi
> > > 
> > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > compile-tested due to the lack of hardware. The patches can go 
> > > independently via their respective trees. irqpin on marzen will not work 
> > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > using irqpin interrupts, no breakage will be caused.
> > 
> > I have applied both patches and the dependency I mention below.
> > I have also applied the small patch, inlined below, to hook-up
> > the LAN controller. Unfortunately it doesn't seem to be receiving
> > any interrupts. Perhaps I am missing something?
> 
> Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> that mapping would look like.

Thanks!

0 seems to be the lucky number, I have SMSC (and NFS root) working
on marzen-reference.

I have posted "ARM: shmobile: marzen-reference: use irqpin for lan"

> > > Guennadi Liakhovetski (2):
> > >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> > 
> > The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> > spurious interrupts in DT case", right?
> 
> Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
> is needed for r8a7779. But the latter won't apply without the former, 
> that's right.

Thanks, could you reposts this series rebase so that it doesn't require
""[1/3] ARM: shmobile: irqpin: fix handling of spurious interrupts in DT case"
to apply cleanly.

Feel free to break the creation of
Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
into a separate patch.

Please add "ARM: shmobile: marzen-reference: use irqpin for lan" to
the end of the series with an Ack if you have no objections to it.

> > Has there been any progress in your
> > discussions with Magnus about what to do about that patch?
> 
> No, not yet.

Thanks, understood.

And thanks doubly for this series.
It is very nice to have bouth irqpin and ethernet working on
marzen-reference.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
  2013-04-05  1:44       ` Simon Horman
  (?)
@ 2013-04-05  2:13         ` Simon Horman
  -1 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-05  2:13 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Apr 05, 2013 at 10:44:29AM +0900, Simon Horman wrote:
> On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> > Hi Simon
> > 
> > On Thu, 4 Apr 2013, Simon Horman wrote:
> > 
> > > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > > Hi
> > > > 
> > > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > > compile-tested due to the lack of hardware. The patches can go 
> > > > independently via their respective trees. irqpin on marzen will not work 
> > > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > > using irqpin interrupts, no breakage will be caused.
> > > 
> > > I have applied both patches and the dependency I mention below.
> > > I have also applied the small patch, inlined below, to hook-up
> > > the LAN controller. Unfortunately it doesn't seem to be receiving
> > > any interrupts. Perhaps I am missing something?
> > 
> > Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> > strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> > that mapping would look like.
> 
> Thanks!
> 
> 0 seems to be the lucky number, I have SMSC (and NFS root) working
> on marzen-reference.

s/0/1/

> I have posted "ARM: shmobile: marzen-reference: use irqpin for lan"
> 
> > > > Guennadi Liakhovetski (2):
> > > >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> > > 
> > > The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> > > spurious interrupts in DT case", right?
> > 
> > Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
> > is needed for r8a7779. But the latter won't apply without the former, 
> > that's right.
> 
> Thanks, could you reposts this series rebase so that it doesn't require
> ""[1/3] ARM: shmobile: irqpin: fix handling of spurious interrupts in DT case"
> to apply cleanly.
> 
> Feel free to break the creation of
> Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
> into a separate patch.
> 
> Please add "ARM: shmobile: marzen-reference: use irqpin for lan" to
> the end of the series with an Ack if you have no objections to it.
> 
> > > Has there been any progress in your
> > > discussions with Magnus about what to do about that patch?
> > 
> > No, not yet.
> 
> Thanks, understood.
> 
> And thanks doubly for this series.
> It is very nice to have bouth irqpin and ethernet working on
> marzen-reference.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-05  2:13         ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-05  2:13 UTC (permalink / raw)
  To: Guennadi Liakhovetski
  Cc: linux-sh, Magnus Damm, devicetree-discuss, Thomas Gleixner,
	linux-arm-kernel

On Fri, Apr 05, 2013 at 10:44:29AM +0900, Simon Horman wrote:
> On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> > Hi Simon
> > 
> > On Thu, 4 Apr 2013, Simon Horman wrote:
> > 
> > > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > > Hi
> > > > 
> > > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > > compile-tested due to the lack of hardware. The patches can go 
> > > > independently via their respective trees. irqpin on marzen will not work 
> > > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > > using irqpin interrupts, no breakage will be caused.
> > > 
> > > I have applied both patches and the dependency I mention below.
> > > I have also applied the small patch, inlined below, to hook-up
> > > the LAN controller. Unfortunately it doesn't seem to be receiving
> > > any interrupts. Perhaps I am missing something?
> > 
> > Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> > strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> > that mapping would look like.
> 
> Thanks!
> 
> 0 seems to be the lucky number, I have SMSC (and NFS root) working
> on marzen-reference.

s/0/1/

> I have posted "ARM: shmobile: marzen-reference: use irqpin for lan"
> 
> > > > Guennadi Liakhovetski (2):
> > > >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> > > 
> > > The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> > > spurious interrupts in DT case", right?
> > 
> > Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
> > is needed for r8a7779. But the latter won't apply without the former, 
> > that's right.
> 
> Thanks, could you reposts this series rebase so that it doesn't require
> ""[1/3] ARM: shmobile: irqpin: fix handling of spurious interrupts in DT case"
> to apply cleanly.
> 
> Feel free to break the creation of
> Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
> into a separate patch.
> 
> Please add "ARM: shmobile: marzen-reference: use irqpin for lan" to
> the end of the series with an Ack if you have no objections to it.
> 
> > > Has there been any progress in your
> > > discussions with Magnus about what to do about that patch?
> > 
> > No, not yet.
> 
> Thanks, understood.
> 
> And thanks doubly for this series.
> It is very nice to have bouth irqpin and ethernet working on
> marzen-reference.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-05  2:13         ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-05  2:13 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Apr 05, 2013 at 10:44:29AM +0900, Simon Horman wrote:
> On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> > Hi Simon
> > 
> > On Thu, 4 Apr 2013, Simon Horman wrote:
> > 
> > > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > > Hi
> > > > 
> > > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > > compile-tested due to the lack of hardware. The patches can go 
> > > > independently via their respective trees. irqpin on marzen will not work 
> > > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > > using irqpin interrupts, no breakage will be caused.
> > > 
> > > I have applied both patches and the dependency I mention below.
> > > I have also applied the small patch, inlined below, to hook-up
> > > the LAN controller. Unfortunately it doesn't seem to be receiving
> > > any interrupts. Perhaps I am missing something?
> > 
> > Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> > strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> > that mapping would look like.
> 
> Thanks!
> 
> 0 seems to be the lucky number, I have SMSC (and NFS root) working
> on marzen-reference.

s/0/1/

> I have posted "ARM: shmobile: marzen-reference: use irqpin for lan"
> 
> > > > Guennadi Liakhovetski (2):
> > > >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> > > 
> > > The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> > > spurious interrupts in DT case", right?
> > 
> > Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
> > is needed for r8a7779. But the latter won't apply without the former, 
> > that's right.
> 
> Thanks, could you reposts this series rebase so that it doesn't require
> ""[1/3] ARM: shmobile: irqpin: fix handling of spurious interrupts in DT case"
> to apply cleanly.
> 
> Feel free to break the creation of
> Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
> into a separate patch.
> 
> Please add "ARM: shmobile: marzen-reference: use irqpin for lan" to
> the end of the series with an Ack if you have no objections to it.
> 
> > > Has there been any progress in your
> > > discussions with Magnus about what to do about that patch?
> > 
> > No, not yet.
> 
> Thanks, understood.
> 
> And thanks doubly for this series.
> It is very nice to have bouth irqpin and ethernet working on
> marzen-reference.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
  2013-04-05  2:13         ` Simon Horman
  (?)
@ 2013-04-10  1:08           ` Simon Horman
  -1 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-10  1:08 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Apr 05, 2013 at 11:13:39AM +0900, Simon Horman wrote:
> On Fri, Apr 05, 2013 at 10:44:29AM +0900, Simon Horman wrote:
> > On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> > > Hi Simon
> > > 
> > > On Thu, 4 Apr 2013, Simon Horman wrote:
> > > 
> > > > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > > > Hi
> > > > > 
> > > > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > > > compile-tested due to the lack of hardware. The patches can go 
> > > > > independently via their respective trees. irqpin on marzen will not work 
> > > > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > > > using irqpin interrupts, no breakage will be caused.
> > > > 
> > > > I have applied both patches and the dependency I mention below.
> > > > I have also applied the small patch, inlined below, to hook-up
> > > > the LAN controller. Unfortunately it doesn't seem to be receiving
> > > > any interrupts. Perhaps I am missing something?
> > > 
> > > Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> > > strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> > > that mapping would look like.
> > 
> > Thanks!
> > 
> > 0 seems to be the lucky number, I have SMSC (and NFS root) working
> > on marzen-reference.
> 
> s/0/1/

After all that it seems that I miss-tested the code somehow.

It turns out that 2 is the lucky number.

> > I have posted "ARM: shmobile: marzen-reference: use irqpin for lan"
> > 
> > > > > Guennadi Liakhovetski (2):
> > > > >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> > > > 
> > > > The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> > > > spurious interrupts in DT case", right?
> > > 
> > > Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
> > > is needed for r8a7779. But the latter won't apply without the former, 
> > > that's right.
> > 
> > Thanks, could you reposts this series rebase so that it doesn't require
> > ""[1/3] ARM: shmobile: irqpin: fix handling of spurious interrupts in DT case"
> > to apply cleanly.
> > 
> > Feel free to break the creation of
> > Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
> > into a separate patch.
> > 
> > Please add "ARM: shmobile: marzen-reference: use irqpin for lan" to
> > the end of the series with an Ack if you have no objections to it.
> > 
> > > > Has there been any progress in your
> > > > discussions with Magnus about what to do about that patch?
> > > 
> > > No, not yet.
> > 
> > Thanks, understood.
> > 
> > And thanks doubly for this series.
> > It is very nice to have bouth irqpin and ethernet working on
> > marzen-reference.
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-10  1:08           ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-10  1:08 UTC (permalink / raw)
  To: Guennadi Liakhovetski
  Cc: linux-sh, Magnus Damm, devicetree-discuss, Thomas Gleixner,
	linux-arm-kernel

On Fri, Apr 05, 2013 at 11:13:39AM +0900, Simon Horman wrote:
> On Fri, Apr 05, 2013 at 10:44:29AM +0900, Simon Horman wrote:
> > On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> > > Hi Simon
> > > 
> > > On Thu, 4 Apr 2013, Simon Horman wrote:
> > > 
> > > > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > > > Hi
> > > > > 
> > > > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > > > compile-tested due to the lack of hardware. The patches can go 
> > > > > independently via their respective trees. irqpin on marzen will not work 
> > > > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > > > using irqpin interrupts, no breakage will be caused.
> > > > 
> > > > I have applied both patches and the dependency I mention below.
> > > > I have also applied the small patch, inlined below, to hook-up
> > > > the LAN controller. Unfortunately it doesn't seem to be receiving
> > > > any interrupts. Perhaps I am missing something?
> > > 
> > > Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> > > strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> > > that mapping would look like.
> > 
> > Thanks!
> > 
> > 0 seems to be the lucky number, I have SMSC (and NFS root) working
> > on marzen-reference.
> 
> s/0/1/

After all that it seems that I miss-tested the code somehow.

It turns out that 2 is the lucky number.

> > I have posted "ARM: shmobile: marzen-reference: use irqpin for lan"
> > 
> > > > > Guennadi Liakhovetski (2):
> > > > >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> > > > 
> > > > The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> > > > spurious interrupts in DT case", right?
> > > 
> > > Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
> > > is needed for r8a7779. But the latter won't apply without the former, 
> > > that's right.
> > 
> > Thanks, could you reposts this series rebase so that it doesn't require
> > ""[1/3] ARM: shmobile: irqpin: fix handling of spurious interrupts in DT case"
> > to apply cleanly.
> > 
> > Feel free to break the creation of
> > Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
> > into a separate patch.
> > 
> > Please add "ARM: shmobile: marzen-reference: use irqpin for lan" to
> > the end of the series with an Ack if you have no objections to it.
> > 
> > > > Has there been any progress in your
> > > > discussions with Magnus about what to do about that patch?
> > > 
> > > No, not yet.
> > 
> > Thanks, understood.
> > 
> > And thanks doubly for this series.
> > It is very nice to have bouth irqpin and ethernet working on
> > marzen-reference.
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-10  1:08           ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-10  1:08 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Apr 05, 2013 at 11:13:39AM +0900, Simon Horman wrote:
> On Fri, Apr 05, 2013 at 10:44:29AM +0900, Simon Horman wrote:
> > On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> > > Hi Simon
> > > 
> > > On Thu, 4 Apr 2013, Simon Horman wrote:
> > > 
> > > > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > > > Hi
> > > > > 
> > > > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > > > compile-tested due to the lack of hardware. The patches can go 
> > > > > independently via their respective trees. irqpin on marzen will not work 
> > > > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > > > using irqpin interrupts, no breakage will be caused.
> > > > 
> > > > I have applied both patches and the dependency I mention below.
> > > > I have also applied the small patch, inlined below, to hook-up
> > > > the LAN controller. Unfortunately it doesn't seem to be receiving
> > > > any interrupts. Perhaps I am missing something?
> > > 
> > > Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> > > strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> > > that mapping would look like.
> > 
> > Thanks!
> > 
> > 0 seems to be the lucky number, I have SMSC (and NFS root) working
> > on marzen-reference.
> 
> s/0/1/

After all that it seems that I miss-tested the code somehow.

It turns out that 2 is the lucky number.

> > I have posted "ARM: shmobile: marzen-reference: use irqpin for lan"
> > 
> > > > > Guennadi Liakhovetski (2):
> > > > >       irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
> > > > 
> > > > The above patch depends on "[1/3] ARM: shmobile: irqpin: fix handling of
> > > > spurious interrupts in DT case", right?
> > > 
> > > Not functionally. Spurious interrupts occur on sh73a0, the sense bitfield 
> > > is needed for r8a7779. But the latter won't apply without the former, 
> > > that's right.
> > 
> > Thanks, could you reposts this series rebase so that it doesn't require
> > ""[1/3] ARM: shmobile: irqpin: fix handling of spurious interrupts in DT case"
> > to apply cleanly.
> > 
> > Feel free to break the creation of
> > Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
> > into a separate patch.
> > 
> > Please add "ARM: shmobile: marzen-reference: use irqpin for lan" to
> > the end of the series with an Ack if you have no objections to it.
> > 
> > > > Has there been any progress in your
> > > > discussions with Magnus about what to do about that patch?
> > > 
> > > No, not yet.
> > 
> > Thanks, understood.
> > 
> > And thanks doubly for this series.
> > It is very nice to have bouth irqpin and ethernet working on
> > marzen-reference.
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> > the body of a message to majordomo at vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 2/2] ARM: shmobile: marzen-reference: add irqpin support in DT
  2013-04-03  9:19   ` Guennadi Liakhovetski
  (?)
@ 2013-04-10  1:11     ` Simon Horman
  -1 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-10  1:11 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 03, 2013 at 11:19:07AM +0200, Guennadi Liakhovetski wrote:
> Add an irqpin interrupt controller DT node on marzen-reference.
> 
> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>

Thanks, queued up in the boards-marzen branch.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 2/2] ARM: shmobile: marzen-reference: add irqpin support in DT
@ 2013-04-10  1:11     ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-10  1:11 UTC (permalink / raw)
  To: Guennadi Liakhovetski
  Cc: linux-sh, Magnus Damm, devicetree-discuss, Thomas Gleixner,
	linux-arm-kernel

On Wed, Apr 03, 2013 at 11:19:07AM +0200, Guennadi Liakhovetski wrote:
> Add an irqpin interrupt controller DT node on marzen-reference.
> 
> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>

Thanks, queued up in the boards-marzen branch.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH/RFC 2/2] ARM: shmobile: marzen-reference: add irqpin support in DT
@ 2013-04-10  1:11     ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-10  1:11 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 03, 2013 at 11:19:07AM +0200, Guennadi Liakhovetski wrote:
> Add an irqpin interrupt controller DT node on marzen-reference.
> 
> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>

Thanks, queued up in the boards-marzen branch.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
  2013-04-10  1:08           ` Simon Horman
  (?)
@ 2013-04-10  1:35             ` Simon Horman
  -1 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-10  1:35 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 10, 2013 at 10:08:18AM +0900, Simon Horman wrote:
> On Fri, Apr 05, 2013 at 11:13:39AM +0900, Simon Horman wrote:
> > On Fri, Apr 05, 2013 at 10:44:29AM +0900, Simon Horman wrote:
> > > On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> > > > Hi Simon
> > > > 
> > > > On Thu, 4 Apr 2013, Simon Horman wrote:
> > > > 
> > > > > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > > > > Hi
> > > > > > 
> > > > > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > > > > compile-tested due to the lack of hardware. The patches can go 
> > > > > > independently via their respective trees. irqpin on marzen will not work 
> > > > > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > > > > using irqpin interrupts, no breakage will be caused.
> > > > > 
> > > > > I have applied both patches and the dependency I mention below.
> > > > > I have also applied the small patch, inlined below, to hook-up
> > > > > the LAN controller. Unfortunately it doesn't seem to be receiving
> > > > > any interrupts. Perhaps I am missing something?
> > > > 
> > > > Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> > > > strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> > > > that mapping would look like.
> > > 
> > > Thanks!
> > > 
> > > 0 seems to be the lucky number, I have SMSC (and NFS root) working
> > > on marzen-reference.
> > 
> > s/0/1/
> 
> After all that it seems that I miss-tested the code somehow.
> 
> It turns out that 2 is the lucky number.

My, what a mess I have made.

It seems that I miss-tested again (using non-reference boot instead
of reference boot).

Unfortunately I am not able to get the NIC running after all.


Booting Linux on physical CPU 0x0
Linux version 3.9.0-rc2-00004-gb1480a8 (horms@ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1642 SMP Wed Apr 10 10:28:59 JST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr\x10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: marzen, model: marzen
debug: ignoring loglevel setting.
Memory policy: ECC disabled, Data cache writealloc
On node 0 totalpages: 262144
free_area_init_node: node 0, pgdat c0534c00, node_mem_map c082b000
  Normal zone: 1520 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 194560 pages, LIFO batch:31
  HighMem zone: 528 pages used for memmap
  HighMem zone: 67584 pages, LIFO batch:15
PERCPU: Embedded 5 pages/cpu @c1033000 s6720 r0 d13760 u32768
pcpu-alloc: s6720 r0 d13760 u32768 alloc=8*4096
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
__ex_table already sorted, skipping sort
Memory: 1024MB = 1024MB total
Memory: 1033972k/1033972k available, 14604k reserved, 270336K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
      .text : 0xc0008000 - 0xc037fc60   (3552 kB)
      .init : 0xc0380000 - 0xc0511a40   (1607 kB)
      .data : 0xc0512000 - 0xc05357c0   ( 142 kB)
       .bss : 0xc05357c0 - 0xc0560274   ( 171 kB)
Hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpjH8000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc02db328 - 0xc02db380
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (4000.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
sh-pfc pfc-r8a7779: r8a7779_pfc support registered
renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
No ATAGs?
bio: create slab <bio-0> at 0
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
sh_tmu sh_tmu.0: Runtime PM disabled, clock forced on.
sh_tmu sh_tmu.0: used for clock events
sh_tmu sh_tmu.0: used for periodic clock events
sh_tmu sh_tmu.1: Runtime PM disabled, clock forced on.
sh_tmu sh_tmu.1: used as clock source
Switching to clocksource sh_tmu.1
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
 dummy_timer is not functional.
 dummy_timer is not functional.
Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
 dummy_timer is not functional.
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
bounce pool size: 64 pages
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered (default)
gpio_rcar gpio_rcar.0: driving 32 GPIOs
gpio_rcar gpio_rcar.1: driving 32 GPIOs
gpio_rcar gpio_rcar.2: driving 32 GPIOs
gpio_rcar gpio_rcar.3: driving 32 GPIOs
gpio_rcar gpio_rcar.4: driving 32 GPIOs
gpio_rcar gpio_rcar.5: driving 32 GPIOs
gpio_rcar gpio_rcar.6: driving 9 GPIOs
SuperH SCI(F) driver initialized
sh-sci sh-sci.0: Runtime PM disabled, clock forced on.
sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
sh-sci sh-sci.1: Runtime PM disabled, clock forced on.
sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
sh-sci sh-sci.2: Runtime PM disabled, clock forced on.
sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
console [ttySC2] enabled
sh-sci sh-sci.3: Runtime PM disabled, clock forced on.
sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
sh-sci sh-sci.4: Runtime PM disabled, clock forced on.
sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
sh-sci sh-sci.5: Runtime PM disabled, clock forced on.
sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
sata_rcar fc600000.sata: Runtime PM disabled, clock forced on.
scsi0 : sata_rcar
ata1: SATA max UDMA/133 irq 132
smsc911x: Driver version 2008-10-21
libphy: smsc911x-mdio: probed
smsc911x 18000000.lan0 eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr\x18000000.lan0-ff:01, irq=-1)
smsc911x 18000000.lan0 eth0: MAC Address: 2e:09:0a:00:3c:de
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-platform: EHCI generic platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
rcar_thermal ffc48000.thermal: 1 sensor proved
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
ata1: link resume succeeded after 1 retries
ata1: SATA link down (SStatus 0 SControl 300)
smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 256)
IP-Config: Failed to open eth0
IP-Config: No network devices available
Freeing init memory: 1604K


boot (Linux 3.9.0-rc2-00004-gb1480a8, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
/ # ip link set up dev eth0
smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 256)
ip: SIOCSIFFLAGS: No such device
/ # cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
 59:          0          0          0          0       GIC  fe78001c.irqpin
 60:          0          0          0          0       GIC  fe78001c.irqpin
 61:          0          0          0          0       GIC  fe78001c.irqpin
 62:          0          0          0          0       GIC  fe78001c.irqpin
 64:      24370          0          0          0       GIC  sh_tmu.0
122:         97          0          0          0       GIC  sh-sci.2:mux
132:          0          0          0          0       GIC  sata_rcar
173:          0          0          0          0       GIC  gpio_rcar.0
174:          0          0          0          0       GIC  gpio_rcar.1
175:          0          0          0          0       GIC  gpio_rcar.2
176:          0          0          0          0       GIC  gpio_rcar.3
177:          0          0          0          0       GIC  gpio_rcar.4
178:          0          0          0          0       GIC  gpio_rcar.5
179:          0          0          0          0       GIC  gpio_rcar.6
256:          0          0          0          0  fe78001c.irqpin  eth0
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0      24330      23977      24350  Timer broadcast interrupts
IPI2:        470        458         73         74  Rescheduling interrupts
IPI3:         56         37         40         35  Function call interrupts
IPI4:          0          0          0          0  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
Err:          0

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-10  1:35             ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-10  1:35 UTC (permalink / raw)
  To: Guennadi Liakhovetski
  Cc: linux-sh, Magnus Damm, devicetree-discuss, Thomas Gleixner,
	linux-arm-kernel

On Wed, Apr 10, 2013 at 10:08:18AM +0900, Simon Horman wrote:
> On Fri, Apr 05, 2013 at 11:13:39AM +0900, Simon Horman wrote:
> > On Fri, Apr 05, 2013 at 10:44:29AM +0900, Simon Horman wrote:
> > > On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> > > > Hi Simon
> > > > 
> > > > On Thu, 4 Apr 2013, Simon Horman wrote:
> > > > 
> > > > > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > > > > Hi
> > > > > > 
> > > > > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > > > > compile-tested due to the lack of hardware. The patches can go 
> > > > > > independently via their respective trees. irqpin on marzen will not work 
> > > > > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > > > > using irqpin interrupts, no breakage will be caused.
> > > > > 
> > > > > I have applied both patches and the dependency I mention below.
> > > > > I have also applied the small patch, inlined below, to hook-up
> > > > > the LAN controller. Unfortunately it doesn't seem to be receiving
> > > > > any interrupts. Perhaps I am missing something?
> > > > 
> > > > Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> > > > strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> > > > that mapping would look like.
> > > 
> > > Thanks!
> > > 
> > > 0 seems to be the lucky number, I have SMSC (and NFS root) working
> > > on marzen-reference.
> > 
> > s/0/1/
> 
> After all that it seems that I miss-tested the code somehow.
> 
> It turns out that 2 is the lucky number.

My, what a mess I have made.

It seems that I miss-tested again (using non-reference boot instead
of reference boot).

Unfortunately I am not able to get the NIC running after all.


Booting Linux on physical CPU 0x0
Linux version 3.9.0-rc2-00004-gb1480a8 (horms@ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1642 SMP Wed Apr 10 10:28:59 JST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: marzen, model: marzen
debug: ignoring loglevel setting.
Memory policy: ECC disabled, Data cache writealloc
On node 0 totalpages: 262144
free_area_init_node: node 0, pgdat c0534c00, node_mem_map c082b000
  Normal zone: 1520 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 194560 pages, LIFO batch:31
  HighMem zone: 528 pages used for memmap
  HighMem zone: 67584 pages, LIFO batch:15
PERCPU: Embedded 5 pages/cpu @c1033000 s6720 r0 d13760 u32768
pcpu-alloc: s6720 r0 d13760 u32768 alloc=8*4096
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
__ex_table already sorted, skipping sort
Memory: 1024MB = 1024MB total
Memory: 1033972k/1033972k available, 14604k reserved, 270336K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
      .text : 0xc0008000 - 0xc037fc60   (3552 kB)
      .init : 0xc0380000 - 0xc0511a40   (1607 kB)
      .data : 0xc0512000 - 0xc05357c0   ( 142 kB)
       .bss : 0xc05357c0 - 0xc0560274   ( 171 kB)
Hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=488000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc02db328 - 0xc02db380
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (4000.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
sh-pfc pfc-r8a7779: r8a7779_pfc support registered
renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
No ATAGs?
bio: create slab <bio-0> at 0
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
sh_tmu sh_tmu.0: Runtime PM disabled, clock forced on.
sh_tmu sh_tmu.0: used for clock events
sh_tmu sh_tmu.0: used for periodic clock events
sh_tmu sh_tmu.1: Runtime PM disabled, clock forced on.
sh_tmu sh_tmu.1: used as clock source
Switching to clocksource sh_tmu.1
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
 dummy_timer is not functional.
 dummy_timer is not functional.
Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
 dummy_timer is not functional.
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
bounce pool size: 64 pages
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered (default)
gpio_rcar gpio_rcar.0: driving 32 GPIOs
gpio_rcar gpio_rcar.1: driving 32 GPIOs
gpio_rcar gpio_rcar.2: driving 32 GPIOs
gpio_rcar gpio_rcar.3: driving 32 GPIOs
gpio_rcar gpio_rcar.4: driving 32 GPIOs
gpio_rcar gpio_rcar.5: driving 32 GPIOs
gpio_rcar gpio_rcar.6: driving 9 GPIOs
SuperH SCI(F) driver initialized
sh-sci sh-sci.0: Runtime PM disabled, clock forced on.
sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
sh-sci sh-sci.1: Runtime PM disabled, clock forced on.
sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
sh-sci sh-sci.2: Runtime PM disabled, clock forced on.
sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
console [ttySC2] enabled
sh-sci sh-sci.3: Runtime PM disabled, clock forced on.
sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
sh-sci sh-sci.4: Runtime PM disabled, clock forced on.
sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
sh-sci sh-sci.5: Runtime PM disabled, clock forced on.
sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
sata_rcar fc600000.sata: Runtime PM disabled, clock forced on.
scsi0 : sata_rcar
ata1: SATA max UDMA/133 irq 132
smsc911x: Driver version 2008-10-21
libphy: smsc911x-mdio: probed
smsc911x 18000000.lan0 eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=18000000.lan0-ff:01, irq=-1)
smsc911x 18000000.lan0 eth0: MAC Address: 2e:09:0a:00:3c:de
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-platform: EHCI generic platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
rcar_thermal ffc48000.thermal: 1 sensor proved
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
ata1: link resume succeeded after 1 retries
ata1: SATA link down (SStatus 0 SControl 300)
smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 256)
IP-Config: Failed to open eth0
IP-Config: No network devices available
Freeing init memory: 1604K


boot (Linux 3.9.0-rc2-00004-gb1480a8, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
/ # ip link set up dev eth0
smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 256)
ip: SIOCSIFFLAGS: No such device
/ # cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
 59:          0          0          0          0       GIC  fe78001c.irqpin
 60:          0          0          0          0       GIC  fe78001c.irqpin
 61:          0          0          0          0       GIC  fe78001c.irqpin
 62:          0          0          0          0       GIC  fe78001c.irqpin
 64:      24370          0          0          0       GIC  sh_tmu.0
122:         97          0          0          0       GIC  sh-sci.2:mux
132:          0          0          0          0       GIC  sata_rcar
173:          0          0          0          0       GIC  gpio_rcar.0
174:          0          0          0          0       GIC  gpio_rcar.1
175:          0          0          0          0       GIC  gpio_rcar.2
176:          0          0          0          0       GIC  gpio_rcar.3
177:          0          0          0          0       GIC  gpio_rcar.4
178:          0          0          0          0       GIC  gpio_rcar.5
179:          0          0          0          0       GIC  gpio_rcar.6
256:          0          0          0          0  fe78001c.irqpin  eth0
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0      24330      23977      24350  Timer broadcast interrupts
IPI2:        470        458         73         74  Rescheduling interrupts
IPI3:         56         37         40         35  Function call interrupts
IPI4:          0          0          0          0  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
Err:          0

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference
@ 2013-04-10  1:35             ` Simon Horman
  0 siblings, 0 replies; 30+ messages in thread
From: Simon Horman @ 2013-04-10  1:35 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 10, 2013 at 10:08:18AM +0900, Simon Horman wrote:
> On Fri, Apr 05, 2013 at 11:13:39AM +0900, Simon Horman wrote:
> > On Fri, Apr 05, 2013 at 10:44:29AM +0900, Simon Horman wrote:
> > > On Thu, Apr 04, 2013 at 11:47:05PM +0200, Guennadi Liakhovetski wrote:
> > > > Hi Simon
> > > > 
> > > > On Thu, 4 Apr 2013, Simon Horman wrote:
> > > > 
> > > > > On Wed, Apr 03, 2013 at 11:18:57AM +0200, Guennadi Liakhovetski wrote:
> > > > > > Hi
> > > > > > 
> > > > > > This 2 patches add DT irqpin support on marzen-reference. Only 
> > > > > > compile-tested due to the lack of hardware. The patches can go 
> > > > > > independently via their respective trees. irqpin on marzen will not work 
> > > > > > if patch 2 is applied before patch 1, but as long as there are no devices, 
> > > > > > using irqpin interrupts, no breakage will be caused.
> > > > > 
> > > > > I have applied both patches and the dependency I mention below.
> > > > > I have also applied the small patch, inlined below, to hook-up
> > > > > the LAN controller. Unfortunately it doesn't seem to be receiving
> > > > > any interrupts. Perhaps I am missing something?
> > > > 
> > > > Are you sure 28 is the correct number in the irqpin IRQ space? Seems 
> > > > strange to me. Should be 1 perhaps (counting from 0), or 2 - not sure how 
> > > > that mapping would look like.
> > > 
> > > Thanks!
> > > 
> > > 0 seems to be the lucky number, I have SMSC (and NFS root) working
> > > on marzen-reference.
> > 
> > s/0/1/
> 
> After all that it seems that I miss-tested the code somehow.
> 
> It turns out that 2 is the lucky number.

My, what a mess I have made.

It seems that I miss-tested again (using non-reference boot instead
of reference boot).

Unfortunately I am not able to get the NIC running after all.


Booting Linux on physical CPU 0x0
Linux version 3.9.0-rc2-00004-gb1480a8 (horms at ayumi.isobedori.kobe.vergenet.net) (gcc version 4.5.2 (Sourcery G++ Lite 2011.03-41) ) #1642 SMP Wed Apr 10 10:28:59 JST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: marzen, model: marzen
debug: ignoring loglevel setting.
Memory policy: ECC disabled, Data cache writealloc
On node 0 totalpages: 262144
free_area_init_node: node 0, pgdat c0534c00, node_mem_map c082b000
  Normal zone: 1520 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 194560 pages, LIFO batch:31
  HighMem zone: 528 pages used for memmap
  HighMem zone: 67584 pages, LIFO batch:15
PERCPU: Embedded 5 pages/cpu @c1033000 s6720 r0 d13760 u32768
pcpu-alloc: s6720 r0 d13760 u32768 alloc=8*4096
pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
Kernel command line: console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
__ex_table already sorted, skipping sort
Memory: 1024MB = 1024MB total
Memory: 1033972k/1033972k available, 14604k reserved, 270336K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
      .text : 0xc0008000 - 0xc037fc60   (3552 kB)
      .init : 0xc0380000 - 0xc0511a40   (1607 kB)
      .data : 0xc0512000 - 0xc05357c0   ( 142 kB)
       .bss : 0xc05357c0 - 0xc0560274   ( 171 kB)
Hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 1kHz, resolution 976562ns, wraps every 4194303999ms
Calibrating delay loop (skipped) preset value.. 1000.00 BogoMIPS (lpj=488000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc02db328 - 0xc02db380
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (4000.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
sh-pfc pfc-r8a7779: r8a7779_pfc support registered
renesas_intc_irqpin fe78001c.irqpin: driving 4 irqs
No ATAGs?
bio: create slab <bio-0> at 0
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
sh_tmu sh_tmu.0: Runtime PM disabled, clock forced on.
sh_tmu sh_tmu.0: used for clock events
sh_tmu sh_tmu.0: used for periodic clock events
sh_tmu sh_tmu.1: Runtime PM disabled, clock forced on.
sh_tmu sh_tmu.1: used as clock source
Switching to clocksource sh_tmu.1
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
Clockevents: could not switch to one-shot mode:
 dummy_timer is not functional.
 dummy_timer is not functional.
Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
 dummy_timer is not functional.
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
bounce pool size: 64 pages
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered (default)
gpio_rcar gpio_rcar.0: driving 32 GPIOs
gpio_rcar gpio_rcar.1: driving 32 GPIOs
gpio_rcar gpio_rcar.2: driving 32 GPIOs
gpio_rcar gpio_rcar.3: driving 32 GPIOs
gpio_rcar gpio_rcar.4: driving 32 GPIOs
gpio_rcar gpio_rcar.5: driving 32 GPIOs
gpio_rcar gpio_rcar.6: driving 9 GPIOs
SuperH SCI(F) driver initialized
sh-sci sh-sci.0: Runtime PM disabled, clock forced on.
sh-sci.0: ttySC0 at MMIO 0xffe40000 (irq = 120) is a scif
sh-sci sh-sci.1: Runtime PM disabled, clock forced on.
sh-sci.1: ttySC1 at MMIO 0xffe41000 (irq = 121) is a scif
sh-sci sh-sci.2: Runtime PM disabled, clock forced on.
sh-sci.2: ttySC2 at MMIO 0xffe42000 (irq = 122) is a scif
console [ttySC2] enabled
sh-sci sh-sci.3: Runtime PM disabled, clock forced on.
sh-sci.3: ttySC3 at MMIO 0xffe43000 (irq = 123) is a scif
sh-sci sh-sci.4: Runtime PM disabled, clock forced on.
sh-sci.4: ttySC4 at MMIO 0xffe44000 (irq = 124) is a scif
sh-sci sh-sci.5: Runtime PM disabled, clock forced on.
sh-sci.5: ttySC5 at MMIO 0xffe45000 (irq = 125) is a scif
sata_rcar fc600000.sata: Runtime PM disabled, clock forced on.
scsi0 : sata_rcar
ata1: SATA max UDMA/133 irq 132
smsc911x: Driver version 2008-10-21
libphy: smsc911x-mdio: probed
smsc911x 18000000.lan0 eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=18000000.lan0-ff:01, irq=-1)
smsc911x 18000000.lan0 eth0: MAC Address: 2e:09:0a:00:3c:de
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-platform: EHCI generic platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
rcar_thermal ffc48000.thermal: 1 sensor proved
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
ata1: link resume succeeded after 1 retries
ata1: SATA link down (SStatus 0 SControl 300)
smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 256)
IP-Config: Failed to open eth0
IP-Config: No network devices available
Freeing init memory: 1604K


boot (Linux 3.9.0-rc2-00004-gb1480a8, BusyBox v1.16.0.git, kexec-tools 2.0.1-git)
/ # ip link set up dev eth0
smsc911x 18000000.lan0 eth0: ISR failed signaling test (IRQ 256)
ip: SIOCSIFFLAGS: No such device
/ # cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
 59:          0          0          0          0       GIC  fe78001c.irqpin
 60:          0          0          0          0       GIC  fe78001c.irqpin
 61:          0          0          0          0       GIC  fe78001c.irqpin
 62:          0          0          0          0       GIC  fe78001c.irqpin
 64:      24370          0          0          0       GIC  sh_tmu.0
122:         97          0          0          0       GIC  sh-sci.2:mux
132:          0          0          0          0       GIC  sata_rcar
173:          0          0          0          0       GIC  gpio_rcar.0
174:          0          0          0          0       GIC  gpio_rcar.1
175:          0          0          0          0       GIC  gpio_rcar.2
176:          0          0          0          0       GIC  gpio_rcar.3
177:          0          0          0          0       GIC  gpio_rcar.4
178:          0          0          0          0       GIC  gpio_rcar.5
179:          0          0          0          0       GIC  gpio_rcar.6
256:          0          0          0          0  fe78001c.irqpin  eth0
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0      24330      23977      24350  Timer broadcast interrupts
IPI2:        470        458         73         74  Rescheduling interrupts
IPI3:         56         37         40         35  Function call interrupts
IPI4:          0          0          0          0  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
Err:          0

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2013-04-10  1:35 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-03  9:18 [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference Guennadi Liakhovetski
2013-04-03  9:18 ` Guennadi Liakhovetski
2013-04-03  9:18 ` Guennadi Liakhovetski
2013-04-03  9:19 ` [PATCH/RFC 1/2] irqchip: renesas-intc-irqpin: DT binding for sense bitfield width Guennadi Liakhovetski
2013-04-03  9:19   ` Guennadi Liakhovetski
2013-04-03  9:19   ` Guennadi Liakhovetski
2013-04-03  9:19 ` [PATCH/RFC 2/2] ARM: shmobile: marzen-reference: add irqpin support in DT Guennadi Liakhovetski
2013-04-03  9:19   ` Guennadi Liakhovetski
2013-04-03  9:19   ` Guennadi Liakhovetski
2013-04-10  1:11   ` Simon Horman
2013-04-10  1:11     ` Simon Horman
2013-04-10  1:11     ` Simon Horman
2013-04-04  3:54 ` [PATCH/RFC 0/2] ARM: shmobile: DT irqpin for r8a7779 and marzen-reference Simon Horman
2013-04-04  3:54   ` Simon Horman
2013-04-04  3:54   ` Simon Horman
2013-04-04 21:47   ` Guennadi Liakhovetski
2013-04-04 21:47     ` Guennadi Liakhovetski
2013-04-04 21:47     ` Guennadi Liakhovetski
2013-04-05  1:44     ` Simon Horman
2013-04-05  1:44       ` Simon Horman
2013-04-05  1:44       ` Simon Horman
2013-04-05  2:13       ` Simon Horman
2013-04-05  2:13         ` Simon Horman
2013-04-05  2:13         ` Simon Horman
2013-04-10  1:08         ` Simon Horman
2013-04-10  1:08           ` Simon Horman
2013-04-10  1:08           ` Simon Horman
2013-04-10  1:35           ` Simon Horman
2013-04-10  1:35             ` Simon Horman
2013-04-10  1:35             ` Simon Horman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.