Re: [PATCH v2 4/6] drm/rockchip: A couple small fixes to psr

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxxxxx>
Reviewed-by: Yakir Yang <ykk@xxxxxxxxxxxxxx>
---

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);


_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux