On Mon, Sep 23, 2013 at 03:00:06PM -0700, Ben Widawsky wrote:
> > I think this interface violates Rusty's rules (API should be easy to
> > use but hard to misuse).
> >
> > vma = i915_gem_object_pin(batch_obj, ggtt, 0, false, false);
> > if (IS_ERR(vm)) {
> > ret = PTR_ERR(vm);
> > goto err;
> > }
> >
>
> You're missing a step here, I assume you mean:
> i915_gem_obj_ggtt_pin(...)
> vma = i915_gem_obj_to_ggtt(...)
> if (IS_ERR)...
>
> Or had you something else in mind?
I was thinking of making the pin return the vma instead. Then you know
that the vma is valid until its unpin. I think it helps here, but to
cater for all use cases we would need something analagous to get_pages,
pin_pages and unpin_pages. (get_vma, pin_vma, unpin_vma).
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx