On Tue, Mar 14, 2023 at 12:01 PM Pin-yen Lin <treapking@xxxxxxxxxxxx> wrote: > > Skip the drm_bridge_chain_pre_enable call when the bridge is already > pre_enabled. This make pre_enable and post_disable (thus > pm_runtime_get/put) symmetric. > > Fixes: 46f206304db0 ("drm/bridge: ps8640: Rework power state handling") > Signed-off-by: Pin-yen Lin <treapking@xxxxxxxxxxxx> > --- > > drivers/gpu/drm/bridge/parade-ps8640.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c > index 4b361d7d5e44..08de501c436e 100644 > --- a/drivers/gpu/drm/bridge/parade-ps8640.c > +++ b/drivers/gpu/drm/bridge/parade-ps8640.c > @@ -557,7 +557,8 @@ static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge, > * EDID, for this chip, we need to do a full poweron, otherwise it will > * fail. > */ > - drm_atomic_bridge_chain_pre_enable(bridge, connector->state->state); > + if (poweroff) > + drm_atomic_bridge_chain_pre_enable(bridge, connector->state->state); > > edid = drm_get_edid(connector, > ps_bridge->page[PAGE0_DP_CNTL]->adapter); > -- > 2.40.0.rc1.284.g88254d51c5-goog > Reviewed-by: Robert Foss <rfoss@xxxxxxxxxx>