From: Ilija Hadzic <ihadzic@research.bell-labs.com> To: dri-devel@lists.freedesktop.org Subject: [PATCH 02/19] drm: track planes in drm_mode_group structure Date: Thu, 12 Apr 2012 14:19:27 -0400 [thread overview] Message-ID: <1334254784-3200-3-git-send-email-ihadzic@research.bell-labs.com> (raw) In-Reply-To: <1334254784-3200-1-git-send-email-ihadzic@research.bell-labs.com> drm_mode_group structure (meant for subgrouping) of display resources didn't include planes, which made it impossible to do any subgrouping of planes. This patch rectifies the problem. Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com> --- drivers/gpu/drm/drm_crtc.c | 8 ++++++++ include/drm/drm_crtc.h | 2 ++ 2 files changed, 10 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index d2e5560..29ede0a 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -940,6 +940,7 @@ int drm_mode_group_init(struct drm_device *dev, struct drm_mode_group *group) total_objects += dev->mode_config.num_crtc; total_objects += dev->mode_config.num_connector; total_objects += dev->mode_config.num_encoder; + total_objects += dev->mode_config.num_plane; group->id_list = kzalloc(total_objects * sizeof(uint32_t), GFP_KERNEL); if (!group->id_list) @@ -948,6 +949,7 @@ int drm_mode_group_init(struct drm_device *dev, struct drm_mode_group *group) group->num_crtcs = 0; group->num_connectors = 0; group->num_encoders = 0; + group->num_planes = 0; return 0; } @@ -957,6 +959,7 @@ int drm_mode_group_init_legacy_group(struct drm_device *dev, struct drm_crtc *crtc; struct drm_encoder *encoder; struct drm_connector *connector; + struct drm_plane *plane; int ret; if ((ret = drm_mode_group_init(dev, group))) @@ -973,6 +976,11 @@ int drm_mode_group_init_legacy_group(struct drm_device *dev, group->id_list[group->num_crtcs + group->num_encoders + group->num_connectors++] = connector->base.id; + list_for_each_entry(plane, &dev->mode_config.plane_list, head) + group->id_list[group->num_crtcs + group->num_encoders + + group->num_connectors + group->num_planes++] = + plane->base.id; + return 0; } diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 9595c2c..4aa793e 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -696,6 +696,7 @@ struct drm_mode_config_funcs { * @num_crtcs: CRTC count * @num_encoders: encoder count * @num_connectors: connector count + * @num_planes: connector count * @id_list: list of KMS object IDs in this group * * Currently this simply tracks the global mode setting state. But in the @@ -708,6 +709,7 @@ struct drm_mode_group { uint32_t num_crtcs; uint32_t num_encoders; uint32_t num_connectors; + uint32_t num_planes; /* list of object IDs for this group */ uint32_t *id_list; -- 1.7.8.5
next prev parent reply other threads:[~2012-04-12 18:20 UTC|newest] Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-04-12 18:19 [RFC v2] Revive the work on render-nodes branch Ilija Hadzic 2012-04-12 18:19 ` [PATCH 01/19] drm: simplify dereferencing of node type Ilija Hadzic 2012-04-12 18:19 ` Ilija Hadzic [this message] 2012-04-12 18:19 ` [PATCH 03/19] drm: use drm_mode_group in drm_mode_getplane_res Ilija Hadzic 2012-04-12 18:19 ` [PATCH 04/19] drm: do not push inode down into drm_open_helper Ilija Hadzic 2012-04-12 18:19 ` [PATCH 05/19] drm: move dev_mapping to the minor node Ilija Hadzic 2012-04-20 10:04 ` Dave Airlie 2012-04-30 14:48 ` Ilija Hadzic 2012-04-30 16:39 ` Dave Airlie 2012-04-30 16:52 ` Ilija Hadzic 2012-04-30 17:53 ` Dave Airlie 2012-04-30 18:04 ` Dave Airlie 2012-05-15 20:48 ` Ilija Hadzic 2012-04-12 18:19 ` [PATCH 06/19] drm: add support for render nodes Ilija Hadzic 2012-04-12 18:19 ` [PATCH 07/19] drm: initial multiple nodes ioctl work Ilija Hadzic 2012-04-20 10:15 ` Dave Airlie 2012-04-12 18:19 ` [PATCH 08/19] drm: separate render node descriptor from minor Ilija Hadzic 2012-04-12 18:19 ` [PATCH 09/19] drm: cleanup render node ioctls Ilija Hadzic 2012-04-12 18:19 ` [PATCH 10/19] drm: only allow render node ioctls through control node Ilija Hadzic 2012-04-12 18:19 ` [PATCH 11/19] drm: do not remove a render node in use Ilija Hadzic 2012-04-12 18:19 ` [PATCH 12/19] drm: allocate correct id_list size for a render node Ilija Hadzic 2012-04-12 18:19 ` [PATCH 13/19] drm: add drm_mode_group_fini function Ilija Hadzic 2012-04-12 18:19 ` [PATCH 14/19] drm: properly free id_list when a render node is removed Ilija Hadzic 2012-04-12 18:19 ` [PATCH 15/19] drm: call drm_mode_group_fini on primary node Ilija Hadzic 2012-04-12 18:19 ` [PATCH 16/19] drm: more elaborate check for resource count Ilija Hadzic 2012-04-12 18:19 ` [PATCH 17/19] drm: validate id list when creating a render node Ilija Hadzic 2012-04-12 18:19 ` [PATCH 18/19] drm: keep track of which node holds which resource Ilija Hadzic 2012-04-12 18:19 ` [PATCH 19/19] drm: hold mutex in critical sections of render-node code Ilija Hadzic 2012-04-12 18:55 ` [RFC v2] Revive the work on render-nodes branch Ville Syrjälä 2012-04-12 19:09 ` Ilija Hadzic 2012-04-20 10:20 ` Dave Airlie 2012-04-20 13:46 ` Daniel Vetter 2012-04-30 15:16 ` Ilija Hadzic 2012-04-30 19:01 ` Kristian Høgsberg
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=1334254784-3200-3-git-send-email-ihadzic@research.bell-labs.com \ --to=ihadzic@research.bell-labs.com \ --cc=dri-devel@lists.freedesktop.org \ --subject='Re: [PATCH 02/19] drm: track planes in drm_mode_group structure' \ /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
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.