All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Deepak Rawat <drawat@vmware.com>
Cc: thellstrom@vmware.com, linux-graphics-maintainer@vmware.com,
	lukasz.spintzyk@displaylink.com, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 03/14] drm: clear plane damage during full modeset
Date: Thu, 6 Sep 2018 15:02:32 +0300	[thread overview]
Message-ID: <20180906120232.GY5565@intel.com> (raw)
In-Reply-To: <20180905233901.2321-4-drawat@vmware.com>

On Wed, Sep 05, 2018 at 04:38:50PM -0700, Deepak Rawat wrote:
> Plane damage is irrelevant when full modeset happens so clear the damage
> blob property(If set by user-space). With damage blob cleared damage
> helper iterator will return full plane src as damage clip.
> 
> Signed-off-by: Deepak Rawat <drawat@vmware.com>
> ---
>  drivers/gpu/drm/drm_atomic_helper.c |  4 ++++
>  include/drm/drm_damage_helper.h     | 10 ++++++++++
>  2 files changed, 14 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index be83e2763c18..e06d2d5d582f 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -31,6 +31,7 @@
>  #include <drm/drm_crtc_helper.h>
>  #include <drm/drm_atomic_helper.h>
>  #include <drm/drm_writeback.h>
> +#include <drm/drm_damage_helper.h>
>  #include <linux/dma-fence.h>
>  
>  #include "drm_crtc_helper_internal.h"
> @@ -88,6 +89,9 @@ drm_atomic_helper_plane_changed(struct drm_atomic_state *state,
>  			return;
>  
>  		crtc_state->planes_changed = true;
> +
> +		if (drm_atomic_crtc_needs_modeset(crtc_state))
> +			drm_plane_clear_damage(plane_state);

So if we sometimes magically clear it, where do we reinitialize it with
the user provided damage for the next update?

>  	}
>  }
>  
> diff --git a/include/drm/drm_damage_helper.h b/include/drm/drm_damage_helper.h
> index f1282b459a4f..1f988f7fdd72 100644
> --- a/include/drm/drm_damage_helper.h
> +++ b/include/drm/drm_damage_helper.h
> @@ -71,6 +71,16 @@ drm_plane_get_damage_clips(const struct drm_plane_state *state)
>  				   state->fb_damage_clips->data : NULL);
>  }
>  
> +/**
> + * drm_plane_clear_damage - clears damage blob in a plane state
> + * @state: Plane state
> + */
> +static inline void drm_plane_clear_damage(struct drm_plane_state *state)
> +{
> +	drm_property_blob_put(state->fb_damage_clips);
> +	state->fb_damage_clips = NULL;

Ah. So you're trying to clear out the user provided damage here. That
doesn't really seem like sane sematics to me. Either the user provided
damage should stick always instead of just sometimes, or it should 
always be cleared once the update is done (ie. could clear in
duplicate_state() in that case).

> +}
> +
>  void drm_plane_enable_fb_damage_clips(struct drm_plane *plane);
>  int
>  drm_atomic_helper_damage_iter_init(struct drm_atomic_helper_damage_iter *iter,
> -- 
> 2.17.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Ville Syrjälä
Intel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2018-09-06 12:02 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-05 23:38 [PATCH 00/14] plane update with damage Deepak Rawat
2018-09-05 23:38 ` [PATCH 01/14] drm: add new plane property FB_DAMAGE_CLIPS to send damage during plane update Deepak Rawat
2018-09-06  7:42   ` Daniel Vetter
2018-09-06 21:36     ` Deepak Singh Rawat
2018-09-07  9:27       ` Pekka Paalanen
2018-09-11  4:33         ` Deepak Singh Rawat
2018-09-06  8:00   ` Daniel Vetter
2018-09-06 11:59   ` Ville Syrjälä
2018-09-06 22:32     ` Deepak Singh Rawat
2018-09-07 14:23       ` Ville Syrjälä
2018-09-11  4:43         ` Deepak Singh Rawat
2018-09-05 23:38 ` [PATCH 02/14] drm: add helper iterator functions for plane fb_damage_clips blob Deepak Rawat
2018-09-06  7:51   ` Daniel Vetter
2018-09-06 21:44     ` Deepak Singh Rawat
2018-09-07 19:41       ` Daniel Vetter
2018-09-05 23:38 ` [PATCH 03/14] drm: clear plane damage during full modeset Deepak Rawat
2018-09-06  7:56   ` Daniel Vetter
2018-09-06 21:47     ` Deepak Singh Rawat
2018-09-06 12:02   ` Ville Syrjälä [this message]
2018-09-06 14:12     ` Daniel Vetter
2018-09-06 14:29       ` Ville Syrjälä
2018-09-05 23:38 ` [PATCH 04/14] drm: add helper to implement legacy dirtyfb Deepak Rawat
2018-09-06  8:21   ` Daniel Vetter
2018-09-05 23:38 ` [PATCH 05/14] drm/vmwgfx: add a new interface for plane update on a display unit Deepak Rawat
2018-09-10  8:09   ` Thomas Hellstrom
2018-09-10  8:21     ` Jani Nikula
2018-09-05 23:38 ` [PATCH 06/14] drm/vmwgfx: implement STDU plane update for surface backed fb Deepak Rawat
2018-09-05 23:38 ` [PATCH 07/14] drm/vmwgfx: implement STDU plane update for BO " Deepak Rawat
2018-09-05 23:38 ` [PATCH 08/14] drm/vmwgfx: use the new interface for STDU plane update Deepak Rawat
2018-09-10  8:18   ` Thomas Hellstrom
2018-09-05 23:38 ` [PATCH 09/14] drm/vmwgfx: enable FB_DAMAGE_CLIPS property for STDU primary plane Deepak Rawat
2018-09-10  8:20   ` Thomas Hellstrom
2018-09-05 23:38 ` [PATCH 10/14] drm/vmwgfx: implement SOU plane update for surface backed fb Deepak Rawat
2018-09-05 23:38 ` [PATCH 11/14] drm/vmwgfx: implement SOU plane update for BO " Deepak Rawat
2018-09-05 23:38 ` [PATCH 12/14] drm/vmwgfx: use the new interface for SOU plane update Deepak Rawat
2018-09-05 23:39 ` [PATCH 13/14] drm/vmwgfx: enable FB_DAMAGE_CLIPS property for SOU primary plane Deepak Rawat
2018-09-05 23:39 ` [PATCH 14/14] drm/vmwgfx: use atomic helper function for dirty fb IOCTL Deepak Rawat

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180906120232.GY5565@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=drawat@vmware.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-graphics-maintainer@vmware.com \
    --cc=lukasz.spintzyk@displaylink.com \
    --cc=thellstrom@vmware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.