On Wed, Apr 18, 2018 at 12:40 PM, Stefan Schake stschake@gmail.com wrote:
Using drm_atomic_get_private_obj_state after state has been swapped will return old state.
Fixes: 0281c4149021 ("drm/tegra: hub: Use private object for global state") Signed-off-by: Stefan Schake stschake@gmail.com
drivers/gpu/drm/tegra/hub.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/tegra/hub.c b/drivers/gpu/drm/tegra/hub.c index 9a3f23d4780f..bdd2cdd0745c 100644 --- a/drivers/gpu/drm/tegra/hub.c +++ b/drivers/gpu/drm/tegra/hub.c @@ -683,12 +683,11 @@ void tegra_display_hub_atomic_commit(struct drm_device *drm, { struct tegra_drm *tegra = drm->dev_private; struct tegra_display_hub *hub = tegra->hub;
struct tegra_display_hub_state *hub_state;
struct tegra_display_hub_state *hub_state =
to_tegra_display_hub_state(hub->base.state); struct device *dev = hub->client.dev; int err;
hub_state = tegra_display_hub_get_state(hub, state);
if (hub_state->clk) { err = clk_set_rate(hub_state->clk, hub_state->rate); if (err < 0)
-- 2.14.1
Ping. I don't really have Tegra hardware to begin with but this is one of the few examples of DRM private driver state so I figured I'd send a quick fixup before anyone else tries to copy it.
Thanks, Stefan