ew of this involve contentious
topics). But this core piece for integrating dma-buf with drm here has
been acked/reviewd by all the relevant people and merging it would imo
greatly help in wiring up all the other loose ends.
Cheers, Daniel
--
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79
t; devices.
This. Helper functions make the driver writers life so much easier - if
your hw doesn't quite fit the model, you can usually extend functionality
with much less fuzz than if there's a full framework. This is also pretty
much the reason, why I don't like ttm.
-Daniel
--
Dan
On Mon, Sep 12, 2011 at 02:21:25PM -0500, Rob Clark wrote:
> From: Rob Clark
>
> Signed-off-by: Rob Clark
Reviewed-by: Daniel Vetter
--
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
___
linaro-dev mailing list
l
On Mon, Sep 12, 2011 at 02:21:22PM -0500, Rob Clark wrote:
> From: Rob Clark
>
> Signed-off-by: Rob Clark
Reviewed-by: Daniel Vetter
--
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
___
linaro-dev mailing list
l
this will eventually lead to).
> > Inline with its only user above and scrap the forward decl?
>
> omap_gem_new_handle? It is used both in omap_gem_dumb_create() and
> also ioctl_gem_new() for userspace creation of GEM buffers.. or where
> you talking about something else?
Oops, grepping gone wrong. Sorry for the noise.
Generally I think the harder issues are all with the plugin layer. And
maybe I'll get my act toghether and clean the i915-gem vs ttm mess a bit
up until you've got the first plugin merge-ready ;-)
Cheers, Daniel
--
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
___
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev
p_obj), GFP_KERNEL);
> + if (!omap_obj) {
> + dev_err(dev->dev, "could not allocate GEM object\n");
> + goto fail;
> + }
> +
> + obj = &omap_obj->base;
> +
> + if (paddr) {
> + flags |= OMAP_BO_DMA;
> + }
> +
> + omap_obj->paddr = paddr;
> + omap_obj->pages = pages;
> + omap_obj->flags = flags;
> + omap_obj->ops = ops;
> +
> + if (flags & (OMAP_BO_DMA|OMAP_BO_EXT_MEM)) {
> + ret = drm_gem_private_object_init(dev, obj, size);
> + } else {
> + ret = drm_gem_object_init(dev, obj, size);
> + }
> +
> + if (ret) {
> + /* Yikes! need to clean up! XXX */
> + goto fail;
> + }
> +
> + /* Make it mmapable */
> + ret = drm_gem_create_mmap_offset(obj);
> + if (ret) {
> + dev_err(dev->dev, "could not allocate mmap offset");
The drm mmap offset manager isn't the fatest beast in the world. Maybe
create mmappings on demand only when userspace actually needs them? I.e.
in the ioctl_gem_info function.
> + goto fail;
> + }
> +
> + return obj;
> +
> +fail:
> + if (omap_obj) {
> + kfree(omap_obj);
> + }
> + return NULL;
> +}
> +
> [snip]
--
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
___
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev