Message ID | 1471396276-8222-5-git-send-email-seanpaul@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 08/17/2016 09:11 AM, Sean Paul wrote: > A few things that need tidying up, no functional changes. > > Signed-off-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Yakir Yang <ykk@rock-chips.com> > --- > > Changes in v2: > - Introduced > > drivers/gpu/drm/rockchip/rockchip_drm_psr.c | 19 +++++++------------ > 1 file changed, 7 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_psr.c b/drivers/gpu/drm/rockchip/rockchip_drm_psr.c > index 5bd54f2..c6ac5d0 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_psr.c > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_psr.c > @@ -62,27 +62,25 @@ static void psr_set_state_locked(struct psr_drv *psr, enum psr_state state) > * Allowed finite state machine: > * > * PSR_ENABLE < = = = = = > PSR_FLUSH > - * | ^ | > - * | | | > - * v | | > + * | ^ | > + * | | | > + * v | | > * PSR_DISABLE < - - - - - - - - - > */ > - > - /* Forbid no state change */ > if (state == psr->state) > return; > > - /* Forbid DISABLE change to FLUSH */ > + /* Requesting a flush when disabled is a noop */ > if (state == PSR_FLUSH && psr->state == PSR_DISABLE) > return; > > psr->state = state; > > - /* Allow but no need hardware change, just need assign the state */ > + /* Already disabled in flush, change the state, but not the hardware */ > if (state == PSR_DISABLE && psr->state == PSR_FLUSH) > return; > > - /* Refact to hardware state change */ > + /* Actually commit the state change to hardware */ > switch (psr->state) { > case PSR_ENABLE: > psr->set(psr->encoder, true); > @@ -109,10 +107,7 @@ static void psr_flush_handler(unsigned long data) > struct psr_drv *psr = (struct psr_drv *)data; > unsigned long flags; > > - if (!psr) > - return; > - > - /* State changed between flush time, then keep it */ > + /* If the state has changed since we initiated the flush, do nothing */ > spin_lock_irqsave(&psr->lock, flags); > if (psr->state == PSR_FLUSH) > psr_set_state_locked(psr, PSR_ENABLE);
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_psr.c b/drivers/gpu/drm/rockchip/rockchip_drm_psr.c index 5bd54f2..c6ac5d0 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_psr.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_psr.c @@ -62,27 +62,25 @@ static void psr_set_state_locked(struct psr_drv *psr, enum psr_state state) * Allowed finite state machine: * * PSR_ENABLE < = = = = = > PSR_FLUSH - * | ^ | - * | | | - * v | | + * | ^ | + * | | | + * v | | * PSR_DISABLE < - - - - - - - - - */ - - /* Forbid no state change */ if (state == psr->state) return; - /* Forbid DISABLE change to FLUSH */ + /* Requesting a flush when disabled is a noop */ if (state == PSR_FLUSH && psr->state == PSR_DISABLE) return; psr->state = state; - /* Allow but no need hardware change, just need assign the state */ + /* Already disabled in flush, change the state, but not the hardware */ if (state == PSR_DISABLE && psr->state == PSR_FLUSH) return; - /* Refact to hardware state change */ + /* Actually commit the state change to hardware */ switch (psr->state) { case PSR_ENABLE: psr->set(psr->encoder, true); @@ -109,10 +107,7 @@ static void psr_flush_handler(unsigned long data) struct psr_drv *psr = (struct psr_drv *)data; unsigned long flags; - if (!psr) - return; - - /* State changed between flush time, then keep it */ + /* If the state has changed since we initiated the flush, do nothing */ spin_lock_irqsave(&psr->lock, flags); if (psr->state == PSR_FLUSH) psr_set_state_locked(psr, PSR_ENABLE);
A few things that need tidying up, no functional changes. Signed-off-by: Sean Paul <seanpaul@chromium.org> --- Changes in v2: - Introduced drivers/gpu/drm/rockchip/rockchip_drm_psr.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-)