diff mbox series

[1/1] arm64: dts: marvell: mcbin: enlarge PCI memory window

Message ID 20190517161123.9293-1-xypron.glpk@gmx.de (mailing list archive)
State New, archived
Headers show
Series [1/1] arm64: dts: marvell: mcbin: enlarge PCI memory window | expand

Commit Message

Heinrich Schuchardt May 17, 2019, 4:11 p.m. UTC
Running a graphics adapter on the MACCHIATObin fails due to an
insufficently sized memory window.

Enlarge the memory window for the PCIe slot to 512 MiB.

With the patch I am able to use a GT710 graphics adapter with 1 GB onboard
memory.

These are the mapped memory areas that the graphics adapter is actually
using:

Region 0: Memory at cc000000 (32-bit, non-prefetchable) [size=16M]
Region 1: Memory at c0000000 (64-bit, prefetchable) [size=128M]
Region 3: Memory at c8000000 (64-bit, prefetchable) [size=32M]
Region 5: I/O ports at 1000 [size=128]
Expansion ROM at ca000000 [disabled] [size=512K]

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi | 2 ++
 1 file changed, 2 insertions(+)

--
2.20.1

Comments

Gregory CLEMENT May 17, 2019, 8:08 p.m. UTC | #1
Hi Heinrich Schuchardt,

> Running a graphics adapter on the MACCHIATObin fails due to an
> insufficently sized memory window.
I think "insufficient" is enough or I miss something.

>
> Enlarge the memory window for the PCIe slot to 512 MiB.
>
> With the patch I am able to use a GT710 graphics adapter with 1 GB onboard
> memory.
>
> These are the mapped memory areas that the graphics adapter is actually
> using:
>
> Region 0: Memory at cc000000 (32-bit, non-prefetchable) [size=16M]
> Region 1: Memory at c0000000 (64-bit, prefetchable) [size=128M]
> Region 3: Memory at c8000000 (64-bit, prefetchable) [size=32M]
> Region 5: I/O ports at 1000 [size=128]
> Expansion ROM at ca000000 [disabled] [size=512K]

From my point of view this patch is correct, I don't think it is a
problem to map more memory. So I applied on it mvebu/dt64.

But I add also Thomas in CC who know better the PCIe support on mvebu/

Thanks,

Gregory


>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
>  arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
> index 329f8ceeebea..205071b45a32 100644
> --- a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
> +++ b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
> @@ -184,6 +184,8 @@
>  	num-lanes = <4>;
>  	num-viewport = <8>;
>  	reset-gpios = <&cp0_gpio2 20 GPIO_ACTIVE_LOW>;
> +	ranges = <0x81000000 0x0 0xf9010000 0x0 0xf9010000 0x0 0x10000
> +		  0x82000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000>;
>  	status = "okay";
>  };
>
> --
> 2.20.1
>
Heinrich Schuchardt May 17, 2019, 8:55 p.m. UTC | #2
On 5/17/19 10:08 PM, Gregory CLEMENT wrote:
> Hi Heinrich Schuchardt,
>
>> Running a graphics adapter on the MACCHIATObin fails due to an
>> insufficently sized memory window.
> I think "insufficient" is enough or I miss something.

Thanks for reviewing. Do I have to resend with corrected wording?

>
>>
>> Enlarge the memory window for the PCIe slot to 512 MiB.
>>
>> With the patch I am able to use a GT710 graphics adapter with 1 GB onboard
>> memory.
>>
>> These are the mapped memory areas that the graphics adapter is actually
>> using:
>>
>> Region 0: Memory at cc000000 (32-bit, non-prefetchable) [size=16M]
>> Region 1: Memory at c0000000 (64-bit, prefetchable) [size=128M]
>> Region 3: Memory at c8000000 (64-bit, prefetchable) [size=32M]
>> Region 5: I/O ports at 1000 [size=128]
>> Expansion ROM at ca000000 [disabled] [size=512K]
>
>>From my point of view this patch is correct, I don't think it is a
> problem to map more memory. So I applied on it mvebu/dt64.
>

To which repository are your referring?

Best regards

Heinrich

> But I add also Thomas in CC who know better the PCIe support on mvebu/
>
> Thanks,
>
> Gregory
>
>
>>
>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
>> ---
>>  arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
>> index 329f8ceeebea..205071b45a32 100644
>> --- a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
>> +++ b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
>> @@ -184,6 +184,8 @@
>>  	num-lanes = <4>;
>>  	num-viewport = <8>;
>>  	reset-gpios = <&cp0_gpio2 20 GPIO_ACTIVE_LOW>;
>> +	ranges = <0x81000000 0x0 0xf9010000 0x0 0xf9010000 0x0 0x10000
>> +		  0x82000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000>;
>>  	status = "okay";
>>  };
>>
>> --
>> 2.20.1
>>
>
Gregory CLEMENT May 17, 2019, 9:26 p.m. UTC | #3
> On 5/17/19 10:08 PM, Gregory CLEMENT wrote:
>> Hi Heinrich Schuchardt,
>>
>>> Running a graphics adapter on the MACCHIATObin fails due to an
>>> insufficently sized memory window.
>> I think "insufficient" is enough or I miss something.
>
> Thanks for reviewing. Do I have to resend with corrected wording?

Actually I was said that using an adverbe was the thing to do, so I've
just fix the typo by adding the missing "i". you don't have to resend
it.

>
>>
>>>
>>> Enlarge the memory window for the PCIe slot to 512 MiB.
>>>
>>> With the patch I am able to use a GT710 graphics adapter with 1 GB onboard
>>> memory.
>>>
>>> These are the mapped memory areas that the graphics adapter is actually
>>> using:
>>>
>>> Region 0: Memory at cc000000 (32-bit, non-prefetchable) [size=16M]
>>> Region 1: Memory at c0000000 (64-bit, prefetchable) [size=128M]
>>> Region 3: Memory at c8000000 (64-bit, prefetchable) [size=32M]
>>> Region 5: I/O ports at 1000 [size=128]
>>> Expansion ROM at ca000000 [disabled] [size=512K]
>>
>>>From my point of view this patch is correct, I don't think it is a
>> problem to map more memory. So I applied on it mvebu/dt64.
>>
>
> To which repository are your referring?

I thought it was documented in the MAINTAINER file but I was wrong, so I
will fix it.

I referred to git://git.infradead.org/linux-mvebu.git

this branch will be merged in our for-next branch when 5.2-rc1 will be
released, so it will be part of linux-next.

Gregory

>
> Best regards
>
> Heinrich
>
>> But I add also Thomas in CC who know better the PCIe support on mvebu/
>>
>> Thanks,
>>
>> Gregory
>>
>>
>>>
>>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
>>> ---
>>>  arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
>>> index 329f8ceeebea..205071b45a32 100644
>>> --- a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
>>> +++ b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
>>> @@ -184,6 +184,8 @@
>>>  	num-lanes = <4>;
>>>  	num-viewport = <8>;
>>>  	reset-gpios = <&cp0_gpio2 20 GPIO_ACTIVE_LOW>;
>>> +	ranges = <0x81000000 0x0 0xf9010000 0x0 0xf9010000 0x0 0x10000
>>> +		  0x82000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000>;
>>>  	status = "okay";
>>>  };
>>>
>>> --
>>> 2.20.1
>>>
>>
>
Thomas Petazzoni May 20, 2019, 3:54 p.m. UTC | #4
Hello Heinrich,

On Fri, 17 May 2019 18:11:23 +0200
Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:

> Running a graphics adapter on the MACCHIATObin fails due to an
> insufficently sized memory window.
> 
> Enlarge the memory window for the PCIe slot to 512 MiB.
> 
> With the patch I am able to use a GT710 graphics adapter with 1 GB onboard
> memory.
> 
> These are the mapped memory areas that the graphics adapter is actually
> using:
> 
> Region 0: Memory at cc000000 (32-bit, non-prefetchable) [size=16M]
> Region 1: Memory at c0000000 (64-bit, prefetchable) [size=128M]
> Region 3: Memory at c8000000 (64-bit, prefetchable) [size=32M]
> Region 5: I/O ports at 1000 [size=128]
> Expansion ROM at ca000000 [disabled] [size=512K]
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
>  arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
> index 329f8ceeebea..205071b45a32 100644
> --- a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
> +++ b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
> @@ -184,6 +184,8 @@
>  	num-lanes = <4>;
>  	num-viewport = <8>;
>  	reset-gpios = <&cp0_gpio2 20 GPIO_ACTIVE_LOW>;
> +	ranges = <0x81000000 0x0 0xf9010000 0x0 0xf9010000 0x0 0x10000
> +		  0x82000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000>;

While I understand the change, I find it is a bit of a "one-off"
solution, which will only work specifically for the MacchiatoBin. But
admittedly, there isn't really a good generic solution: depending on
the number of PCIe ports and what you connect to them, you will need
windows of different sizes.

On older Armada platforms, it works a bit better because we have a
single PCIe MEM aperture and a single PCIe I/O aperture, from which all
PCIe ports allocate: each PCIe interface is a child bus of an emulated
root port.

Unfortunately, on Armada 7K/8K, each PCIe interface is seen as an
independent root complex, so we have one PCIe I/O aperture and one PCIe
MEM aperture for each.

Thomas
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
index 329f8ceeebea..205071b45a32 100644
--- a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
@@ -184,6 +184,8 @@ 
 	num-lanes = <4>;
 	num-viewport = <8>;
 	reset-gpios = <&cp0_gpio2 20 GPIO_ACTIVE_LOW>;
+	ranges = <0x81000000 0x0 0xf9010000 0x0 0xf9010000 0x0 0x10000
+		  0x82000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000>;
 	status = "okay";
 };