[PATCH] intel: Mark bo's exported to prime as not reusable

Kristian Høgsberg krh at bitplanet.net
Fri Sep 14 14:01:18 PDT 2012


On Fri, Sep 14, 2012 at 4:40 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> On Fri, 14 Sep 2012 16:37:53 -0400, Kristian Høgsberg <krh at bitplanet.net> wrote:
>> It's the same situation as flink and we need take the same pre-cautions.
>> ---
>>  intel/intel_bufmgr_gem.c |    8 +++++++-
>>  1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
>> index 3bcc849..92c0444 100644
>> --- a/intel/intel_bufmgr_gem.c
>> +++ b/intel/intel_bufmgr_gem.c
>> @@ -2472,8 +2472,14 @@ drm_intel_bo_gem_export_to_prime(drm_intel_bo *bo, int *prime_fd)
>>  {
>>       drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
>>       drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
>> +     int ret;
>>
>> -     return drmPrimeHandleToFD(bufmgr_gem->fd, bo_gem->gem_handle, DRM_CLOEXEC, prime_fd);
>> +     ret = drmPrimeHandleToFD(bufmgr_gem->fd, bo_gem->gem_handle,
>> +                              DRM_CLOEXEC, prime_fd);
>> +     if (ret == 0)
>> +             bo_gem->reusable = false;
>
> Now that you mention it...
> To be consistent with libdrm_intel, we should return -errno on error; so
> rephrasing this as
>   if (ret)
>     return -errno;
>
>   bo_gem->reusable = false;
>   return 0;
>
> would work better.

Argh, yes, I copy and pasted that from drm_intel_gem_bo_flink() but
edited it away later...  with that change, can I add your reviewed-by
and commit?

Kristian


More information about the dri-devel mailing list