On Tue, 28 Jan 2020 14:55:02 +0100 Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> 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(-) >