2017-03-23 17:35:01

by Alexey Brodkin

[permalink] [raw]
Subject: [PATCH] arc: vdk: Fix support of UIO

MotherBoard section has its "ranges" set to 0xE000_0000-0xF000_0000.
But UIO node maps 4 different areas in different memory locations
and all outside MB's ranges.

That obviously breaks UIO mappings in runtime.

Signed-off-by: Alexey Brodkin <[email protected]>
Cc: Vineet Gupta <[email protected]>
Cc: Ruud Derwig <[email protected]>
Cc: [email protected]
---
arch/arc/boot/dts/vdk_axs10x_mb.dtsi | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
index f0df59b23e21..459fc656b759 100644
--- a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
+++ b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
@@ -112,13 +112,19 @@
interrupts = <7>;
bus-width = <4>;
};
+ };

- /* Embedded Vision subsystem UIO mappings; only relevant for EV VDK */
- uio_ev: uio@0xD0000000 {
- compatible = "generic-uio";
- reg = <0xD0000000 0x2000 0xD1000000 0x2000 0x90000000 0x10000000 0xC0000000 0x10000000>;
- reg-names = "ev_gsa", "ev_ctrl", "ev_shared_mem", "ev_code_mem";
- interrupts = <23>;
- };
+ /*
+ * Embedded Vision subsystem UIO mappings; only relevant for EV VDK
+ *
+ * This node is intentionally put outside of MB above becase
+ * it maps areas outside of MB's 0xEz-0xFz.
+ */
+ uio_ev: uio@0xD0000000 {
+ compatible = "generic-uio";
+ reg = <0xD0000000 0x2000 0xD1000000 0x2000 0x90000000 0x10000000 0xC0000000 0x10000000>;
+ reg-names = "ev_gsa", "ev_ctrl", "ev_shared_mem", "ev_code_mem";
+ interrupt-parent = <&mb_intc>;
+ interrupts = <23>;
};
};
--
2.7.4


2017-03-23 17:38:51

by Vineet Gupta

[permalink] [raw]
Subject: Re: [PATCH] arc: vdk: Fix support of UIO

+CC Jos !

-Vineet

On 03/23/2017 10:34 AM, Alexey Brodkin wrote:
> MotherBoard section has its "ranges" set to 0xE000_0000-0xF000_0000.
> But UIO node maps 4 different areas in different memory locations
> and all outside MB's ranges.
>
> That obviously breaks UIO mappings in runtime.
>
> Signed-off-by: Alexey Brodkin <[email protected]>
> Cc: Vineet Gupta <[email protected]>
> Cc: Ruud Derwig <[email protected]>
> Cc: [email protected]
> ---
> arch/arc/boot/dts/vdk_axs10x_mb.dtsi | 20 +++++++++++++-------
> 1 file changed, 13 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
> index f0df59b23e21..459fc656b759 100644
> --- a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
> +++ b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
> @@ -112,13 +112,19 @@
> interrupts = <7>;
> bus-width = <4>;
> };
> + };
>
> - /* Embedded Vision subsystem UIO mappings; only relevant for EV VDK */
> - uio_ev: uio@0xD0000000 {
> - compatible = "generic-uio";
> - reg = <0xD0000000 0x2000 0xD1000000 0x2000 0x90000000 0x10000000 0xC0000000 0x10000000>;
> - reg-names = "ev_gsa", "ev_ctrl", "ev_shared_mem", "ev_code_mem";
> - interrupts = <23>;
> - };
> + /*
> + * Embedded Vision subsystem UIO mappings; only relevant for EV VDK
> + *
> + * This node is intentionally put outside of MB above becase
> + * it maps areas outside of MB's 0xEz-0xFz.
> + */
> + uio_ev: uio@0xD0000000 {
> + compatible = "generic-uio";
> + reg = <0xD0000000 0x2000 0xD1000000 0x2000 0x90000000 0x10000000 0xC0000000 0x10000000>;
> + reg-names = "ev_gsa", "ev_ctrl", "ev_shared_mem", "ev_code_mem";
> + interrupt-parent = <&mb_intc>;
> + interrupts = <23>;
> };
> };

2017-03-24 20:36:13

by Vineet Gupta

[permalink] [raw]
Subject: Re: [PATCH] arc: vdk: Fix support of UIO

On 03/23/2017 10:34 AM, Alexey Brodkin wrote:
> MotherBoard section has its "ranges" set to 0xE000_0000-0xF000_0000.
> But UIO node maps 4 different areas in different memory locations
> and all outside MB's ranges.
>
> That obviously breaks UIO mappings in runtime.
>
> Signed-off-by: Alexey Brodkin <[email protected]>
> Cc: Vineet Gupta <[email protected]>
> Cc: Ruud Derwig <[email protected]>
> Cc: [email protected]


Added to for-curr.

Thx,
-Vineet