[1/2] dt-bindings: drm/bridge: Add no-hpd property

Message ID 20230316140823.234263-2-j-choudhary@ti.com
State New
Headers
Series "no-hpd" support in CDNS DP bridge driver |

Commit Message

Jayesh Choudhary March 16, 2023, 2:08 p.m. UTC
  From: Rahul T R <r-ravikumar@ti.com>

Add no-hpd property to the bindings, to disable
hpd when not connected or unusable

Signed-off-by: Rahul T R <r-ravikumar@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
---
 .../devicetree/bindings/display/bridge/cdns,mhdp8546.yaml   | 6 ++++++
 1 file changed, 6 insertions(+)
  

Comments

Krzysztof Kozlowski March 17, 2023, 12:38 p.m. UTC | #1
On 16/03/2023 15:08, Jayesh Choudhary wrote:
> From: Rahul T R <r-ravikumar@ti.com>
> 
> Add no-hpd property to the bindings, to disable
> hpd when not connected or unusable
> 
> Signed-off-by: Rahul T R <r-ravikumar@ti.com>
> Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
> ---
>  .../devicetree/bindings/display/bridge/cdns,mhdp8546.yaml   | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml
> index b2e8bc6da9d0..69d381195218 100644
> --- a/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml
> +++ b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml
> @@ -57,6 +57,12 @@ properties:
>    interrupts:
>      maxItems: 1
>  
> +  cdns,no-hpd:

There is already no-hpd property.

> +    type: boolean
> +    description:
> +      Set if the HPD line on the bridge isn't hooked up to anything or is
> +      otherwise unusable.

It's the property of the panel, not bridge. Unless you want to say that
bridge physically does not have HPD? Does it follow the standard in such
case?

Best regards,
Krzysztof
  
Jayesh Choudhary March 21, 2023, 12:02 p.m. UTC | #2
Hello Krzysztof,

On 17/03/23 18:08, Krzysztof Kozlowski wrote:
> On 16/03/2023 15:08, Jayesh Choudhary wrote:
>> From: Rahul T R <r-ravikumar@ti.com>
>>
>> Add no-hpd property to the bindings, to disable
>> hpd when not connected or unusable
>>
>> Signed-off-by: Rahul T R <r-ravikumar@ti.com>
>> Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
>> ---
>>   .../devicetree/bindings/display/bridge/cdns,mhdp8546.yaml   | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml
>> index b2e8bc6da9d0..69d381195218 100644
>> --- a/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml
>> +++ b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml
>> @@ -57,6 +57,12 @@ properties:
>>     interrupts:
>>       maxItems: 1
>>   
>> +  cdns,no-hpd:
> 
> There is already no-hpd property.
> 
>> +    type: boolean
>> +    description:
>> +      Set if the HPD line on the bridge isn't hooked up to anything or is
>> +      otherwise unusable.
> 
> It's the property of the panel, not bridge. Unless you want to say that
> bridge physically does not have HPD? Does it follow the standard in such
> case?

MHDP does have hpd. But the mhdp driver should handle the cases when the
hpd pin of bridge is not connected to that of the DP-connector. This is 
to add support for that. (optional property)

-Jayesh


> 
> Best regards,
> Krzysztof
>
  
Krzysztof Kozlowski March 21, 2023, 12:38 p.m. UTC | #3
On 21/03/2023 13:02, Jayesh Choudhary wrote:
>>
>>> +    type: boolean
>>> +    description:
>>> +      Set if the HPD line on the bridge isn't hooked up to anything or is
>>> +      otherwise unusable.
>>
>> It's the property of the panel, not bridge. Unless you want to say that
>> bridge physically does not have HPD? Does it follow the standard in such
>> case?
> 
> MHDP does have hpd. But the mhdp driver should handle the cases when the

This is about bindings, not driver. Your driver can still handle this as
it wishes.

> hpd pin of bridge is not connected to that of the DP-connector. This is 
> to add support for that. (optional property)

Which is indicated by panel no-hpd, right? Or you mean now that HPD
physically cannot go to panel because it is cut on the bridge side? But
isn't this the same case (from hardware/bindings point, not driver) as
panel would not have HPD?


Best regards,
Krzysztof
  
Jayesh Choudhary March 21, 2023, 2:28 p.m. UTC | #4
On 21/03/23 18:08, Krzysztof Kozlowski wrote:
> On 21/03/2023 13:02, Jayesh Choudhary wrote:
>>>
>>>> +    type: boolean
>>>> +    description:
>>>> +      Set if the HPD line on the bridge isn't hooked up to anything or is
>>>> +      otherwise unusable.
>>>
>>> It's the property of the panel, not bridge. Unless you want to say that
>>> bridge physically does not have HPD? Does it follow the standard in such
>>> case?
>>
>> MHDP does have hpd. But the mhdp driver should handle the cases when the
> 
> This is about bindings, not driver. Your driver can still handle this as
> it wishes.
> 
>> hpd pin of bridge is not connected to that of the DP-connector. This is
>> to add support for that. (optional property)
> 
> Which is indicated by panel no-hpd, right?

Actually no panel is involved in this. For TI SoC J721S2, the data 
pipeline involves the bridge whose endpoint is directly the DP connector 
with compatible 'dp-connector'. And in the binding dp-connector.yaml, 
there isn't any 'no-hpd' property for this indication.

Does this clarifies the issue? Or did I misinterpret your comment?

> Or you mean now that HPD
> physically cannot go to panel because it is cut on the bridge side? But
> isn't this the same case (from hardware/bindings point, not driver) as
> panel would not have HPD?
Warm Regards,
-Jayesh
  
Krzysztof Kozlowski March 21, 2023, 3:17 p.m. UTC | #5
On 21/03/2023 15:28, Jayesh Choudhary wrote:
> 
> 
> On 21/03/23 18:08, Krzysztof Kozlowski wrote:
>> On 21/03/2023 13:02, Jayesh Choudhary wrote:
>>>>
>>>>> +    type: boolean
>>>>> +    description:
>>>>> +      Set if the HPD line on the bridge isn't hooked up to anything or is
>>>>> +      otherwise unusable.
>>>>
>>>> It's the property of the panel, not bridge. Unless you want to say that
>>>> bridge physically does not have HPD? Does it follow the standard in such
>>>> case?
>>>
>>> MHDP does have hpd. But the mhdp driver should handle the cases when the
>>
>> This is about bindings, not driver. Your driver can still handle this as
>> it wishes.
>>
>>> hpd pin of bridge is not connected to that of the DP-connector. This is
>>> to add support for that. (optional property)
>>
>> Which is indicated by panel no-hpd, right?
> 
> Actually no panel is involved in this. For TI SoC J721S2, the data 
> pipeline involves the bridge whose endpoint is directly the DP connector 
> with compatible 'dp-connector'. And in the binding dp-connector.yaml, 
> there isn't any 'no-hpd' property for this indication.
> 
> Does this clarifies the issue? Or did I misinterpret your comment?

Yes, then you only need to narrow which hardware does not have HPD
hooked up. Or at least clarify that it is not about driver having or not
having HPD control...


Best regards,
Krzysztof
  
Jayesh Choudhary March 23, 2023, 12:26 p.m. UTC | #6
On 21/03/23 20:47, Krzysztof Kozlowski wrote:
> On 21/03/2023 15:28, Jayesh Choudhary wrote:
>>
>>
>> On 21/03/23 18:08, Krzysztof Kozlowski wrote:
>>> On 21/03/2023 13:02, Jayesh Choudhary wrote:
>>>>>
>>>>>> +    type: boolean
>>>>>> +    description:
>>>>>> +      Set if the HPD line on the bridge isn't hooked up to anything or is
>>>>>> +      otherwise unusable.
>>>>>
>>>>> It's the property of the panel, not bridge. Unless you want to say that
>>>>> bridge physically does not have HPD? Does it follow the standard in such
>>>>> case?
>>>>
>>>> MHDP does have hpd. But the mhdp driver should handle the cases when the
>>>
>>> This is about bindings, not driver. Your driver can still handle this as
>>> it wishes.
>>>
>>>> hpd pin of bridge is not connected to that of the DP-connector. This is
>>>> to add support for that. (optional property)
>>>
>>> Which is indicated by panel no-hpd, right?
>>
>> Actually no panel is involved in this. For TI SoC J721S2, the data
>> pipeline involves the bridge whose endpoint is directly the DP connector
>> with compatible 'dp-connector'. And in the binding dp-connector.yaml,
>> there isn't any 'no-hpd' property for this indication.
>>
>> Does this clarifies the issue? Or did I misinterpret your comment?
> 
> Yes, then you only need to narrow which hardware does not have HPD
> hooked up. Or at least clarify that it is not about driver having or not
> having HPD control...
> 

Okay. I will edit the commit message in v2. (after further review of the 
driver changes for this series)

I will mention that the mhdp bridge can work without its HPD pin hooked
up to the connector, but the current bridge driver throws an error when
hpd line is not connected to the connector. For such cases, using this 
optional property, we can bypass the hpd detection and instead use the 
auxiliary channels connected to the DP connector to confirm the connection.

Thanks,
-Jayesh
  

Patch

diff --git a/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml
index b2e8bc6da9d0..69d381195218 100644
--- a/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml
@@ -57,6 +57,12 @@  properties:
   interrupts:
     maxItems: 1
 
+  cdns,no-hpd:
+    type: boolean
+    description:
+      Set if the HPD line on the bridge isn't hooked up to anything or is
+      otherwise unusable.
+
   ports:
     $ref: /schemas/graph.yaml#/properties/ports