Re: dma-buf and ->dev refcount fun

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

On Tue, Mar 25, 2014 at 9:01 AM, Daniel Vetter <daniel@xxxxxxxx> wrote:
> Besides the issue at hand though I think drivers need to make sure
> that the device they use for attaching does outlive the dma-buf. Which
> for real hotpluggin probably means that drivers need to drop all
> attachment on unplug (the dma mapping is useless anyway) and just keep
> all their imported gem objects alive with just a reference to the
> dma-buf object itself.

Drivers should never touch other drivers or even look at them. There
is no reason i915 is responsible of keeping udl alive. That gets
really messy and may introduce circular dependencies.

I'd like to see exported dma-bufs reference their drm-device owner.
This way, the drm-device stays around until the dma-buf is removed. To
avoid lazy device destruction, a driver can (during unplug) simply
detach all dma-bufs if, and only if, they first made the dma-buf
somehow stand-alone.

For example: udl can just move the allocated pages into the dma-buf,
mark it as dead and detach it. The udl-device can get destructed and
whenever i915 releases the dma-buf, the udl-dma-buf ops see it's dead
and just deref it / release dma-buf resources. But this is all not
needed if the exported dma-bufs just reference "drm_device", which is
imho the easiest fix.

David
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux