drm/rockchip: Fix up bug in psr state machine
The ->set() callback would always be called when transitioning from FLUSH->DISABLE since we assign state to psr->state right above the skip condition. Reported-by: Daniel Kurtz <djkurtz@chromium.org> Reviewed-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Sean Paul <seanpaul@chromium.org>
This commit is contained in:
parent
d2f12adc00
commit
be91a983ea
|
@ -71,11 +71,13 @@ static void psr_set_state_locked(struct psr_drv *psr, enum psr_state state)
|
|||
if (state == psr->state || !psr->active)
|
||||
return;
|
||||
|
||||
psr->state = state;
|
||||
|
||||
/* Already disabled in flush, change the state, but not the hardware */
|
||||
if (state == PSR_DISABLE && psr->state == PSR_FLUSH)
|
||||
if (state == PSR_DISABLE && psr->state == PSR_FLUSH) {
|
||||
psr->state = state;
|
||||
return;
|
||||
}
|
||||
|
||||
psr->state = state;
|
||||
|
||||
/* Actually commit the state change to hardware */
|
||||
switch (psr->state) {
|
||||
|
|
Loading…
Reference in New Issue