devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node
@ 2023-02-22 16:55 suijingfeng
  2023-02-22 16:55 ` [PATCH 2/2] dt-bindings: display: Add Loongson display controller suijingfeng
  2023-02-22 18:32 ` [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node Krzysztof Kozlowski
  0 siblings, 2 replies; 14+ messages in thread
From: suijingfeng @ 2023-02-22 16:55 UTC (permalink / raw)
  To: Thomas Zimmermann, David Airlie, Daniel Vetter, Rob Herring,
	Thomas Bogendoerfer, Krzysztof Kozlowski, suijingfeng
  Cc: linux-mips, linux-kernel, devicetree, dri-devel

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>;
+			};
+
 			pci_bridge@9,0 {
 				compatible = "pci0014,7a19.0",
 						   "pci0014,7a19",
-- 
2.34.1


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

* [PATCH 2/2] dt-bindings: display: Add Loongson display controller
  2023-02-22 16:55 [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node suijingfeng
@ 2023-02-22 16:55 ` suijingfeng
  2023-02-22 18:30   ` Krzysztof Kozlowski
  2023-02-22 18:32 ` [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node Krzysztof Kozlowski
  1 sibling, 1 reply; 14+ messages in thread
From: suijingfeng @ 2023-02-22 16:55 UTC (permalink / raw)
  To: Thomas Zimmermann, David Airlie, Daniel Vetter, Rob Herring,
	Thomas Bogendoerfer, Krzysztof Kozlowski, suijingfeng
  Cc: linux-mips, linux-kernel, devicetree, dri-devel

This patch add a trival DT usages for loongson display controller found
in LS2k1000 SoC.

Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
---
 .../loongson/loongson,display-controller.yaml | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml

diff --git a/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml b/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml
new file mode 100644
index 000000000000..98b78f449a80
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml
@@ -0,0 +1,58 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/loongson/loongson,display-controller.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Loongson Display Controller Device Tree Bindings
+
+maintainers:
+  - Sui Jingfeng <suijingfeng@loongson.cn>
+
+description: |+
+
+  The display controller is a PCI device, it has two display pipe.
+  For the DC in LS2K1000 each way has a DVO output interface which
+  provide RGB888 signals, vertical & horizontal synchronisations
+  and the pixel clock. Each CRTC is able to support 1920x1080@60Hz,
+  the maximum resolution is 2048x2048 according to the hardware spec.
+
+properties:
+  $nodename:
+    pattern: "^display-controller@[0-9a-f],[0-9a-f]$"
+
+  compatible:
+    oneOf:
+      - items:
+          - enum:
+              - loongson,ls2k1000-dc
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    bus {
+
+        #address-cells = <3>;
+        #size-cells = <2>;
+        #interrupt-cells = <2>;
+
+        display-controller@6,0 {
+            compatible = "loongson,ls2k1000-dc";
+            reg = <0x3000 0x0 0x0 0x0 0x0>;
+            interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
+        };
+    };
+
+...
-- 
2.34.1


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

* Re: [PATCH 2/2] dt-bindings: display: Add Loongson display controller
  2023-02-22 16:55 ` [PATCH 2/2] dt-bindings: display: Add Loongson display controller suijingfeng
@ 2023-02-22 18:30   ` Krzysztof Kozlowski
  2023-02-23  9:51     ` suijingfeng
  0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-22 18:30 UTC (permalink / raw)
  To: suijingfeng, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel

On 22/02/2023 17:55, suijingfeng wrote:
> This patch add a trival DT usages for loongson display controller found
> in LS2k1000 SoC.

Trivial yet so many things to improve... if you only started from recent
kernel tree (since you Cced wrong address, I doubt you did) and bindings
you would avoid half of these comments.

> 
> Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
> ---
>  .../loongson/loongson,display-controller.yaml | 58 +++++++++++++++++++
>  1 file changed, 58 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml b/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml
> new file mode 100644
> index 000000000000..98b78f449a80
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml

Filename based on compatible, so "loongson,ls2k1000-dc.yaml"

> @@ -0,0 +1,58 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/loongson/loongson,display-controller.yaml#


> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Loongson Display Controller Device Tree Bindings

Drop "Device Tree Bindings"

> +
> +maintainers:
> +  - Sui Jingfeng <suijingfeng@loongson.cn>
> +
> +description: |+

Drop |+

> +

No need for blank line. Do you see it anywhere else in the bindings?

> +  The display controller is a PCI device, it has two display pipe.
> +  For the DC in LS2K1000 each way has a DVO output interface which
> +  provide RGB888 signals, vertical & horizontal synchronisations
> +  and the pixel clock. Each CRTC is able to support 1920x1080@60Hz,
> +  the maximum resolution is 2048x2048 according to the hardware spec.
> +
> +properties:
> +  $nodename:
> +    pattern: "^display-controller@[0-9a-f],[0-9a-f]$"

Drop nodename.

> +
> +  compatible:
> +    oneOf:

Drop oneOf

> +      - items:

and items...

> +          - enum:
> +              - loongson,ls2k1000-dc
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    bus {
> +

Drop blank line.

> +        #address-cells = <3>;
> +        #size-cells = <2>;
> +        #interrupt-cells = <2>;

Why do you need interrupt-cells?

> +
> +        display-controller@6,0 {
> +            compatible = "loongson,ls2k1000-dc";
> +            reg = <0x3000 0x0 0x0 0x0 0x0>;> +            interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
> +        };
> +    };
> +
> +...

Best regards,
Krzysztof


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

* Re: [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node
  2023-02-22 16:55 [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node suijingfeng
  2023-02-22 16:55 ` [PATCH 2/2] dt-bindings: display: Add Loongson display controller suijingfeng
@ 2023-02-22 18:32 ` Krzysztof Kozlowski
  2023-02-23  3:19   ` Sui jingfeng
  1 sibling, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-22 18:32 UTC (permalink / raw)
  To: suijingfeng, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel

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


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

* Re: [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node
  2023-02-22 18:32 ` [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node Krzysztof Kozlowski
@ 2023-02-23  3:19   ` Sui jingfeng
  2023-02-23  7:58     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 14+ messages in thread
From: Sui jingfeng @ 2023-02-23  3:19 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Thomas Zimmermann, David Airlie,
	Daniel Vetter, Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel

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


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

* Re: [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node
  2023-02-23  3:19   ` Sui jingfeng
@ 2023-02-23  7:58     ` Krzysztof Kozlowski
  2023-02-23  8:05       ` Krzysztof Kozlowski
  2023-02-23  8:40       ` suijingfeng
  0 siblings, 2 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-23  7:58 UTC (permalink / raw)
  To: Sui jingfeng, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel

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


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

* Re: [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node
  2023-02-23  7:58     ` Krzysztof Kozlowski
@ 2023-02-23  8:05       ` Krzysztof Kozlowski
  2023-02-23  8:21         ` suijingfeng
  2023-02-23  8:40       ` suijingfeng
  1 sibling, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-23  8:05 UTC (permalink / raw)
  To: Sui jingfeng, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel

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


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

* Re: [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node
  2023-02-23  8:05       ` Krzysztof Kozlowski
@ 2023-02-23  8:21         ` suijingfeng
  2023-02-23  8:38           ` Krzysztof Kozlowski
  0 siblings, 1 reply; 14+ messages in thread
From: suijingfeng @ 2023-02-23  8:21 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Thomas Zimmermann, David Airlie,
	Daniel Vetter, Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel


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


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

* Re: [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node
  2023-02-23  8:21         ` suijingfeng
@ 2023-02-23  8:38           ` Krzysztof Kozlowski
  0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-23  8:38 UTC (permalink / raw)
  To: suijingfeng, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel

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


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

* Re: [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node
  2023-02-23  7:58     ` Krzysztof Kozlowski
  2023-02-23  8:05       ` Krzysztof Kozlowski
@ 2023-02-23  8:40       ` suijingfeng
  2023-02-23  8:59         ` Krzysztof Kozlowski
  1 sibling, 1 reply; 14+ messages in thread
From: suijingfeng @ 2023-02-23  8:40 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Thomas Zimmermann, David Airlie,
	Daniel Vetter, Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel


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


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

* Re: [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node
  2023-02-23  8:40       ` suijingfeng
@ 2023-02-23  8:59         ` Krzysztof Kozlowski
  2023-02-23  9:17           ` suijingfeng
  0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-23  8:59 UTC (permalink / raw)
  To: suijingfeng, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel

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


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

* Re: [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node
  2023-02-23  8:59         ` Krzysztof Kozlowski
@ 2023-02-23  9:17           ` suijingfeng
  0 siblings, 0 replies; 14+ messages in thread
From: suijingfeng @ 2023-02-23  9:17 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Thomas Zimmermann, David Airlie,
	Daniel Vetter, Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel


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


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

* Re: [PATCH 2/2] dt-bindings: display: Add Loongson display controller
  2023-02-22 18:30   ` Krzysztof Kozlowski
@ 2023-02-23  9:51     ` suijingfeng
  2023-02-23 10:09       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 14+ messages in thread
From: suijingfeng @ 2023-02-23  9:51 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Thomas Zimmermann, David Airlie,
	Daniel Vetter, Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel

Hi,

On 2023/2/23 02:30, Krzysztof Kozlowski wrote:
> On 22/02/2023 17:55, suijingfeng wrote:
>> This patch add a trival DT usages for loongson display controller found
>> in LS2k1000 SoC.
> Trivial yet so many things to improve... if you only started from recent
> kernel tree (since you Cced wrong address, I doubt you did) and bindings
> you would avoid half of these comments.

Yes, you are right.

I will double check the Cced next time, I'm start from drm-tip.

but Cced using a record before.

>> Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
>> ---
>>   .../loongson/loongson,display-controller.yaml | 58 +++++++++++++++++++
>>   1 file changed, 58 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml b/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml
>> new file mode 100644
>> index 000000000000..98b78f449a80
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml
> Filename based on compatible, so "loongson,ls2k1000-dc.yaml"

what if we have more than one SoC,

we have  loongson,ls2k1000-dc, loongson,ls2k2000-dc and loongson,ls2k0500-dc

we will have loongson,ls2k3000-dc in the future, then how should i write 
this?

I want a single file yaml file include them all.

I'm asking because we don't know which method is good, write three piece 
of yaml or just one.

Just tell me how to write this, i will follow you instruction.

>> @@ -0,0 +1,58 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/display/loongson/loongson,display-controller.yaml#
>>
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Loongson Display Controller Device Tree Bindings
> Drop "Device Tree Bindings"
OK,
>> +
>> +maintainers:
>> +  - Sui Jingfeng <suijingfeng@loongson.cn>
>> +
>> +description: |+
> Drop |+
>
>> +
> No need for blank line. Do you see it anywhere else in the bindings?
OK, acceptable.
>> +  The display controller is a PCI device, it has two display pipe.
>> +  For the DC in LS2K1000 each way has a DVO output interface which
>> +  provide RGB888 signals, vertical & horizontal synchronisations
>> +  and the pixel clock. Each CRTC is able to support 1920x1080@60Hz,
>> +  the maximum resolution is 2048x2048 according to the hardware spec.
>> +
>> +properties:
>> +  $nodename:
>> +    pattern: "^display-controller@[0-9a-f],[0-9a-f]$"
> Drop nodename.

Are you sure about this?  When i  write this property, I'm reference the 
ingenic,lcd.yaml .

ingenic,lcd.yaml has nodename too.

If I delete $nodename, then the test results say 
'^display-controller@[0-9a-f],[0-9a-f]$'  is not of type 'object'.

log is pasted 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
   LINT    Documentation/devicetree/bindings
   DTEX 
Documentation/devicetree/bindings/display/loongson/loongson,display-controller.example.dts
   CHKDT   Documentation/devicetree/bindings/processed-schema.json
/home/suijingfeng/UpStream/drm-tip/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml: 
properties:pattern: '^display-controller@[0-9a-f],[0-9a-f]$' is not of 
type 'object', 'boolean'
     from schema $id: http://json-schema.org/draft-07/schema#
/home/suijingfeng/UpStream/drm-tip/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml: 
properties: 'pattern' should not be valid under {'$ref': 
'#/definitions/json-schema-prop-names'}
     hint: A json-schema keyword was found instead of a DT property name.
     from schema $id: http://devicetree.org/meta-schemas/keywords.yaml#
   SCHEMA  Documentation/devicetree/bindings/processed-schema.json
/home/suijingfeng/UpStream/drm-tip/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml: 
ignoring, error in schema: properties: pattern
   DTC_CHK 
Documentation/devicetree/bindings/display/loongson/loongson,display-controller.example.dtb

>
>> +
>> +  compatible:
>> +    oneOf:
> Drop oneOf
>
>> +      - items:
> and items...
>
>> +          - enum:
>> +              - loongson,ls2k1000-dc
>> +  reg:
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - interrupts
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/interrupt-controller/irq.h>
>> +    bus {
>> +
> Drop blank line.
>
>> +        #address-cells = <3>;
>> +        #size-cells = <2>;
>> +        #interrupt-cells = <2>;
> Why do you need interrupt-cells?
>
>> +
>> +        display-controller@6,0 {
>> +            compatible = "loongson,ls2k1000-dc";
>> +            reg = <0x3000 0x0 0x0 0x0 0x0>;> +            interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
>> +        };
>> +    };
>> +
>> +...
> Best regards,
> Krzysztof


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

* Re: [PATCH 2/2] dt-bindings: display: Add Loongson display controller
  2023-02-23  9:51     ` suijingfeng
@ 2023-02-23 10:09       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-23 10:09 UTC (permalink / raw)
  To: suijingfeng, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Rob Herring, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, dri-devel

On 23/02/2023 10:51, suijingfeng wrote:
>>> diff --git a/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml b/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml
>>> new file mode 100644
>>> index 000000000000..98b78f449a80
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/display/loongson/loongson,display-controller.yaml
>> Filename based on compatible, so "loongson,ls2k1000-dc.yaml"
> 
> what if we have more than one SoC,
> 
> we have  loongson,ls2k1000-dc, loongson,ls2k2000-dc and loongson,ls2k0500-dc
> 
> we will have loongson,ls2k3000-dc in the future, then how should i write 
> this?

Then it is fine.

> 
> I want a single file yaml file include them all.
> 
> I'm asking because we don't know which method is good, write three piece 
> of yaml or just one.
> 
> Just tell me how to write this, i will follow you instruction.
> 
>>> @@ -0,0 +1,58 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/display/loongson/loongson,display-controller.yaml#
>>>
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Loongson Display Controller Device Tree Bindings
>> Drop "Device Tree Bindings"
> OK,
>>> +
>>> +maintainers:
>>> +  - Sui Jingfeng <suijingfeng@loongson.cn>
>>> +
>>> +description: |+
>> Drop |+
>>
>>> +
>> No need for blank line. Do you see it anywhere else in the bindings?
> OK, acceptable.
>>> +  The display controller is a PCI device, it has two display pipe.
>>> +  For the DC in LS2K1000 each way has a DVO output interface which
>>> +  provide RGB888 signals, vertical & horizontal synchronisations
>>> +  and the pixel clock. Each CRTC is able to support 1920x1080@60Hz,
>>> +  the maximum resolution is 2048x2048 according to the hardware spec.
>>> +
>>> +properties:
>>> +  $nodename:
>>> +    pattern: "^display-controller@[0-9a-f],[0-9a-f]$"
>> Drop nodename.
> 
> Are you sure about this?  When i  write this property, I'm reference the 
> ingenic,lcd.yaml .
> 
> ingenic,lcd.yaml has nodename too.
> 
> If I delete $nodename, then the test results say 
> '^display-controller@[0-9a-f],[0-9a-f]$'  is not of type 'object'.
> 
> log is pasted at below.

I meant, drop entire nodename and pattern.



Best regards,
Krzysztof


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

end of thread, other threads:[~2023-02-23 10:09 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-22 16:55 [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node suijingfeng
2023-02-22 16:55 ` [PATCH 2/2] dt-bindings: display: Add Loongson display controller suijingfeng
2023-02-22 18:30   ` Krzysztof Kozlowski
2023-02-23  9:51     ` suijingfeng
2023-02-23 10:09       ` Krzysztof Kozlowski
2023-02-22 18:32 ` [PATCH 1/2] Mips: ls2k1000: dts: add the display controller device node Krzysztof Kozlowski
2023-02-23  3:19   ` Sui jingfeng
2023-02-23  7:58     ` Krzysztof Kozlowski
2023-02-23  8:05       ` Krzysztof Kozlowski
2023-02-23  8:21         ` suijingfeng
2023-02-23  8:38           ` Krzysztof Kozlowski
2023-02-23  8:40       ` suijingfeng
2023-02-23  8:59         ` Krzysztof Kozlowski
2023-02-23  9:17           ` suijingfeng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).