Re: [PATCH] arc: vdk: Fix support of UIO

From: Vineet Gupta
Date: Thu Mar 23 2017 - 13:38:59 EST


+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 <abrodkin@xxxxxxxxxxxx>
> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx>
> Cc: Ruud Derwig <rderwig@xxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> ---
> 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>;
> };
> };