[v7,0/8] drm/tidss: Use new connector model for tidss

Message ID 20230606082142.23760-1-a-bhatia1@ti.com
Headers
Series drm/tidss: Use new connector model for tidss |

Message

Aradhya Bhatia June 6, 2023, 8:21 a.m. UTC
  Hi all,

I have picked up this long standing series from Nikhil Devshatwar[1].

This series moves the tidss to using new connectoe model, where the SoC
driver (tidss) creates the connector and all the bridges are attached
with the flag DRM_BRIDGE_ATTACH_NO_CONNECTOR. It also now creates bridge
to support format negotiation and and 'simple' encoder to expose it to
the userspace.

Since the bridges do not create the connector, the bus_format and
bus_flag is set via atomic hooks.

Support format negotiations in the tfp410, sii902x and mhdp-8546 bridge
drivers as a first step before moving the connector model.

These patches were tested on AM625-SK EVM, AM625 SoC based BeaglePlay,
and J721E-SK. Display support for AM625 SoC has not been added upstream
and is a WIP. To test this series on AM625 based platforms, basic
display support patches, (for driver + devicetree), can be found in
the "next_AttachNoConn-v2" branch on my github fork[2].

Thanks,
Aradhya

[1]: https://patchwork.freedesktop.org/series/82765/#rev5
[2]: https://github.com/aradhya07/linux-ab/tree/next_AttachNoConn-v2

Change Log:
V6 -> V7
  - Rebase and cosmetic changes.
  - Drop the output format check condition for mhdp8546 and hence,
    drop Tomi Valkeinen's R-b tag.
  - Added tags wherever suggested.

V5 -> V6
  - Rebase and cosmetic changes
  - Dropped the output format check condition for tfp410 and hence,
    dropped Tomi Valkeinen's and Laurent Pinchart's R-b tags.
  - Based on Boris Brezillon's comments: dropped patches 5 and 6 from
    the series and instead created a single patch that,
      1. Creates tidss bridge for format negotiation.
      2. Creates 'simple' encoder for userspace exposure.
      3. Creates a tidss connector.
      4. Attaches the next-bridge to encoder with the
         DRM_BRIDGE_ATTACH_NO_CONNECTOR flag.
  - Add format negotiation support for sii902x driver.

Previous versions:
V1 to V6: https://patchwork.freedesktop.org/series/82765/

Aradhya Bhatia (3):
  drm/bridge: sii902x: Support format negotiation hooks
  drm/bridge: sii902x: Set input_bus_flags in atomic_check
  drm/tidss: Update encoder/bridge chain connect model

Nikhil Devshatwar (5):
  drm/bridge: tfp410: Support format negotiation hooks
  drm/bridge: tfp410: Set input_bus_flags in atomic_check
  drm/bridge: mhdp8546: Add minimal format negotiation
  drm/bridge: mhdp8546: Set input_bus_flags from atomic_check
  drm/bridge: cdns-mhdp8546: Fix the interrupt enable/disable

 .../drm/bridge/cadence/cdns-mhdp8546-core.c   |  77 ++++++----
 .../drm/bridge/cadence/cdns-mhdp8546-core.h   |   2 +-
 .../drm/bridge/cadence/cdns-mhdp8546-j721e.c  |   9 +-
 .../drm/bridge/cadence/cdns-mhdp8546-j721e.h  |   2 +-
 drivers/gpu/drm/bridge/sii902x.c              |  40 +++++
 drivers/gpu/drm/bridge/ti-tfp410.c            |  43 ++++++
 drivers/gpu/drm/tidss/tidss_encoder.c         | 140 +++++++++++-------
 drivers/gpu/drm/tidss/tidss_encoder.h         |   5 +-
 drivers/gpu/drm/tidss/tidss_kms.c             |  12 +-
 9 files changed, 235 insertions(+), 95 deletions(-)
  

Comments

Neil Armstrong June 6, 2023, 9:07 a.m. UTC | #1
Hi,

On 06/06/2023 10:21, Aradhya Bhatia wrote:
> Hi all,
> 
> I have picked up this long standing series from Nikhil Devshatwar[1].
> 
> This series moves the tidss to using new connectoe model, where the SoC
> driver (tidss) creates the connector and all the bridges are attached
> with the flag DRM_BRIDGE_ATTACH_NO_CONNECTOR. It also now creates bridge
> to support format negotiation and and 'simple' encoder to expose it to
> the userspace.
> 
> Since the bridges do not create the connector, the bus_format and
> bus_flag is set via atomic hooks.
> 
> Support format negotiations in the tfp410, sii902x and mhdp-8546 bridge
> drivers as a first step before moving the connector model.
> 
> These patches were tested on AM625-SK EVM, AM625 SoC based BeaglePlay,
> and J721E-SK. Display support for AM625 SoC has not been added upstream
> and is a WIP. To test this series on AM625 based platforms, basic
> display support patches, (for driver + devicetree), can be found in
> the "next_AttachNoConn-v2" branch on my github fork[2].

I can apply all bridge patches right now so only the tidss change remain,
is that ok for you ?


> 
> Thanks,
> Aradhya
> 
> [1]: https://patchwork.freedesktop.org/series/82765/#rev5
> [2]: https://github.com/aradhya07/linux-ab/tree/next_AttachNoConn-v2
> 
> Change Log:
> V6 -> V7
>    - Rebase and cosmetic changes.
>    - Drop the output format check condition for mhdp8546 and hence,
>      drop Tomi Valkeinen's R-b tag.
>    - Added tags wherever suggested.
> 
> V5 -> V6
>    - Rebase and cosmetic changes
>    - Dropped the output format check condition for tfp410 and hence,
>      dropped Tomi Valkeinen's and Laurent Pinchart's R-b tags.
>    - Based on Boris Brezillon's comments: dropped patches 5 and 6 from
>      the series and instead created a single patch that,
>        1. Creates tidss bridge for format negotiation.
>        2. Creates 'simple' encoder for userspace exposure.
>        3. Creates a tidss connector.
>        4. Attaches the next-bridge to encoder with the
>           DRM_BRIDGE_ATTACH_NO_CONNECTOR flag.
>    - Add format negotiation support for sii902x driver.
> 
> Previous versions:
> V1 to V6: https://patchwork.freedesktop.org/series/82765/
> 
> Aradhya Bhatia (3):
>    drm/bridge: sii902x: Support format negotiation hooks
>    drm/bridge: sii902x: Set input_bus_flags in atomic_check
>    drm/tidss: Update encoder/bridge chain connect model
> 
> Nikhil Devshatwar (5):
>    drm/bridge: tfp410: Support format negotiation hooks
>    drm/bridge: tfp410: Set input_bus_flags in atomic_check
>    drm/bridge: mhdp8546: Add minimal format negotiation
>    drm/bridge: mhdp8546: Set input_bus_flags from atomic_check
>    drm/bridge: cdns-mhdp8546: Fix the interrupt enable/disable
> 
>   .../drm/bridge/cadence/cdns-mhdp8546-core.c   |  77 ++++++----
>   .../drm/bridge/cadence/cdns-mhdp8546-core.h   |   2 +-
>   .../drm/bridge/cadence/cdns-mhdp8546-j721e.c  |   9 +-
>   .../drm/bridge/cadence/cdns-mhdp8546-j721e.h  |   2 +-
>   drivers/gpu/drm/bridge/sii902x.c              |  40 +++++
>   drivers/gpu/drm/bridge/ti-tfp410.c            |  43 ++++++
>   drivers/gpu/drm/tidss/tidss_encoder.c         | 140 +++++++++++-------
>   drivers/gpu/drm/tidss/tidss_encoder.h         |   5 +-
>   drivers/gpu/drm/tidss/tidss_kms.c             |  12 +-
>   9 files changed, 235 insertions(+), 95 deletions(-)
>
  
Aradhya Bhatia June 6, 2023, 9:46 a.m. UTC | #2
Hi Neil,

Thank you for reviewing the previous patches!

On 06-Jun-23 14:37, Neil Armstrong wrote:
> Hi,
> 
> On 06/06/2023 10:21, Aradhya Bhatia wrote:
>> Hi all,
>>
>> I have picked up this long standing series from Nikhil Devshatwar[1].
>>
>> This series moves the tidss to using new connectoe model, where the SoC
>> driver (tidss) creates the connector and all the bridges are attached
>> with the flag DRM_BRIDGE_ATTACH_NO_CONNECTOR. It also now creates bridge
>> to support format negotiation and and 'simple' encoder to expose it to
>> the userspace.
>>
>> Since the bridges do not create the connector, the bus_format and
>> bus_flag is set via atomic hooks.
>>
>> Support format negotiations in the tfp410, sii902x and mhdp-8546 bridge
>> drivers as a first step before moving the connector model.
>>
>> These patches were tested on AM625-SK EVM, AM625 SoC based BeaglePlay,
>> and J721E-SK. Display support for AM625 SoC has not been added upstream
>> and is a WIP. To test this series on AM625 based platforms, basic
>> display support patches, (for driver + devicetree), can be found in
>> the "next_AttachNoConn-v2" branch on my github fork[2].
> 
> I can apply all bridge patches right now so only the tidss change remain,
> is that ok for you ?
> 

While the bridge patches and the tidss patch can be separately built
without any issue, the tidss functionality will break if only the bridge
patches get picked up, and not the tidss.

Would it be possible for you to pick all the patches together once Tomi
acks the tidss patch?


Regards
Aradhya

> 
>>
>> Thanks,
>> Aradhya
>>
>> [1]: https://patchwork.freedesktop.org/series/82765/#rev5
>> [2]: https://github.com/aradhya07/linux-ab/tree/next_AttachNoConn-v2
>>
>> Change Log:
>> V6 -> V7
>>    - Rebase and cosmetic changes.
>>    - Drop the output format check condition for mhdp8546 and hence,
>>      drop Tomi Valkeinen's R-b tag.
>>    - Added tags wherever suggested.
>>
>> V5 -> V6
>>    - Rebase and cosmetic changes
>>    - Dropped the output format check condition for tfp410 and hence,
>>      dropped Tomi Valkeinen's and Laurent Pinchart's R-b tags.
>>    - Based on Boris Brezillon's comments: dropped patches 5 and 6 from
>>      the series and instead created a single patch that,
>>        1. Creates tidss bridge for format negotiation.
>>        2. Creates 'simple' encoder for userspace exposure.
>>        3. Creates a tidss connector.
>>        4. Attaches the next-bridge to encoder with the
>>           DRM_BRIDGE_ATTACH_NO_CONNECTOR flag.
>>    - Add format negotiation support for sii902x driver.
>>
>> Previous versions:
>> V1 to V6: https://patchwork.freedesktop.org/series/82765/
>>
>> Aradhya Bhatia (3):
>>    drm/bridge: sii902x: Support format negotiation hooks
>>    drm/bridge: sii902x: Set input_bus_flags in atomic_check
>>    drm/tidss: Update encoder/bridge chain connect model
>>
>> Nikhil Devshatwar (5):
>>    drm/bridge: tfp410: Support format negotiation hooks
>>    drm/bridge: tfp410: Set input_bus_flags in atomic_check
>>    drm/bridge: mhdp8546: Add minimal format negotiation
>>    drm/bridge: mhdp8546: Set input_bus_flags from atomic_check
>>    drm/bridge: cdns-mhdp8546: Fix the interrupt enable/disable
>>
>>   .../drm/bridge/cadence/cdns-mhdp8546-core.c   |  77 ++++++----
>>   .../drm/bridge/cadence/cdns-mhdp8546-core.h   |   2 +-
>>   .../drm/bridge/cadence/cdns-mhdp8546-j721e.c  |   9 +-
>>   .../drm/bridge/cadence/cdns-mhdp8546-j721e.h  |   2 +-
>>   drivers/gpu/drm/bridge/sii902x.c              |  40 +++++
>>   drivers/gpu/drm/bridge/ti-tfp410.c            |  43 ++++++
>>   drivers/gpu/drm/tidss/tidss_encoder.c         | 140 +++++++++++-------
>>   drivers/gpu/drm/tidss/tidss_encoder.h         |   5 +-
>>   drivers/gpu/drm/tidss/tidss_kms.c             |  12 +-
>>   9 files changed, 235 insertions(+), 95 deletions(-)
>>
>
  
Neil Armstrong June 6, 2023, 9:48 a.m. UTC | #3
On 06/06/2023 11:46, Aradhya Bhatia wrote:
> Hi Neil,
> 
> Thank you for reviewing the previous patches!
> 
> On 06-Jun-23 14:37, Neil Armstrong wrote:
>> Hi,
>>
>> On 06/06/2023 10:21, Aradhya Bhatia wrote:
>>> Hi all,
>>>
>>> I have picked up this long standing series from Nikhil Devshatwar[1].
>>>
>>> This series moves the tidss to using new connectoe model, where the SoC
>>> driver (tidss) creates the connector and all the bridges are attached
>>> with the flag DRM_BRIDGE_ATTACH_NO_CONNECTOR. It also now creates bridge
>>> to support format negotiation and and 'simple' encoder to expose it to
>>> the userspace.
>>>
>>> Since the bridges do not create the connector, the bus_format and
>>> bus_flag is set via atomic hooks.
>>>
>>> Support format negotiations in the tfp410, sii902x and mhdp-8546 bridge
>>> drivers as a first step before moving the connector model.
>>>
>>> These patches were tested on AM625-SK EVM, AM625 SoC based BeaglePlay,
>>> and J721E-SK. Display support for AM625 SoC has not been added upstream
>>> and is a WIP. To test this series on AM625 based platforms, basic
>>> display support patches, (for driver + devicetree), can be found in
>>> the "next_AttachNoConn-v2" branch on my github fork[2].
>>
>> I can apply all bridge patches right now so only the tidss change remain,
>> is that ok for you ?
>>
> 
> While the bridge patches and the tidss patch can be separately built
> without any issue, the tidss functionality will break if only the bridge
> patches get picked up, and not the tidss.
> 
> Would it be possible for you to pick all the patches together once Tomi
> acks the tidss patch?

Sure

Neil
> 
> 
> Regards
> Aradhya
> 
>>
>>>
>>> Thanks,
>>> Aradhya
>>>
>>> [1]: https://patchwork.freedesktop.org/series/82765/#rev5
>>> [2]: https://github.com/aradhya07/linux-ab/tree/next_AttachNoConn-v2
>>>
>>> Change Log:
>>> V6 -> V7
>>>     - Rebase and cosmetic changes.
>>>     - Drop the output format check condition for mhdp8546 and hence,
>>>       drop Tomi Valkeinen's R-b tag.
>>>     - Added tags wherever suggested.
>>>
>>> V5 -> V6
>>>     - Rebase and cosmetic changes
>>>     - Dropped the output format check condition for tfp410 and hence,
>>>       dropped Tomi Valkeinen's and Laurent Pinchart's R-b tags.
>>>     - Based on Boris Brezillon's comments: dropped patches 5 and 6 from
>>>       the series and instead created a single patch that,
>>>         1. Creates tidss bridge for format negotiation.
>>>         2. Creates 'simple' encoder for userspace exposure.
>>>         3. Creates a tidss connector.
>>>         4. Attaches the next-bridge to encoder with the
>>>            DRM_BRIDGE_ATTACH_NO_CONNECTOR flag.
>>>     - Add format negotiation support for sii902x driver.
>>>
>>> Previous versions:
>>> V1 to V6: https://patchwork.freedesktop.org/series/82765/
>>>
>>> Aradhya Bhatia (3):
>>>     drm/bridge: sii902x: Support format negotiation hooks
>>>     drm/bridge: sii902x: Set input_bus_flags in atomic_check
>>>     drm/tidss: Update encoder/bridge chain connect model
>>>
>>> Nikhil Devshatwar (5):
>>>     drm/bridge: tfp410: Support format negotiation hooks
>>>     drm/bridge: tfp410: Set input_bus_flags in atomic_check
>>>     drm/bridge: mhdp8546: Add minimal format negotiation
>>>     drm/bridge: mhdp8546: Set input_bus_flags from atomic_check
>>>     drm/bridge: cdns-mhdp8546: Fix the interrupt enable/disable
>>>
>>>    .../drm/bridge/cadence/cdns-mhdp8546-core.c   |  77 ++++++----
>>>    .../drm/bridge/cadence/cdns-mhdp8546-core.h   |   2 +-
>>>    .../drm/bridge/cadence/cdns-mhdp8546-j721e.c  |   9 +-
>>>    .../drm/bridge/cadence/cdns-mhdp8546-j721e.h  |   2 +-
>>>    drivers/gpu/drm/bridge/sii902x.c              |  40 +++++
>>>    drivers/gpu/drm/bridge/ti-tfp410.c            |  43 ++++++
>>>    drivers/gpu/drm/tidss/tidss_encoder.c         | 140 +++++++++++-------
>>>    drivers/gpu/drm/tidss/tidss_encoder.h         |   5 +-
>>>    drivers/gpu/drm/tidss/tidss_kms.c             |  12 +-
>>>    9 files changed, 235 insertions(+), 95 deletions(-)
>>>
>>
  
Tomi Valkeinen June 8, 2023, 7:29 a.m. UTC | #4
On 06/06/2023 12:48, neil.armstrong@linaro.org wrote:
> On 06/06/2023 11:46, Aradhya Bhatia wrote:
>> Hi Neil,
>>
>> Thank you for reviewing the previous patches!
>>
>> On 06-Jun-23 14:37, Neil Armstrong wrote:
>>> Hi,
>>>
>>> On 06/06/2023 10:21, Aradhya Bhatia wrote:
>>>> Hi all,
>>>>
>>>> I have picked up this long standing series from Nikhil Devshatwar[1].
>>>>
>>>> This series moves the tidss to using new connectoe model, where the SoC
>>>> driver (tidss) creates the connector and all the bridges are attached
>>>> with the flag DRM_BRIDGE_ATTACH_NO_CONNECTOR. It also now creates 
>>>> bridge
>>>> to support format negotiation and and 'simple' encoder to expose it to
>>>> the userspace.
>>>>
>>>> Since the bridges do not create the connector, the bus_format and
>>>> bus_flag is set via atomic hooks.
>>>>
>>>> Support format negotiations in the tfp410, sii902x and mhdp-8546 bridge
>>>> drivers as a first step before moving the connector model.
>>>>
>>>> These patches were tested on AM625-SK EVM, AM625 SoC based BeaglePlay,
>>>> and J721E-SK. Display support for AM625 SoC has not been added upstream
>>>> and is a WIP. To test this series on AM625 based platforms, basic
>>>> display support patches, (for driver + devicetree), can be found in
>>>> the "next_AttachNoConn-v2" branch on my github fork[2].
>>>
>>> I can apply all bridge patches right now so only the tidss change 
>>> remain,
>>> is that ok for you ?
>>>
>>
>> While the bridge patches and the tidss patch can be separately built
>> without any issue, the tidss functionality will break if only the bridge
>> patches get picked up, and not the tidss.
>>
>> Would it be possible for you to pick all the patches together once Tomi
>> acks the tidss patch?
> 
> Sure

I think this looks fine. For the series:

Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

  Tomi
  
Javier Martinez Canillas July 10, 2023, 12:24 p.m. UTC | #5
Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> writes:

Hello Tomi and Neil,

> On 06/06/2023 12:48, neil.armstrong@linaro.org wrote:
>> On 06/06/2023 11:46, Aradhya Bhatia wrote:
>>> Hi Neil,
>>>
>>> Thank you for reviewing the previous patches!
>>>
>>> On 06-Jun-23 14:37, Neil Armstrong wrote:
>>>> Hi,
>>>>
>>>> On 06/06/2023 10:21, Aradhya Bhatia wrote:
>>>>> Hi all,
>>>>>
>>>>> I have picked up this long standing series from Nikhil Devshatwar[1].
>>>>>
>>>>> This series moves the tidss to using new connectoe model, where the SoC
>>>>> driver (tidss) creates the connector and all the bridges are attached
>>>>> with the flag DRM_BRIDGE_ATTACH_NO_CONNECTOR. It also now creates 
>>>>> bridge
>>>>> to support format negotiation and and 'simple' encoder to expose it to
>>>>> the userspace.
>>>>>
>>>>> Since the bridges do not create the connector, the bus_format and
>>>>> bus_flag is set via atomic hooks.
>>>>>
>>>>> Support format negotiations in the tfp410, sii902x and mhdp-8546 bridge
>>>>> drivers as a first step before moving the connector model.
>>>>>
>>>>> These patches were tested on AM625-SK EVM, AM625 SoC based BeaglePlay,
>>>>> and J721E-SK. Display support for AM625 SoC has not been added upstream
>>>>> and is a WIP. To test this series on AM625 based platforms, basic
>>>>> display support patches, (for driver + devicetree), can be found in
>>>>> the "next_AttachNoConn-v2" branch on my github fork[2].
>>>>
>>>> I can apply all bridge patches right now so only the tidss change 
>>>> remain,
>>>> is that ok for you ?
>>>>
>>>
>>> While the bridge patches and the tidss patch can be separately built
>>> without any issue, the tidss functionality will break if only the bridge
>>> patches get picked up, and not the tidss.
>>>
>>> Would it be possible for you to pick all the patches together once Tomi
>>> acks the tidss patch?
>> 
>> Sure
>
> I think this looks fine. For the series:
>
> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
>

It seems this series fell through the cracks? Since you both already
reviewed the patches, I've just pushed all the set to drm-misc-next.

Thanks all!