Message ID | 20200128135514.108171-1-boris.brezillon@collabora.com (mailing list archive) |
---|---|
Headers | show |
Series | drm: Add support for bus-format negotiation | expand |
On Tue, 28 Jan 2020 14:55:02 +0100 Boris Brezillon <boris.brezillon@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(-) >
Hi Boris. > > > 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). Applied to drm-misc-next. Sam
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@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(-) > > >