All of lore.kernel.org
 help / color / mirror / Atom feed
From: Carlos Santa <carlos.santa@intel.com>
To: Daniel Vetter <daniel.vetter@ffwll.ch>,
	DRI Development <dri-devel@lists.freedesktop.org>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 01/10] drm: Move a few macros away from drm_crtc.h
Date: Wed, 07 Sep 2016 17:05:06 -0700	[thread overview]
Message-ID: <1473293106.12411.6.camel@intel.com> (raw)
In-Reply-To: <20160831160913.12991-2-daniel.vetter@ffwll.ch>

On Wed, 2016-08-31 at 18:09 +0200, Daniel Vetter wrote:
> Now that there's less stuff in there I noticed that I overlooked
> them.
> Sprinkle some docs over them while at it.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  include/drm/drm_connector.h   | 24 ++++++++++++++++++++++--
>  include/drm/drm_crtc.h        | 32 --------------------------------
>  include/drm/drm_encoder.h     | 22 ++++++++++++++++++++++
>  include/drm/drm_framebuffer.h | 17 +++++++++++++++++
>  include/drm/drm_modes.h       |  2 ++
>  include/drm/drm_property.h    |  1 +
>  6 files changed, 64 insertions(+), 34 deletions(-)
> 
> diff --git a/include/drm/drm_connector.h
> b/include/drm/drm_connector.h
> index 66b7d6744dd2..e4e545e9516d 100644
> --- a/include/drm/drm_connector.h
> +++ b/include/drm/drm_connector.h
> @@ -181,14 +181,19 @@ int drm_display_info_set_bus_formats(struct
> drm_display_info *info,
>  /**
>   * struct drm_connector_state - mutable connector state
>   * @connector: backpointer to the connector
> - * @crtc: CRTC to connect connector to, NULL if disabled
>   * @best_encoder: can be used by helpers and drivers to select the
> encoder
>   * @state: backpointer to global drm_atomic_state
>   */
>  struct drm_connector_state {
>  	struct drm_connector *connector;
>  
> -	struct drm_crtc *crtc;  /* do not write directly, use
> drm_atomic_set_crtc_for_connector() */
> +	/**
> +	 * @crtc: CRTC to connect connector to, NULL if disabled.
> +	 *
> +	 * Do not change this directly, use
> drm_atomic_set_crtc_for_connector()
> +	 * instead.
> +	 */
> +	struct drm_crtc *crtc;
>  
>  	struct drm_encoder *best_encoder;
>  
> @@ -744,4 +749,19 @@ int drm_mode_connector_set_path_property(struct
> drm_connector *connector,
>  int drm_mode_connector_set_tile_property(struct drm_connector
> *connector);
>  int drm_mode_connector_update_edid_property(struct drm_connector
> *connector,
>  					    const struct edid
> *edid);
> +
> +/**
> + * drm_for_each_connector - iterate over all connectors
> + * @connector: the loop cursor
> + * @dev: the DRM device
> + *
> + * Iterate over all connectors of @dev.
> + */
> +#define drm_for_each_connector(connector, dev) \
> +	for (assert_drm_connector_list_read_locked(&(dev)-
> >mode_config),	\
> +	     connector = list_first_entry(&(dev)-
> >mode_config.connector_list,	\
> +					  struct drm_connector,
> head);		\
> +	     &connector->head != (&(dev)-
> >mode_config.connector_list);		\
> +	     connector = list_next_entry(connector, head))
> +
>  #endif
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index 4880606e2ffd..2a642ae96127 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -1991,22 +1991,7 @@ struct drm_mode_config {
>  	list_for_each_entry((plane), &(dev)->mode_config.plane_list, 
> head) \
>  		for_each_if ((plane_mask) & (1 <<
> drm_plane_index(plane)))
>  
> -/**
> - * drm_for_each_encoder_mask - iterate over encoders specified by
> bitmask
> - * @encoder: the loop cursor
> - * @dev: the DRM device
> - * @encoder_mask: bitmask of encoder indices
> - *
> - * Iterate over all encoders specified by bitmask.
> - */
> -#define drm_for_each_encoder_mask(encoder, dev, encoder_mask) \
> -	list_for_each_entry((encoder), &(dev)-
> >mode_config.encoder_list, head) \
> -		for_each_if ((encoder_mask) & (1 <<
> drm_encoder_index(encoder)))
> -
>  #define obj_to_crtc(x) container_of(x, struct drm_crtc, base)
> -#define obj_to_mode(x) container_of(x, struct drm_display_mode,
> base)
> -#define obj_to_fb(x) container_of(x, struct drm_framebuffer, base)
> -#define obj_to_blob(x) container_of(x, struct drm_property_blob,
> base)
>  #define obj_to_plane(x) container_of(x, struct drm_plane, base)
>  
>  extern __printf(6, 7)
> @@ -2174,23 +2159,6 @@ assert_drm_connector_list_read_locked(struct
> drm_mode_config *mode_config)
>  		!drm_modeset_is_locked(&mode_config-
> >connection_mutex));
>  }
>  
> -#define drm_for_each_connector(connector, dev) \
> -	for (assert_drm_connector_list_read_locked(&(dev)-
> >mode_config),	\
> -	     connector = list_first_entry(&(dev)-
> >mode_config.connector_list,	\
> -					  struct drm_connector,
> head);		\
> -	     &connector->head != (&(dev)-
> >mode_config.connector_list);		\
> -	     connector = list_next_entry(connector, head))
> -
> -#define drm_for_each_encoder(encoder, dev) \
> -	list_for_each_entry(encoder, &(dev)-
> >mode_config.encoder_list, head)
> -
> -#define drm_for_each_fb(fb, dev) \
> -	for (WARN_ON(!mutex_is_locked(&(dev)->mode_config.fb_lock)),
> 		\
> -	     fb = list_first_entry(&(dev)->mode_config.fb_list,	
> \
> -					  struct drm_framebuffer,
> head);	\
> -	     &fb->head != (&(dev)->mode_config.fb_list);		
> 	\
> -	     fb = list_next_entry(fb, head))
> -
>  /* drm_edid.c */
>  bool drm_probe_ddc(struct i2c_adapter *adapter);
>  struct edid *drm_get_edid(struct drm_connector *connector,
> diff --git a/include/drm/drm_encoder.h b/include/drm/drm_encoder.h
> index fce0203094f7..387e33a4d6ee 100644
> --- a/include/drm/drm_encoder.h
> +++ b/include/drm/drm_encoder.h
> @@ -224,4 +224,26 @@ static inline struct drm_encoder
> *drm_encoder_find(struct drm_device *dev,
>  
>  void drm_encoder_cleanup(struct drm_encoder *encoder);
>  
> +/**
> + * drm_for_each_encoder_mask - iterate over encoders specified by
> bitmask
> + * @encoder: the loop cursor
> + * @dev: the DRM device
> + * @encoder_mask: bitmask of encoder indices
> + *
> + * Iterate over all encoders specified by bitmask.
> + */
> +#define drm_for_each_encoder_mask(encoder, dev, encoder_mask) \
> +	list_for_each_entry((encoder), &(dev)-
> >mode_config.encoder_list, head) \
> +		for_each_if ((encoder_mask) & (1 <<
> drm_encoder_index(encoder)))

I know this is code movement for now but getting rid of the blank space
above in the "for_each_if ((" makes 1 Error and 1 Warning go away from
the checkpatch script

> +
> +/**
> + * drm_for_each_encoder - iterate over all encoders
> + * @encoder: the loop cursor
> + * @dev: the DRM device
> + *
> + * Iterate over all encoders of @dev.
> + */
> +#define drm_for_each_encoder(encoder, dev) \
> +	list_for_each_entry(encoder, &(dev)-
> >mode_config.encoder_list, head)
> +
>  #endif
> diff --git a/include/drm/drm_framebuffer.h
> b/include/drm/drm_framebuffer.h
> index b2554c50a903..f5ae1f436a4b 100644
> --- a/include/drm/drm_framebuffer.h
> +++ b/include/drm/drm_framebuffer.h
> @@ -206,6 +206,8 @@ struct drm_framebuffer {
>  	struct list_head filp_head;
>  };
>  
> +#define obj_to_fb(x) container_of(x, struct drm_framebuffer, base)
> +
>  int drm_framebuffer_init(struct drm_device *dev,
>  			 struct drm_framebuffer *fb,
>  			 const struct drm_framebuffer_funcs *funcs);
> @@ -247,4 +249,19 @@ static inline uint32_t
> drm_framebuffer_read_refcount(struct drm_framebuffer *fb)
>  {
>  	return atomic_read(&fb->base.refcount.refcount);
>  }
> +
> +/**
> + * drm_for_each_fb - iterate over all framebuffers
> + * @fb: the loop cursor
> + * @dev: the DRM device
> + *
> + * Iterate over all framebuffers of @dev. User must hold the fb_lock
> from
> + * &drm_mode_config.
> + */
> +#define drm_for_each_fb(fb, dev) \
> +	for (WARN_ON(!mutex_is_locked(&(dev)->mode_config.fb_lock)),
> 		\
> +	     fb = list_first_entry(&(dev)->mode_config.fb_list,	
> \
> +					  struct drm_framebuffer,
> head);	\
> +	     &fb->head != (&(dev)->mode_config.fb_list);		
> 	\
> +	     fb = list_next_entry(fb, head))
>  #endif
> diff --git a/include/drm/drm_modes.h b/include/drm/drm_modes.h
> index 011f199d3bcf..986ed6ff635a 100644
> --- a/include/drm/drm_modes.h
> +++ b/include/drm/drm_modes.h
> @@ -403,6 +403,8 @@ struct drm_display_mode {
>  	enum hdmi_picture_aspect picture_aspect_ratio;
>  };
>  
> +#define obj_to_mode(x) container_of(x, struct drm_display_mode,
> base)
> +
>  /**
>   * drm_mode_is_stereo - check for stereo mode flags
>   * @mode: drm_display_mode to check
> diff --git a/include/drm/drm_property.h b/include/drm/drm_property.h
> index 30ab289be05d..43c4b6a2046d 100644
> --- a/include/drm/drm_property.h
> +++ b/include/drm/drm_property.h
> @@ -219,6 +219,7 @@ struct drm_prop_enum_list {
>  };
>  
>  #define obj_to_property(x) container_of(x, struct drm_property,
> base)
> +#define obj_to_blob(x) container_of(x, struct drm_property_blob,
> base)
>  
>  /**
>   * drm_property_type_is - check the type of a property

thanks,
Carlos Santa
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2016-09-08  0:05 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-31 16:09 [PATCH 00/10] More splitting&documenting for drm_crtc.c Daniel Vetter
2016-08-31 16:09 ` [PATCH 01/10] drm: Move a few macros away from drm_crtc.h Daniel Vetter
2016-09-06 16:59   ` [Intel-gfx] " Sean Paul
2016-09-08  0:05   ` Carlos Santa [this message]
2016-08-31 16:09 ` [PATCH 02/10] drm: Extract drm_bridge.h Daniel Vetter
2016-09-02  9:25   ` Archit Taneja
2016-08-31 16:09 ` [PATCH 03/10] drm: Move all decl for drm_edid.c to drm_edid.h Daniel Vetter
2016-09-06 16:59   ` Sean Paul
2016-09-19 14:28     ` Daniel Vetter
2016-08-31 16:09 ` [PATCH 04/10] drm: Extract drm_plane.[hc] Daniel Vetter
2016-09-06 16:59   ` [Intel-gfx] " Sean Paul
2016-09-19 13:11     ` Daniel Vetter
2016-09-21  7:32       ` Sean Paul
2016-08-31 16:09 ` [PATCH 05/10] drm/doc: Polish for drm_plane.[hc] Daniel Vetter
2016-09-02  9:30   ` Archit Taneja
2016-09-19 13:13     ` Daniel Vetter
2016-09-21  6:38       ` Archit Taneja
2016-08-31 16:09 ` [PATCH 06/10] drm: Conslidate blending properties in drm_blend.[hc] Daniel Vetter
2016-09-06 16:59   ` Sean Paul
2016-08-31 16:09 ` [PATCH 07/10] drm/doc: Polish plane composition property docs Daniel Vetter
2016-09-06 16:59   ` Sean Paul
2016-08-31 16:09 ` [PATCH 08/10] drm: Extract drm_color_mgmt.[hc] Daniel Vetter
2016-09-01  9:51   ` [Intel-gfx] " Lionel Landwerlin
2016-08-31 16:09 ` [PATCH 09/10] drm/doc: Document color space handling Daniel Vetter
2016-09-01 10:16   ` Lionel Landwerlin
2016-09-06 16:59   ` [Intel-gfx] " Sean Paul
2016-08-31 16:09 ` [PATCH 10/10] drm: Remove dirty property from docs Daniel Vetter
2016-09-06 16:59   ` Sean Paul
2016-09-01  9:20 ` ✗ Fi.CI.BAT: failure for More splitting&documenting for drm_crtc.c Patchwork

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=1473293106.12411.6.camel@intel.com \
    --to=carlos.santa@intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /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.