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
next prev parent reply other threads:[~2016-09-08 0:05 UTC|newest]
Thread overview: 28+ 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
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).