From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 1/5] drm: add plane support Date: Tue, 8 Nov 2011 15:20:37 +0100 Message-ID: <20111108142037.GB3956@phenom.ffwll.local> References: <1320688976-10979-1-git-send-email-jbarnes@virtuousgeek.org> <1320688976-10979-2-git-send-email-jbarnes@virtuousgeek.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <1320688976-10979-2-git-send-email-jbarnes@virtuousgeek.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Jesse Barnes Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, rob.clark@linaro.org List-Id: intel-gfx@lists.freedesktop.org On Mon, Nov 07, 2011 at 10:02:52AM -0800, Jesse Barnes wrote: > Planes are a bit like half-CRTCs. They have a location and fb, but > don't drive outputs directly. Add support for handling them to the core > KMS code. > > Signed-off-by: Jesse Barnes One question belowk, but still: Reviewed-by: Daniel Vetter > /** > + * drm_plane_funcs - driver plane control functions > + * @update_plane: update the plane configuration > + * @disable_plane: shut down the plane > + * @destroy: clean up plane resources > + */ > +struct drm_plane_funcs { > + int (*update_plane)(struct drm_plane *plane, > + struct drm_crtc *crtc, struct drm_framebuffer *fb, > + int crtc_x, int crtc_y, > + unsigned int crtc_w, unsigned int crtc_h, > + uint32_t src_x, uint32_t src_y, > + uint32_t src_w, uint32_t src_h); > + int (*disable_plane)(struct drm_plane *plane); > + void (*destroy)(struct drm_plane *plane); > +}; > + > +/** > + * drm_plane - central DRM plane control structure > + * @dev: DRM device this plane belongs to > + * @kdev: kernel device > + * @attr: kdev attributes > + * @head: for list management > + * @base: base mode object > + * @possible_crtcs: pipes this plane can be bound to > + * @format_types: array of formats supported by this plane > + * @format_count: number of formats supported > + * @crtc: currently bound CRTC > + * @fb: currently bound fb > + * @gamma_size: size of gamma table > + * @gamma_store: gamma correction table > + * @enabled: enabled flag > + * @funcs: helper functions > + * @helper_private: storage for drver layer > + */ > +struct drm_plane { > + struct drm_device *dev; > + struct device kdev; > + struct device_attribute *attr; What are these two for? -- Daniel Vetter Mail: daniel@ffwll.ch Mobile: +41 (0)79 365 57 48