On Wed, May 03, 2017 at 05:07:03PM +0200, Daniel Vetter wrote:
On Wed, May 03, 2017 at 07:40:51AM -0700, Laura Abbott wrote:
On 05/03/2017 12:39 AM, Daniel Vetter wrote:
On Tue, May 02, 2017 at 09:22:13PM +0100, Chris Wilson wrote:
On Tue, May 02, 2017 at 10:02:07AM -0700, Laura Abbott wrote:
/**
- drm_gem_prime_import_platform - alternate implementation of the import callback
- @dev: drm_device to import into
- @dma_buf: dma-buf object to import
- This is identical to drm_gem_prime_import except the device used for dma_buf
- attachment is an internal platform device instead of the standard device
- structure. The use of this function should be limited to drivers that do not
- set up an underlying device structure.
- */
+struct drm_gem_object *drm_gem_prime_import_platform(struct drm_device *dev,
Simpler soluation will be for the caller to provide the platformdev?
That works nicely for the vgem case, I think.
Yeah looking at this again, do we really need this patch? Couldn't we instead change patch 1 to first allocate the fake platform device, then pass that to drm_dev_alloc (instead of NULL like we do now)?
That was what I proposed in the first version and it was rejected. It's useful to have at least one driver with a NULL device for testing edge cases.
Oh drat :( I'd say dropping the coverage for NULL testing is ok, there's no other driver than vgem using this. And now that we have vgem dma-buf (or will, soonish) I'd expect that the same will hold for vkms, if it ever happens.
This series creates vgem->platformdev which we can just pass to drm_gem_prime_import_platform() (or equivalent drm_gem_prime function that takes an explicit dev). It was a bit of a surprise that import_platform didn't take the platformdev after going to the trouble of creating vgem->platformdev. -Chris