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

Daniel Vetter daniel at ffwll.ch
Fri Jan 31 18:08:25 UTC 2020


On Fri, Jan 31, 2020 at 04:42:44PM +0100, Boris Brezillon wrote:
> 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).

A-b should be enough ... some typo in the A-b tag maybe?
-Daniel

> 
> >   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(-)
> > 
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list