Message ID | 20191023154512.9762-19-boris.brezillon@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Add support for bus-format negotiation | expand |
Hi Boris, Thank you for the patch. On Wed, Oct 23, 2019 at 05:45:09PM +0200, Boris Brezillon wrote: > So that the previous bridge element in the chain knows which input > format the panel bridge expects. > > Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> > --- > Changes in v3: > * Adjust things to match the new bus-format negotiation approach > * Use drm_atomic_helper_bridge_propagate_bus_fmt > * Don't implement ->atomic_check() (the core now takes care of bus > flags propagation) > > Changes in v2: > * Adjust things to match the new bus-format negotiation approach > --- > drivers/gpu/drm/bridge/panel.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c > index f4e293e7cf64..a70c363a2bd0 100644 > --- a/drivers/gpu/drm/bridge/panel.c > +++ b/drivers/gpu/drm/bridge/panel.c > @@ -127,6 +127,7 @@ static const struct drm_bridge_funcs panel_bridge_bridge_funcs = { > .enable = panel_bridge_enable, > .disable = panel_bridge_disable, > .post_disable = panel_bridge_post_disable, > + .atomic_get_input_bus_fmts = drm_atomic_helper_bridge_propagate_bus_fmt, Shouldn't the format be retrieved from the panel instead of from the connector ? We're moving towards removing connector creation from bridges, so I think it would be more future-proof. > }; > > /**
Hi Laurent, Sorry for the late reply. On Tue, 3 Dec 2019 12:17:30 +0200 Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote: > Hi Boris, > > Thank you for the patch. > > On Wed, Oct 23, 2019 at 05:45:09PM +0200, Boris Brezillon wrote: > > So that the previous bridge element in the chain knows which input > > format the panel bridge expects. > > > > Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> > > --- > > Changes in v3: > > * Adjust things to match the new bus-format negotiation approach > > * Use drm_atomic_helper_bridge_propagate_bus_fmt > > * Don't implement ->atomic_check() (the core now takes care of bus > > flags propagation) > > > > Changes in v2: > > * Adjust things to match the new bus-format negotiation approach > > --- > > drivers/gpu/drm/bridge/panel.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c > > index f4e293e7cf64..a70c363a2bd0 100644 > > --- a/drivers/gpu/drm/bridge/panel.c > > +++ b/drivers/gpu/drm/bridge/panel.c > > @@ -127,6 +127,7 @@ static const struct drm_bridge_funcs panel_bridge_bridge_funcs = { > > .enable = panel_bridge_enable, > > .disable = panel_bridge_disable, > > .post_disable = panel_bridge_post_disable, > > + .atomic_get_input_bus_fmts = drm_atomic_helper_bridge_propagate_bus_fmt, > > Shouldn't the format be retrieved from the panel instead of from the > connector ? We're moving towards removing connector creation from > bridges, so I think it would be more future-proof. Right now the panel bus_format is not exposed by the drm_panel abstraction (only panel_simple have access to this information through their panel_desc). I'd rather not add new things to this series so I'm in favor of keeping the current implementation, but I add this idea (expose bus format through the drm_panel abstraction) to my TODO list. Thanks, Boris
diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c index f4e293e7cf64..a70c363a2bd0 100644 --- a/drivers/gpu/drm/bridge/panel.c +++ b/drivers/gpu/drm/bridge/panel.c @@ -127,6 +127,7 @@ static const struct drm_bridge_funcs panel_bridge_bridge_funcs = { .enable = panel_bridge_enable, .disable = panel_bridge_disable, .post_disable = panel_bridge_post_disable, + .atomic_get_input_bus_fmts = drm_atomic_helper_bridge_propagate_bus_fmt, }; /**
So that the previous bridge element in the chain knows which input format the panel bridge expects. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> --- Changes in v3: * Adjust things to match the new bus-format negotiation approach * Use drm_atomic_helper_bridge_propagate_bus_fmt * Don't implement ->atomic_check() (the core now takes care of bus flags propagation) Changes in v2: * Adjust things to match the new bus-format negotiation approach --- drivers/gpu/drm/bridge/panel.c | 1 + 1 file changed, 1 insertion(+)