diff mbox series

[1/4] dt-bindings: display/msm: Redocument the dp-controller for QCS8300

Message ID 20250212-mst_qcs8300-v1-1-38a8aa08394b@quicinc.com (mailing list archive)
State New, archived
Headers show
Series Add MST support for qcs8300 platform | expand

Commit Message

Yongxing Mou Feb. 12, 2025, 7:12 a.m. UTC
We need to enable mst for qcs8300, dp0 controller will support 2 streams
output. So not reuse sm8650 dp controller driver and will add a new driver
patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
to compatible with the qcs8300-dp.

Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>
---
 Documentation/devicetree/bindings/display/msm/dp-controller.yaml | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

Comments

Krzysztof Kozlowski Feb. 12, 2025, 8:35 a.m. UTC | #1
On 12/02/2025 08:12, Yongxing Mou wrote:
> We need to enable mst for qcs8300, dp0 controller will support 2 streams
> output. So not reuse sm8650 dp controller driver and will add a new driver
> patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
> to compatible with the qcs8300-dp.
> 
> Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>
NAK. You just said qcs8300 is compatible with sm8650. I did not ask
about drivers, I asked about hardware.

This is messy approach. Describe properly the hardware first, instead of
sending two conflicting patchsets.

Best regards,
Krzysztof
Dmitry Baryshkov Feb. 12, 2025, 10:41 a.m. UTC | #2
On Wed, Feb 12, 2025 at 03:12:24PM +0800, Yongxing Mou wrote:
> We need to enable mst for qcs8300, dp0 controller will support 2 streams
> output. So not reuse sm8650 dp controller driver and will add a new driver
> patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
> to compatible with the qcs8300-dp.

NAK for a different reason: QCS8300 is still compatible with SM8650.
Enable features instead of randomly reshuffle compats. In this case,
enable MST for both architectures.

> 
> Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>
> ---
>  Documentation/devicetree/bindings/display/msm/dp-controller.yaml | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> index 359e364d79b20469d41cd8416a55b6a5d5c7d8ce..59075d7f05147f1f477f236a76fee6ec5d8c5ad8 100644
> --- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> @@ -18,6 +18,7 @@ properties:
>    compatible:
>      oneOf:
>        - enum:
> +          - qcom,qcs8300-dp
>            - qcom,sa8775p-dp
>            - qcom,sc7180-dp
>            - qcom,sc7280-dp
> @@ -37,10 +38,6 @@ properties:
>                - qcom,sm8450-dp
>                - qcom,sm8550-dp
>            - const: qcom,sm8350-dp
> -      - items:
> -          - enum:
> -              - qcom,qcs8300-dp
> -          - const: qcom,sm8650-dp
>  
>    reg:
>      minItems: 4
> 
> -- 
> 2.34.1
>
Dmitry Baryshkov Feb. 12, 2025, 10:42 a.m. UTC | #3
On Wed, Feb 12, 2025 at 03:12:24PM +0800, Yongxing Mou wrote:
> We need to enable mst for qcs8300, dp0 controller will support 2 streams
> output. So not reuse sm8650 dp controller driver and will add a new driver
> patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
> to compatible with the qcs8300-dp.

Forgot to mention that in the quick response: please fix usage of
capital or lowercase letters in the commit message. If you are unusure,
'git log' will help you.

> 
> Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>
> ---
>  Documentation/devicetree/bindings/display/msm/dp-controller.yaml | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
>
Krzysztof Kozlowski Feb. 12, 2025, 10:53 a.m. UTC | #4
On 12/02/2025 11:41, Dmitry Baryshkov wrote:
> On Wed, Feb 12, 2025 at 03:12:24PM +0800, Yongxing Mou wrote:
>> We need to enable mst for qcs8300, dp0 controller will support 2 streams
>> output. So not reuse sm8650 dp controller driver and will add a new driver
>> patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
>> to compatible with the qcs8300-dp.
> 
> NAK for a different reason: QCS8300 is still compatible with SM8650.
> Enable features instead of randomly reshuffle compats. In this case,
> enable MST for both architectures.
> 
So the original patch was probably correct...

Best regards,
Krzysztof
Yongxing Mou Feb. 12, 2025, 11:13 a.m. UTC | #5
On 2025/2/12 16:35, Krzysztof Kozlowski wrote:
> On 12/02/2025 08:12, Yongxing Mou wrote:
>> We need to enable mst for qcs8300, dp0 controller will support 2 streams
>> output. So not reuse sm8650 dp controller driver and will add a new driver
>> patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
>> to compatible with the qcs8300-dp.
>>
>> Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>
> NAK. You just said qcs8300 is compatible with sm8650. I did not ask
> about drivers, I asked about hardware.
> 
> This is messy approach. Describe properly the hardware first, instead of
> sending two conflicting patchsets.
> 
> Best regards,
> Krzysztof

Hi, Krzysztof, thanks for reviewing, i want to explain why i submitted 
this patch. Patch 
https://lore.kernel.org/all/20250114-dts_qcs8300-v3-1-d114cc5e4af9@quicinc.com/ 
and 
https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-2-1687e7842125@quicinc.com/ 
is the qcs8300 display enablement changes. It base on current linux base 
code and it only support SST mode, so in the SST mode, qcs8300 dp 
controller driver is quite same with sm8650, struct msm_dp_desc only 
have 3 members(io_start, id and wide_bus_supported) and they are same 
both in qcs8300 and sm8650, so we reuse it. BTW, for dp phy hardware 
version, qcs8300 and sm8650 is different.
For this patch series, 
https://lore.kernel.org/all/20250212-mst_qcs8300-v1-0-38a8aa08394b@quicinc.com/ 
, it is made on top of 
https://lore.kernel.org/all/20241205-dp_mst-v1-0-f8618d42a99a@quicinc.com/ 
which is a new feature for msm platform and not fully reviewed all the 
code. Currently patch series enable the MST feature for qcs8300, so the 
dp controller need to support stream 1, and we need add max_streams and 
intf_map in the struct msm_dp_desc to support MST. So we don't reuse the 
sm8650 drivers in this patch series.
For my understanding, qcs8300 SST changes should merge 
first(https://lore.kernel.org/all/20250114-dts_qcs8300-v3-0-d114cc5e4af9@quicinc.com/ 
and 
https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-0-1687e7842125@quicinc.com/), 
and next is the MST base commits 
(https://lore.kernel.org/all/20241205-dp_mst-v1-0-f8618d42a99a@quicinc.com/), 
and this patch series should merge at last. why i post qcs8300 
enablement changes first and then post the MST changes instead of post 
them together? Because our dependency, i mean this patch series 
(https://lore.kernel.org/all/20241205-dp_mst-v1-0-f8618d42a99a@quicinc.com/), 
it has about 45 changes, so it might take lots of time to merge. we just 
want to make sure that display can work on DP SST mode first.
So I am just understand that the previous commit was not an incorrect 
commit, but rather two functionalities were changed in the same place.
Thanks,
Yongxing
Krzysztof Kozlowski Feb. 12, 2025, 11:28 a.m. UTC | #6
On 12/02/2025 12:13, Yongxing Mou wrote:
> 
> 
> On 2025/2/12 16:35, Krzysztof Kozlowski wrote:
>> On 12/02/2025 08:12, Yongxing Mou wrote:
>>> We need to enable mst for qcs8300, dp0 controller will support 2 streams
>>> output. So not reuse sm8650 dp controller driver and will add a new driver
>>> patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
>>> to compatible with the qcs8300-dp.
>>>
>>> Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>
>> NAK. You just said qcs8300 is compatible with sm8650. I did not ask
>> about drivers, I asked about hardware.
>>
>> This is messy approach. Describe properly the hardware first, instead of
>> sending two conflicting patchsets.
>>
>> Best regards,
>> Krzysztof
> 
> Hi, Krzysztof, thanks for reviewing, i want to explain why i submitted 
> this patch. Patch 
> https://lore.kernel.org/all/20250114-dts_qcs8300-v3-1-d114cc5e4af9@quicinc.com/ 
> and 
> https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-2-1687e7842125@quicinc.com/ 
> is the qcs8300 display enablement changes. It base on current linux base 
> code and it only support SST mode, so in the SST mode, qcs8300 dp 
> controller driver is quite same with sm8650, struct msm_dp_desc only 
> have 3 members(io_start, id and wide_bus_supported) and they are same 
> both in qcs8300 and sm8650, so we reuse it. BTW, for dp phy hardware 
> version, qcs8300 and sm8650 is different.

No. In one patchset you claim hardware is like that, in other patchset
you say hardware is different.

Sorry, hardware does not change based on your patchsets.

Sort out this before posting new versions.

Best regards,
Krzysztof
Dmitry Baryshkov Feb. 12, 2025, 12:26 p.m. UTC | #7
On Wed, 12 Feb 2025 at 12:54, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 12/02/2025 11:41, Dmitry Baryshkov wrote:
> > On Wed, Feb 12, 2025 at 03:12:24PM +0800, Yongxing Mou wrote:
> >> We need to enable mst for qcs8300, dp0 controller will support 2 streams
> >> output. So not reuse sm8650 dp controller driver and will add a new driver
> >> patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
> >> to compatible with the qcs8300-dp.
> >
> > NAK for a different reason: QCS8300 is still compatible with SM8650.
> > Enable features instead of randomly reshuffle compats. In this case,
> > enable MST for both architectures.
> >
> So the original patch was probably correct...

I have no idea. I'd let Yongxing Mou to comment on this. It would be
nice  instead of getting a lengthy explanation of obvious items to get
an answer to an actual question: is QCS8300 compatible with SM8650 or
not. In other words whether they can support the same number of MST
streams on each controller or not.
Konrad Dybcio Feb. 12, 2025, 1:44 p.m. UTC | #8
On 12.02.2025 12:28 PM, Krzysztof Kozlowski wrote:
> On 12/02/2025 12:13, Yongxing Mou wrote:
>>
>>
>> On 2025/2/12 16:35, Krzysztof Kozlowski wrote:
>>> On 12/02/2025 08:12, Yongxing Mou wrote:
>>>> We need to enable mst for qcs8300, dp0 controller will support 2 streams
>>>> output. So not reuse sm8650 dp controller driver and will add a new driver
>>>> patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
>>>> to compatible with the qcs8300-dp.
>>>>
>>>> Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>
>>> NAK. You just said qcs8300 is compatible with sm8650. I did not ask
>>> about drivers, I asked about hardware.
>>>
>>> This is messy approach. Describe properly the hardware first, instead of
>>> sending two conflicting patchsets.
>>>
>>> Best regards,
>>> Krzysztof
>>
>> Hi, Krzysztof, thanks for reviewing, i want to explain why i submitted 
>> this patch. Patch 
>> https://lore.kernel.org/all/20250114-dts_qcs8300-v3-1-d114cc5e4af9@quicinc.com/ 
>> and 
>> https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-2-1687e7842125@quicinc.com/ 
>> is the qcs8300 display enablement changes. It base on current linux base 
>> code and it only support SST mode, so in the SST mode, qcs8300 dp 
>> controller driver is quite same with sm8650, struct msm_dp_desc only 
>> have 3 members(io_start, id and wide_bus_supported) and they are same 
>> both in qcs8300 and sm8650, so we reuse it. BTW, for dp phy hardware 
>> version, qcs8300 and sm8650 is different.
> 
> No. In one patchset you claim hardware is like that, in other patchset
> you say hardware is different.
> 
> Sorry, hardware does not change based on your patchsets.
> 
> Sort out this before posting new versions.

In other words, fallback compatibles must be chosen with features that
are present in hardware, but not yet supported upstream in mind.

It's totally fine (and even preferred/expected) to describe hardware resources
(such as MST clocks here) when initially creating bindings for a piece of hw,
even though the drivers don't use them yet at that moment.

dt-bindings are supposed to give the OS a complete representation of the
hardware and ideally be immutable (which is a struggle, but we're getting
better). Driver specifics should not influence your decisions (or at least
do so very minimally) when adding these.

Now you're in a """good""" position as the display bindings haven't been merged
yet, so you can still upload a new patchset where the description is more
accurate. If it was merged, we'd have to break the ABI or add some crazy 
workarounds..

Please coalesce this patchset with the "add 8300 display support" one.

Please also describe all 4 MST clocks and whatever other clocks/resets that
may be necessary down the line.
 
Konrad
Yongxing Mou Feb. 19, 2025, 9:43 a.m. UTC | #9
On 2025/2/12 21:44, Konrad Dybcio wrote:
> On 12.02.2025 12:28 PM, Krzysztof Kozlowski wrote:
>> On 12/02/2025 12:13, Yongxing Mou wrote:
>>>
>>>
>>> On 2025/2/12 16:35, Krzysztof Kozlowski wrote:
>>>> On 12/02/2025 08:12, Yongxing Mou wrote:
>>>>> We need to enable mst for qcs8300, dp0 controller will support 2 streams
>>>>> output. So not reuse sm8650 dp controller driver and will add a new driver
>>>>> patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
>>>>> to compatible with the qcs8300-dp.
>>>>>
>>>>> Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>
>>>> NAK. You just said qcs8300 is compatible with sm8650. I did not ask
>>>> about drivers, I asked about hardware.
>>>>
>>>> This is messy approach. Describe properly the hardware first, instead of
>>>> sending two conflicting patchsets.
>>>>
>>>> Best regards,
>>>> Krzysztof
>>>
>>> Hi, Krzysztof, thanks for reviewing, i want to explain why i submitted
>>> this patch. Patch
>>> https://lore.kernel.org/all/20250114-dts_qcs8300-v3-1-d114cc5e4af9@quicinc.com/
>>> and
>>> https://lore.kernel.org/all/20250120-mdssdt_qcs8300-v4-2-1687e7842125@quicinc.com/
>>> is the qcs8300 display enablement changes. It base on current linux base
>>> code and it only support SST mode, so in the SST mode, qcs8300 dp
>>> controller driver is quite same with sm8650, struct msm_dp_desc only
>>> have 3 members(io_start, id and wide_bus_supported) and they are same
>>> both in qcs8300 and sm8650, so we reuse it. BTW, for dp phy hardware
>>> version, qcs8300 and sm8650 is different.
>>
>> No. In one patchset you claim hardware is like that, in other patchset
>> you say hardware is different.
>>
>> Sorry, hardware does not change based on your patchsets.
>>
>> Sort out this before posting new versions.
> 
> In other words, fallback compatibles must be chosen with features that
> are present in hardware, but not yet supported upstream in mind.
> 
> It's totally fine (and even preferred/expected) to describe hardware resources
> (such as MST clocks here) when initially creating bindings for a piece of hw,
> even though the drivers don't use them yet at that moment.
> 
> dt-bindings are supposed to give the OS a complete representation of the
> hardware and ideally be immutable (which is a struggle, but we're getting
> better). Driver specifics should not influence your decisions (or at least
> do so very minimally) when adding these.
> 
> Now you're in a """good""" position as the display bindings haven't been merged
> yet, so you can still upload a new patchset where the description is more
> accurate. If it was merged, we'd have to break the ABI or add some crazy
> workarounds..
> 
> Please coalesce this patchset with the "add 8300 display support" one.
> 
> Please also describe all 4 MST clocks and whatever other clocks/resets that
> may be necessary down the line.
>   
> Konrad
Thanks, will update it in this patch "add 8300 display support". Because 
this will depend on this change: 
https://patchwork.freedesktop.org/series/142016/. we will first fix our 
dependecy comments and then repost it.
Yongxing Mou Feb. 19, 2025, 9:56 a.m. UTC | #10
On 2025/2/12 20:26, Dmitry Baryshkov wrote:
> On Wed, 12 Feb 2025 at 12:54, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>
>> On 12/02/2025 11:41, Dmitry Baryshkov wrote:
>>> On Wed, Feb 12, 2025 at 03:12:24PM +0800, Yongxing Mou wrote:
>>>> We need to enable mst for qcs8300, dp0 controller will support 2 streams
>>>> output. So not reuse sm8650 dp controller driver and will add a new driver
>>>> patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
>>>> to compatible with the qcs8300-dp.
>>>
>>> NAK for a different reason: QCS8300 is still compatible with SM8650.
>>> Enable features instead of randomly reshuffle compats. In this case,
>>> enable MST for both architectures.
>>>
>> So the original patch was probably correct...
> 
> I have no idea. I'd let Yongxing Mou to comment on this. It would be
> nice  instead of getting a lengthy explanation of obvious items to get
> an answer to an actual question: is QCS8300 compatible with SM8650 or
> not. In other words whether they can support the same number of MST
> streams on each controller or not.
> 
Hi, in hardware, the SM8650's DP controller supports 2 INTFs, while the 
QCS8300's DP0 controller supports 4 INTFs.In sst mode, only one INTF 
will be used, they are same, but for MST, sm8650 supports 2 streams 
while qcs8300 support 4 streams. Thanks.
Yongxing Mou Feb. 19, 2025, 9:57 a.m. UTC | #11
On 2025/2/12 18:42, Dmitry Baryshkov wrote:
> On Wed, Feb 12, 2025 at 03:12:24PM +0800, Yongxing Mou wrote:
>> We need to enable mst for qcs8300, dp0 controller will support 2 streams
>> output. So not reuse sm8650 dp controller driver and will add a new driver
>> patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
>> to compatible with the qcs8300-dp.
> 
> Forgot to mention that in the quick response: please fix usage of
> capital or lowercase letters in the commit message. If you are unusure,
> 'git log' will help you.
> 
>>
>> Signed-off-by: Yongxing Mou <quic_yongmou@quicinc.com>
>> ---
>>   Documentation/devicetree/bindings/display/msm/dp-controller.yaml | 5 +----
>>   1 file changed, 1 insertion(+), 4 deletions(-)
>>
> 
Got it , thanks. Will correct it in new patch.
Dmitry Baryshkov Feb. 19, 2025, 12:56 p.m. UTC | #12
On Wed, Feb 19, 2025 at 05:56:14PM +0800, Yongxing Mou wrote:
> 
> 
> On 2025/2/12 20:26, Dmitry Baryshkov wrote:
> > On Wed, 12 Feb 2025 at 12:54, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > > 
> > > On 12/02/2025 11:41, Dmitry Baryshkov wrote:
> > > > On Wed, Feb 12, 2025 at 03:12:24PM +0800, Yongxing Mou wrote:
> > > > > We need to enable mst for qcs8300, dp0 controller will support 2 streams
> > > > > output. So not reuse sm8650 dp controller driver and will add a new driver
> > > > > patch for qcs8300 mst feature. Modify the corresponding dt-bingding file
> > > > > to compatible with the qcs8300-dp.
> > > > 
> > > > NAK for a different reason: QCS8300 is still compatible with SM8650.
> > > > Enable features instead of randomly reshuffle compats. In this case,
> > > > enable MST for both architectures.
> > > > 
> > > So the original patch was probably correct...
> > 
> > I have no idea. I'd let Yongxing Mou to comment on this. It would be
> > nice  instead of getting a lengthy explanation of obvious items to get
> > an answer to an actual question: is QCS8300 compatible with SM8650 or
> > not. In other words whether they can support the same number of MST
> > streams on each controller or not.
> > 
> Hi, in hardware, the SM8650's DP controller supports 2 INTFs, while the
> QCS8300's DP0 controller supports 4 INTFs.In sst mode, only one INTF will be
> used, they are same, but for MST, sm8650 supports 2 streams while qcs8300
> support 4 streams. Thanks.

So, they are not compatible. Please use separate compatible.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
index 359e364d79b20469d41cd8416a55b6a5d5c7d8ce..59075d7f05147f1f477f236a76fee6ec5d8c5ad8 100644
--- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
@@ -18,6 +18,7 @@  properties:
   compatible:
     oneOf:
       - enum:
+          - qcom,qcs8300-dp
           - qcom,sa8775p-dp
           - qcom,sc7180-dp
           - qcom,sc7280-dp
@@ -37,10 +38,6 @@  properties:
               - qcom,sm8450-dp
               - qcom,sm8550-dp
           - const: qcom,sm8350-dp
-      - items:
-          - enum:
-              - qcom,qcs8300-dp
-          - const: qcom,sm8650-dp
 
   reg:
     minItems: 4