[PATCH v10 00/12] drm: Add support for bus-format negotiation

Boris Brezillon boris.brezillon at collabora.com
Fri Jan 31 15:42:44 UTC 2020


On Tue, 28 Jan 2020 14:55:02 +0100
Boris Brezillon <boris.brezillon at collabora.com> wrote:

> Hello,
> 
> This patch series aims at adding support for runtime bus-format
> negotiation between all elements of the
> 'encoder -> bridges -> connector/display' section of the pipeline.
> 
> In order to support that, we need drm bridges to fully take part in the
> atomic state validation process, which requires adding a
> drm_bridge_state and a new drm_bridge_funcs.atomic_check() hook.
> Once those basic building blocks are in place, we can add new hooks to
> allow bus format negotiation (those are called just before
> ->atomic_check()). The bus format selection is done at runtime by  
> testing all possible combinations across the whole bridge chain until
> one is reported to work.
> 
> No fundamental changes in this v10, just collected R-bs, addressed
> Philipp's comments and moved the changelog back to the visible part
> of the commit message.
> 
> I plan to apply patches 1 to 7 soon, so if there's anything you don't
> like in there, please say it now. Still waiting for review on the LVDS
> bridge and panel stuff.
> 
> This patch series is also available here [1].
> 
> Thanks,
> 
> Boris
> 
> [1]https://github.com/bbrezillon/linux-0day/commits/drm-bridge-busfmt-v10
> 
> Boris Brezillon (12):
>   drm/bridge: Add a drm_bridge_state object
>   drm/rcar-du: Plug atomic state hooks to the default implementation
>   drm/bridge: analogix: Plug atomic state hooks to the default
>     implementation
>   drm/bridge: Patch atomic hooks to take a drm_bridge_state
>   drm/bridge: Add an ->atomic_check() hook
>   drm/bridge: Add the necessary bits to support bus format negotiation
>   drm/imx: pd: Use bus format/flags provided by the bridge when
>     available

Patches 1 to 7 applied.

>   drm/bridge: lvds-codec: Implement basic bus format negotiation
>   dt-bindings: display: bridge: lvds-codec: Add new bus-width prop
>   drm/bridge: panel: Propage bus format/flags

Laurent, when you find some time, could you have a look at patches 8-10?

>   drm/panel: simple: Fix the lt089ac29000 bus_format

Sam, I'll let you apply that one since dim complained that it was
missing a R-b (you only gave your A-b).

>   ARM: dts: imx: imx51-zii-rdu1: Fix the display pipeline definition
> 
>  .../bindings/display/bridge/lvds-codec.yaml   |   8 +
>  arch/arm/boot/dts/imx51-zii-rdu1.dts          |  24 +-
>  .../drm/bridge/analogix/analogix_dp_core.c    |  44 +-
>  drivers/gpu/drm/bridge/lvds-codec.c           |  64 ++-
>  drivers/gpu/drm/bridge/panel.c                |   4 +
>  drivers/gpu/drm/drm_atomic.c                  | 116 +++++
>  drivers/gpu/drm/drm_atomic_helper.c           |  73 ++-
>  drivers/gpu/drm/drm_atomic_state_helper.c     | 103 +++++
>  drivers/gpu/drm/drm_bridge.c                  | 437 +++++++++++++++++-
>  drivers/gpu/drm/imx/parallel-display.c        | 177 ++++++-
>  drivers/gpu/drm/panel/panel-simple.c          |   2 +-
>  drivers/gpu/drm/rcar-du/rcar_lvds.c           |  11 +-
>  include/drm/drm_atomic.h                      |  76 +++
>  include/drm/drm_atomic_helper.h               |   8 +
>  include/drm/drm_atomic_state_helper.h         |  13 +
>  include/drm/drm_bridge.h                      | 179 ++++++-
>  16 files changed, 1258 insertions(+), 81 deletions(-)
> 



More information about the dri-devel mailing list