[1/2] Mips: ls2k1000: dts: add the display controller device node

Message ID 20230222165514.684729-1-suijingfeng@loongson.cn
State New
Headers
Series [1/2] Mips: ls2k1000: dts: add the display controller device node |

Commit Message

Sui Jingfeng Feb. 22, 2023, 4:55 p.m. UTC
  The display controller is a pci device, it's pci vendor id is
0x0014, it's pci device id is 0x7a06.

Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
---
 .../boot/dts/loongson/loongson64-2k1000.dtsi  | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)
  

Comments

Krzysztof Kozlowski Feb. 22, 2023, 6:32 p.m. UTC | #1
On 22/02/2023 17:55, suijingfeng wrote:
> The display controller is a pci device, it's pci vendor id is
> 0x0014, it's pci device id is 0x7a06.
> 
> Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
> ---
>  .../boot/dts/loongson/loongson64-2k1000.dtsi  | 21 +++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
> index 8143a61111e3..a528af3977d9 100644
> --- a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
> +++ b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
> @@ -31,6 +31,18 @@ memory@200000 {
>  			<0x00000001 0x10000000 0x00000001 0xb0000000>; /* 6912 MB at 4352MB */
>  	};
>  
> +	reserved-memory {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		display_reserved: framebuffer@30000000 {
> +			compatible = "shared-dma-pool";
> +			reg = <0x0 0x30000000 0x0 0x04000000>; /* 64M */
> +			linux,cma-default;
> +		};
> +	};
> +
>  	cpu_clk: cpu_clk {
>  		#clock-cells = <0>;
>  		compatible = "fixed-clock";
> @@ -198,6 +210,15 @@ sata@8,0 {
>  				interrupt-parent = <&liointc0>;
>  			};
>  
> +			display-controller@6,0 {
> +				compatible = "loongson,ls2k1000-dc";
> +
> +				reg = <0x3000 0x0 0x0 0x0 0x0>;
> +				interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
> +				interrupt-parent = <&liointc0>;
> +				memory-region = <&display_reserved>;

NAK. Test your code against the bindings you send. It's the same
patchset. You basically send something which the same moment is incorrect.

Best regards,
Krzysztof
  
Sui Jingfeng Feb. 23, 2023, 3:19 a.m. UTC | #2
Hi,

On 2023/2/23 02:32, Krzysztof Kozlowski wrote:
> On 22/02/2023 17:55, suijingfeng wrote:
>> The display controller is a pci device, it's pci vendor id is
>> 0x0014, it's pci device id is 0x7a06.
>>
>> Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
>> ---
>>   .../boot/dts/loongson/loongson64-2k1000.dtsi  | 21 +++++++++++++++++++
>>   1 file changed, 21 insertions(+)
>>
>> diff --git a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>> index 8143a61111e3..a528af3977d9 100644
>> --- a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>> +++ b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>> @@ -31,6 +31,18 @@ memory@200000 {
>>   			<0x00000001 0x10000000 0x00000001 0xb0000000>; /* 6912 MB at 4352MB */
>>   	};
>>   
>> +	reserved-memory {
>> +		#address-cells = <2>;
>> +		#size-cells = <2>;
>> +		ranges;
>> +
>> +		display_reserved: framebuffer@30000000 {
>> +			compatible = "shared-dma-pool";
>> +			reg = <0x0 0x30000000 0x0 0x04000000>; /* 64M */
>> +			linux,cma-default;
>> +		};
>> +	};
>> +
>>   	cpu_clk: cpu_clk {
>>   		#clock-cells = <0>;
>>   		compatible = "fixed-clock";
>> @@ -198,6 +210,15 @@ sata@8,0 {
>>   				interrupt-parent = <&liointc0>;
>>   			};
>>   
>> +			display-controller@6,0 {
>> +				compatible = "loongson,ls2k1000-dc";
>> +
>> +				reg = <0x3000 0x0 0x0 0x0 0x0>;
>> +				interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
>> +				interrupt-parent = <&liointc0>;
>> +				memory-region = <&display_reserved>;
> NAK.
Err :(,  please give me a chance to explain
> Test your code against the bindings you send.

I can guarantee to you that I test may code more than twice. The code 
used to testing is listed at link [1].

This patchset  mainly used to illustrate how  we made the driver in [1] 
usable on our SoC platform.

> It's the same
> patchset. You basically send something which the same moment is incorrect.

Loongson display controller IP has been integrated in both Loongson
North Bridge chipset(ls7a1000 and ls7a2000) and Loongson SoCs(ls2k1000
and ls2k2000 etc), it even has been included in Loongson BMC(ls2k0500 bmc)
products.

When use this driver on Loongson embedded platform(say ls2k2000, 
ls2k1000 and ls2k0500)  ,

the PMON/Uboot firmware(my company using pmon most of time) will pass a 
DT to the kernel.

Different boards will pass different DTs. But when using this driver on 
Loongson server and

PC platform( ls3c5000/ls3a5000+ls7a1000/ls7a2000), there will no DT 
supplied. The firmware

and kernel side developer of Loongson choose ACPI+UEFI for such 
platform, more discussion

can be found at [2]. Therefore, on such a situation we decide to send 
the patch at separate patchset.

It is not like the arm  and risc-v, as the binding would not be always 
exits. If we put those patches

into a same patchset, some reviewers would suggest us to revise our code.

To a form that the code *ALWAYS*  probed from the DT, this is not desired.

Besides, the driver code + dt support is petty large, separate it is 
more easy to review and manage.


Finally,  Thanks your kindly guiding and valuable reviews.


[1] https://patchwork.freedesktop.org/patch/523409/?series=113566&rev=4

[2] https://lkml.org/lkml/2022/7/15/135

> Best regards,
> Krzysztof
  
Krzysztof Kozlowski Feb. 23, 2023, 7:58 a.m. UTC | #3
On 23/02/2023 04:19, Sui jingfeng wrote:
> Hi,
> 
> On 2023/2/23 02:32, Krzysztof Kozlowski wrote:
>> On 22/02/2023 17:55, suijingfeng wrote:
>>> The display controller is a pci device, it's pci vendor id is
>>> 0x0014, it's pci device id is 0x7a06.
>>>
>>> Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
>>> ---
>>>   .../boot/dts/loongson/loongson64-2k1000.dtsi  | 21 +++++++++++++++++++
>>>   1 file changed, 21 insertions(+)
>>>
>>> diff --git a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>> index 8143a61111e3..a528af3977d9 100644
>>> --- a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>> +++ b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>> @@ -31,6 +31,18 @@ memory@200000 {
>>>   			<0x00000001 0x10000000 0x00000001 0xb0000000>; /* 6912 MB at 4352MB */
>>>   	};
>>>   
>>> +	reserved-memory {
>>> +		#address-cells = <2>;
>>> +		#size-cells = <2>;
>>> +		ranges;
>>> +
>>> +		display_reserved: framebuffer@30000000 {
>>> +			compatible = "shared-dma-pool";
>>> +			reg = <0x0 0x30000000 0x0 0x04000000>; /* 64M */
>>> +			linux,cma-default;
>>> +		};
>>> +	};
>>> +
>>>   	cpu_clk: cpu_clk {
>>>   		#clock-cells = <0>;
>>>   		compatible = "fixed-clock";
>>> @@ -198,6 +210,15 @@ sata@8,0 {
>>>   				interrupt-parent = <&liointc0>;
>>>   			};
>>>   
>>> +			display-controller@6,0 {
>>> +				compatible = "loongson,ls2k1000-dc";
>>> +
>>> +				reg = <0x3000 0x0 0x0 0x0 0x0>;
>>> +				interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
>>> +				interrupt-parent = <&liointc0>;
>>> +				memory-region = <&display_reserved>;
>> NAK.
> Err :(,  please give me a chance to explain
>> Test your code against the bindings you send.
> 
> I can guarantee to you that I test may code more than twice. The code 
> used to testing is listed at link [1].

I wrote - test against the bindings. I don't believe that it was tested.
Please paste the output of the testing (dtbs_check).

> 
> This patchset  mainly used to illustrate how  we made the driver in [1] 
> usable on our SoC platform.
> 
>> It's the same
>> patchset. You basically send something which the same moment is incorrect.
> 
> Loongson display controller IP has been integrated in both Loongson
> North Bridge chipset(ls7a1000 and ls7a2000) and Loongson SoCs(ls2k1000
> and ls2k2000 etc), it even has been included in Loongson BMC(ls2k0500 bmc)
> products.

I don't understand how your reply here is relevant to incorrect bindings
or incorrect DTS according to bindings.


Best regards,
Krzysztof
  
Krzysztof Kozlowski Feb. 23, 2023, 8:05 a.m. UTC | #4
On 23/02/2023 08:58, Krzysztof Kozlowski wrote:
> On 23/02/2023 04:19, Sui jingfeng wrote:
>> Hi,
>>
>> On 2023/2/23 02:32, Krzysztof Kozlowski wrote:
>>> On 22/02/2023 17:55, suijingfeng wrote:
>>>> The display controller is a pci device, it's pci vendor id is
>>>> 0x0014, it's pci device id is 0x7a06.
>>>>
>>>> Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
>>>> ---
>>>>   .../boot/dts/loongson/loongson64-2k1000.dtsi  | 21 +++++++++++++++++++
>>>>   1 file changed, 21 insertions(+)
>>>>
>>>> diff --git a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>> index 8143a61111e3..a528af3977d9 100644
>>>> --- a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>> +++ b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>> @@ -31,6 +31,18 @@ memory@200000 {
>>>>   			<0x00000001 0x10000000 0x00000001 0xb0000000>; /* 6912 MB at 4352MB */
>>>>   	};
>>>>   
>>>> +	reserved-memory {
>>>> +		#address-cells = <2>;
>>>> +		#size-cells = <2>;
>>>> +		ranges;
>>>> +
>>>> +		display_reserved: framebuffer@30000000 {
>>>> +			compatible = "shared-dma-pool";
>>>> +			reg = <0x0 0x30000000 0x0 0x04000000>; /* 64M */
>>>> +			linux,cma-default;
>>>> +		};
>>>> +	};
>>>> +
>>>>   	cpu_clk: cpu_clk {
>>>>   		#clock-cells = <0>;
>>>>   		compatible = "fixed-clock";
>>>> @@ -198,6 +210,15 @@ sata@8,0 {
>>>>   				interrupt-parent = <&liointc0>;
>>>>   			};
>>>>   
>>>> +			display-controller@6,0 {
>>>> +				compatible = "loongson,ls2k1000-dc";
>>>> +
>>>> +				reg = <0x3000 0x0 0x0 0x0 0x0>;
>>>> +				interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
>>>> +				interrupt-parent = <&liointc0>;
>>>> +				memory-region = <&display_reserved>;
>>> NAK.
>> Err :(,  please give me a chance to explain
>>> Test your code against the bindings you send.
>>
>> I can guarantee to you that I test may code more than twice. The code 
>> used to testing is listed at link [1].
> 
> I wrote - test against the bindings. I don't believe that it was tested.
> Please paste the output of the testing (dtbs_check).

OTOH, dtschema has some hickups on loongsoon DTS, so I doubt you could
even test it. Anyway, where is above property memory-region described in
the bindings?

Best regards,
Krzysztof
  
Sui Jingfeng Feb. 23, 2023, 8:21 a.m. UTC | #5
On 2023/2/23 16:05, Krzysztof Kozlowski wrote:
> On 23/02/2023 08:58, Krzysztof Kozlowski wrote:
>> On 23/02/2023 04:19, Sui jingfeng wrote:
>>> Hi,
>>>
>>> On 2023/2/23 02:32, Krzysztof Kozlowski wrote:
>>>> On 22/02/2023 17:55, suijingfeng wrote:
>>>>> The display controller is a pci device, it's pci vendor id is
>>>>> 0x0014, it's pci device id is 0x7a06.
>>>>>
>>>>> Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
>>>>> ---
>>>>>    .../boot/dts/loongson/loongson64-2k1000.dtsi  | 21 +++++++++++++++++++
>>>>>    1 file changed, 21 insertions(+)
>>>>>
>>>>> diff --git a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>> index 8143a61111e3..a528af3977d9 100644
>>>>> --- a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>> +++ b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>> @@ -31,6 +31,18 @@ memory@200000 {
>>>>>    			<0x00000001 0x10000000 0x00000001 0xb0000000>; /* 6912 MB at 4352MB */
>>>>>    	};
>>>>>    
>>>>> +	reserved-memory {
>>>>> +		#address-cells = <2>;
>>>>> +		#size-cells = <2>;
>>>>> +		ranges;
>>>>> +
>>>>> +		display_reserved: framebuffer@30000000 {
>>>>> +			compatible = "shared-dma-pool";
>>>>> +			reg = <0x0 0x30000000 0x0 0x04000000>; /* 64M */
>>>>> +			linux,cma-default;
>>>>> +		};
>>>>> +	};
>>>>> +
>>>>>    	cpu_clk: cpu_clk {
>>>>>    		#clock-cells = <0>;
>>>>>    		compatible = "fixed-clock";
>>>>> @@ -198,6 +210,15 @@ sata@8,0 {
>>>>>    				interrupt-parent = <&liointc0>;
>>>>>    			};
>>>>>    
>>>>> +			display-controller@6,0 {
>>>>> +				compatible = "loongson,ls2k1000-dc";
>>>>> +
>>>>> +				reg = <0x3000 0x0 0x0 0x0 0x0>;
>>>>> +				interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
>>>>> +				interrupt-parent = <&liointc0>;
>>>>> +				memory-region = <&display_reserved>;
>>>> NAK.
>>> Err :(,  please give me a chance to explain
>>>> Test your code against the bindings you send.
>>> I can guarantee to you that I test may code more than twice. The code
>>> used to testing is listed at link [1].
>> I wrote - test against the bindings. I don't believe that it was tested.
>> Please paste the output of the testing (dtbs_check).
> OTOH, dtschema has some hickups on loongsoon DTS, so I doubt you could
> even test it. Anyway, where is above property memory-region described in
> the bindings?

Yes, you are right. I forget to write memory-region property.

but the code provided in  loongson64-2k1000.dtsi is correct.

I do run dt_binding_check, the results seems good.

there are some problem when make dtbs_check, but it seems not relevant 
to me.

please give me more time to figure it out, i will reply to you later.

> Best regards,
> Krzysztof
  
Krzysztof Kozlowski Feb. 23, 2023, 8:38 a.m. UTC | #6
On 23/02/2023 09:21, suijingfeng wrote:
> 
> On 2023/2/23 16:05, Krzysztof Kozlowski wrote:
>> On 23/02/2023 08:58, Krzysztof Kozlowski wrote:
>>> On 23/02/2023 04:19, Sui jingfeng wrote:
>>>> Hi,
>>>>
>>>> On 2023/2/23 02:32, Krzysztof Kozlowski wrote:
>>>>> On 22/02/2023 17:55, suijingfeng wrote:
>>>>>> The display controller is a pci device, it's pci vendor id is
>>>>>> 0x0014, it's pci device id is 0x7a06.
>>>>>>
>>>>>> Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
>>>>>> ---
>>>>>>    .../boot/dts/loongson/loongson64-2k1000.dtsi  | 21 +++++++++++++++++++
>>>>>>    1 file changed, 21 insertions(+)
>>>>>>
>>>>>> diff --git a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>>> index 8143a61111e3..a528af3977d9 100644
>>>>>> --- a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>>> +++ b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>>> @@ -31,6 +31,18 @@ memory@200000 {
>>>>>>    			<0x00000001 0x10000000 0x00000001 0xb0000000>; /* 6912 MB at 4352MB */
>>>>>>    	};
>>>>>>    
>>>>>> +	reserved-memory {
>>>>>> +		#address-cells = <2>;
>>>>>> +		#size-cells = <2>;
>>>>>> +		ranges;
>>>>>> +
>>>>>> +		display_reserved: framebuffer@30000000 {
>>>>>> +			compatible = "shared-dma-pool";
>>>>>> +			reg = <0x0 0x30000000 0x0 0x04000000>; /* 64M */
>>>>>> +			linux,cma-default;
>>>>>> +		};
>>>>>> +	};
>>>>>> +
>>>>>>    	cpu_clk: cpu_clk {
>>>>>>    		#clock-cells = <0>;
>>>>>>    		compatible = "fixed-clock";
>>>>>> @@ -198,6 +210,15 @@ sata@8,0 {
>>>>>>    				interrupt-parent = <&liointc0>;
>>>>>>    			};
>>>>>>    
>>>>>> +			display-controller@6,0 {
>>>>>> +				compatible = "loongson,ls2k1000-dc";
>>>>>> +
>>>>>> +				reg = <0x3000 0x0 0x0 0x0 0x0>;
>>>>>> +				interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
>>>>>> +				interrupt-parent = <&liointc0>;
>>>>>> +				memory-region = <&display_reserved>;
>>>>> NAK.
>>>> Err :(,  please give me a chance to explain
>>>>> Test your code against the bindings you send.
>>>> I can guarantee to you that I test may code more than twice. The code
>>>> used to testing is listed at link [1].
>>> I wrote - test against the bindings. I don't believe that it was tested.
>>> Please paste the output of the testing (dtbs_check).
>> OTOH, dtschema has some hickups on loongsoon DTS, so I doubt you could
>> even test it. Anyway, where is above property memory-region described in
>> the bindings?
> 
> Yes, you are right. I forget to write memory-region property.
> 
> but the code provided in  loongson64-2k1000.dtsi is correct.
> 
> I do run dt_binding_check, the results seems good.

dt_binding_check checks the binding. We talk about your DTS.

> 
> there are some problem when make dtbs_check, but it seems not relevant 
> to me.

Yeah, the dtbs_check hash troubles with interrupt cells and it does not
give reasonable warning message.

Best regards,
Krzysztof
  
Sui Jingfeng Feb. 23, 2023, 8:40 a.m. UTC | #7
On 2023/2/23 15:58, Krzysztof Kozlowski wrote:
> On 23/02/2023 04:19, Sui jingfeng wrote:
>> Hi,
>>
>> On 2023/2/23 02:32, Krzysztof Kozlowski wrote:
>>> On 22/02/2023 17:55, suijingfeng wrote:
>>>> The display controller is a pci device, it's pci vendor id is
>>>> 0x0014, it's pci device id is 0x7a06.
>>>>
>>>> Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
>>>> ---
>>>>    .../boot/dts/loongson/loongson64-2k1000.dtsi  | 21 +++++++++++++++++++
>>>>    1 file changed, 21 insertions(+)
>>>>
>>>> diff --git a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>> index 8143a61111e3..a528af3977d9 100644
>>>> --- a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>> +++ b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>> @@ -31,6 +31,18 @@ memory@200000 {
>>>>    			<0x00000001 0x10000000 0x00000001 0xb0000000>; /* 6912 MB at 4352MB */
>>>>    	};
>>>>    
>>>> +	reserved-memory {
>>>> +		#address-cells = <2>;
>>>> +		#size-cells = <2>;
>>>> +		ranges;
>>>> +
>>>> +		display_reserved: framebuffer@30000000 {
>>>> +			compatible = "shared-dma-pool";
>>>> +			reg = <0x0 0x30000000 0x0 0x04000000>; /* 64M */
>>>> +			linux,cma-default;
>>>> +		};
>>>> +	};
>>>> +
>>>>    	cpu_clk: cpu_clk {
>>>>    		#clock-cells = <0>;
>>>>    		compatible = "fixed-clock";
>>>> @@ -198,6 +210,15 @@ sata@8,0 {
>>>>    				interrupt-parent = <&liointc0>;
>>>>    			};
>>>>    
>>>> +			display-controller@6,0 {
>>>> +				compatible = "loongson,ls2k1000-dc";
>>>> +
>>>> +				reg = <0x3000 0x0 0x0 0x0 0x0>;
>>>> +				interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
>>>> +				interrupt-parent = <&liointc0>;
>>>> +				memory-region = <&display_reserved>;
>>> NAK.
>> Err :(,  please give me a chance to explain
>>> Test your code against the bindings you send.
>> I can guarantee to you that I test may code more than twice. The code
>> used to testing is listed at link [1].
> I wrote - test against the bindings. I don't believe that it was tested.
> Please paste the output of the testing (dtbs_check).

I *do* run the test against the bindings and the test result say nothing.

I reset my modify today made, then re-run the test again.

I'm telling the truth: the test result say nothing. I paste the log at 
below:

make -j$(nproc) ARCH=loongarch 
CROSS_COMPILE=loongarch64-unknown-linux-gnu- dt_binding_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml 
dtbs_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml

   DTEX 
Documentation/devicetree/bindings/display/loongson/loongson,display-controller.example.dts
   DTC_CHK 
Documentation/devicetree/bindings/display/loongson/loongson,display-controller.example.dtb


I remember, if there anything wrong, rob's test robot will complain.

let's wait and witness.

>> This patchset  mainly used to illustrate how  we made the driver in [1]
>> usable on our SoC platform.
>>
>>> It's the same
>>> patchset. You basically send something which the same moment is incorrect.
>> Loongson display controller IP has been integrated in both Loongson
>> North Bridge chipset(ls7a1000 and ls7a2000) and Loongson SoCs(ls2k1000
>> and ls2k2000 etc), it even has been included in Loongson BMC(ls2k0500 bmc)
>> products.
> I don't understand how your reply here is relevant to incorrect bindings
> or incorrect DTS according to bindings.

Ok, now I know that you refer to the bindings.

I'm a newbie at DT bindings, but i will correct all of the problem you 
mentioned.

It takes a few time, thanks for  your valuable advice.

>
> Best regards,
> Krzysztof
  
Krzysztof Kozlowski Feb. 23, 2023, 8:59 a.m. UTC | #8
On 23/02/2023 09:40, suijingfeng wrote:
> 
> On 2023/2/23 15:58, Krzysztof Kozlowski wrote:
>> On 23/02/2023 04:19, Sui jingfeng wrote:
>>> Hi,
>>>
>>> On 2023/2/23 02:32, Krzysztof Kozlowski wrote:
>>>> On 22/02/2023 17:55, suijingfeng wrote:
>>>>> The display controller is a pci device, it's pci vendor id is
>>>>> 0x0014, it's pci device id is 0x7a06.
>>>>>
>>>>> Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
>>>>> ---
>>>>>    .../boot/dts/loongson/loongson64-2k1000.dtsi  | 21 +++++++++++++++++++
>>>>>    1 file changed, 21 insertions(+)
>>>>>
>>>>> diff --git a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>> index 8143a61111e3..a528af3977d9 100644
>>>>> --- a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>> +++ b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>> @@ -31,6 +31,18 @@ memory@200000 {
>>>>>    			<0x00000001 0x10000000 0x00000001 0xb0000000>; /* 6912 MB at 4352MB */
>>>>>    	};
>>>>>    
>>>>> +	reserved-memory {
>>>>> +		#address-cells = <2>;
>>>>> +		#size-cells = <2>;
>>>>> +		ranges;
>>>>> +
>>>>> +		display_reserved: framebuffer@30000000 {
>>>>> +			compatible = "shared-dma-pool";
>>>>> +			reg = <0x0 0x30000000 0x0 0x04000000>; /* 64M */
>>>>> +			linux,cma-default;
>>>>> +		};
>>>>> +	};
>>>>> +
>>>>>    	cpu_clk: cpu_clk {
>>>>>    		#clock-cells = <0>;
>>>>>    		compatible = "fixed-clock";
>>>>> @@ -198,6 +210,15 @@ sata@8,0 {
>>>>>    				interrupt-parent = <&liointc0>;
>>>>>    			};
>>>>>    
>>>>> +			display-controller@6,0 {
>>>>> +				compatible = "loongson,ls2k1000-dc";
>>>>> +
>>>>> +				reg = <0x3000 0x0 0x0 0x0 0x0>;
>>>>> +				interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
>>>>> +				interrupt-parent = <&liointc0>;
>>>>> +				memory-region = <&display_reserved>;
>>>> NAK.
>>> Err :(,  please give me a chance to explain
>>>> Test your code against the bindings you send.
>>> I can guarantee to you that I test may code more than twice. The code
>>> used to testing is listed at link [1].
>> I wrote - test against the bindings. I don't believe that it was tested.
>> Please paste the output of the testing (dtbs_check).

                                          ^^^^^^^^^^^^
Do you see this                       ----------^^^^?

But you pasted:

> 
> I *do* run the test against the bindings and the test result say nothing.
> 
> I reset my modify today made, then re-run the test again.
> 
> I'm telling the truth: the test result say nothing. I paste the log at 
> below:
> 
> make -j$(nproc) ARCH=loongarch 
> CROSS_COMPILE=loongarch64-unknown-linux-gnu- dt_binding_check 

This -------------------------------------------^^^^^^^^^^^^


Best regards,
Krzysztof
  
Sui Jingfeng Feb. 23, 2023, 9:17 a.m. UTC | #9
On 2023/2/23 16:59, Krzysztof Kozlowski wrote:
> On 23/02/2023 09:40, suijingfeng wrote:
>> On 2023/2/23 15:58, Krzysztof Kozlowski wrote:
>>> On 23/02/2023 04:19, Sui jingfeng wrote:
>>>> Hi,
>>>>
>>>> On 2023/2/23 02:32, Krzysztof Kozlowski wrote:
>>>>> On 22/02/2023 17:55, suijingfeng wrote:
>>>>>> The display controller is a pci device, it's pci vendor id is
>>>>>> 0x0014, it's pci device id is 0x7a06.
>>>>>>
>>>>>> Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
>>>>>> ---
>>>>>>     .../boot/dts/loongson/loongson64-2k1000.dtsi  | 21 +++++++++++++++++++
>>>>>>     1 file changed, 21 insertions(+)
>>>>>>
>>>>>> diff --git a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>>> index 8143a61111e3..a528af3977d9 100644
>>>>>> --- a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>>> +++ b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
>>>>>> @@ -31,6 +31,18 @@ memory@200000 {
>>>>>>     			<0x00000001 0x10000000 0x00000001 0xb0000000>; /* 6912 MB at 4352MB */
>>>>>>     	};
>>>>>>     
>>>>>> +	reserved-memory {
>>>>>> +		#address-cells = <2>;
>>>>>> +		#size-cells = <2>;
>>>>>> +		ranges;
>>>>>> +
>>>>>> +		display_reserved: framebuffer@30000000 {
>>>>>> +			compatible = "shared-dma-pool";
>>>>>> +			reg = <0x0 0x30000000 0x0 0x04000000>; /* 64M */
>>>>>> +			linux,cma-default;
>>>>>> +		};
>>>>>> +	};
>>>>>> +
>>>>>>     	cpu_clk: cpu_clk {
>>>>>>     		#clock-cells = <0>;
>>>>>>     		compatible = "fixed-clock";
>>>>>> @@ -198,6 +210,15 @@ sata@8,0 {
>>>>>>     				interrupt-parent = <&liointc0>;
>>>>>>     			};
>>>>>>     
>>>>>> +			display-controller@6,0 {
>>>>>> +				compatible = "loongson,ls2k1000-dc";
>>>>>> +
>>>>>> +				reg = <0x3000 0x0 0x0 0x0 0x0>;
>>>>>> +				interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
>>>>>> +				interrupt-parent = <&liointc0>;
>>>>>> +				memory-region = <&display_reserved>;
>>>>> NAK.
>>>> Err :(,  please give me a chance to explain
>>>>> Test your code against the bindings you send.
>>>> I can guarantee to you that I test may code more than twice. The code
>>>> used to testing is listed at link [1].
>>> I wrote - test against the bindings. I don't believe that it was tested.
>>> Please paste the output of the testing (dtbs_check).
>                                            ^^^^^^^^^^^^
> Do you see this                       ----------^^^^?
>
> But you pasted:
>
>> I *do* run the test against the bindings and the test result say nothing.
>>
>> I reset my modify today made, then re-run the test again.
>>
>> I'm telling the truth: the test result say nothing. I paste the log at
>> below:
>>
>> make -j$(nproc) ARCH=loongarch
>> CROSS_COMPILE=loongarch64-unknown-linux-gnu- dt_binding_check
> This -------------------------------------------^^^^^^^^^^^^

Yes, I see it.

I means I have tested all of them as the instruction[1]!

the test log just say nothing.  I re-run it again and all passed.


[1] 
https://www.kernel.org/doc/html/v5.9/devicetree/writing-schema.html#:~:text=The%20DT%20schema%20project%20can%20be%20installed%20with,they%20are%20in%20your%20PATH%20%28~%2F.local%2Fbin%20by%20default%29.

>
> Best regards,
> Krzysztof
  

Patch

diff --git a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
index 8143a61111e3..a528af3977d9 100644
--- a/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
+++ b/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
@@ -31,6 +31,18 @@  memory@200000 {
 			<0x00000001 0x10000000 0x00000001 0xb0000000>; /* 6912 MB at 4352MB */
 	};
 
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		display_reserved: framebuffer@30000000 {
+			compatible = "shared-dma-pool";
+			reg = <0x0 0x30000000 0x0 0x04000000>; /* 64M */
+			linux,cma-default;
+		};
+	};
+
 	cpu_clk: cpu_clk {
 		#clock-cells = <0>;
 		compatible = "fixed-clock";
@@ -198,6 +210,15 @@  sata@8,0 {
 				interrupt-parent = <&liointc0>;
 			};
 
+			display-controller@6,0 {
+				compatible = "loongson,ls2k1000-dc";
+
+				reg = <0x3000 0x0 0x0 0x0 0x0>;
+				interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
+				interrupt-parent = <&liointc0>;
+				memory-region = <&display_reserved>;
+			};
+
 			pci_bridge@9,0 {
 				compatible = "pci0014,7a19.0",
 						   "pci0014,7a19",