mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 18:13:04 +00:00
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)
|
if (state == psr->state || !psr->active)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
psr->state = state;
|
|
||||||
|
|
||||||
/* Already disabled in flush, change the state, but not the hardware */
|
/* 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;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
psr->state = state;
|
||||||
|
|
||||||
/* Actually commit the state change to hardware */
|
/* Actually commit the state change to hardware */
|
||||||
switch (psr->state) {
|
switch (psr->state) {
|
||||||
|
Loading…
Reference in New Issue
Block a user