Austin Yuan wrote: > On Mon, Sep 15, 2008 at 9:24 PM, Thomas Hellström > <[EMAIL PROTECTED]> wrote: > >> No. In fact there is no big change in usage pattern. Map / RW / Unmap is >> there, except >> it works without syncing. So to mimic the old behaviour you'd do >> >> map() >> sync_for_cpu() >> RW >> release_from_cpu() >> unmap() >> > TTM_BO_SYNCCPU is used for sync_for_cpu/release_from_cpu, right? > > Yes, that's correct. >> No, it will not. Note that this user interface suggestion is not set in >> stone for each driver that >> uses the TTM functionality, but the user interface TG will most probably use >> for drivers not >> deriving from GEM objects. The Radeon driver takes another approach and >> derives BOs from >> GEM objects and TTM BOs. In that case, the above user interface does not >> apply. >> >> It's possible to create a shmem object without any pages backing it, if >> needed. >> >> For user-buffers one should probably construct a separate driver-specific >> IOCTL. >> Since this is an RFC, and I agree that user-buffers are sometimes very handy >> I'll include >> a user-buffer create IOCTL and send out a new version. >> > Do you mean you will create a new IOCTL for user buffers? I originally > wondered how to wrap my special BO creation request (BO pages are from > a camera) into current TTM_BO_CREATE IOCTL following your proposal and > not using GEM objects. If it also needs a new IOCTL, there will be 3 > IOCTLs for BO creation? > In general, for my BO_create_from_camera_pages IOCTL, except > size/placement(will be TT)/page_alignment, I need an extra private > date which indicates a ID of camera pages. I like a "uint64_t > priv_date" inserted into ttm_bo_create_req although it looks odd.. > > Austin, I don't think it's the right thing to add that to this user-space interface. If you want to target a specific driver with this functionality, just add a driver-specific ioctl that does exactly what you want.
It looks to me that the best way to do this for camera capture or for v4l-like stuff is to have the video input kernel driver allocate a buffer object from DRM, and DMA directly into that buffer object? It would be better to try to set up such a generic interface within drm itself, /Thomas > Just some thoughts > > Thanks > Austin > > p.s. : > struct ttm_bo_create_req { > uint64_t size; > uint32_t placement; > uint32_t page_alignment; > }; > vs. > struct drm_bo_create_req { > uint64_t mask; > uint64_t size; > uint64_t buffer_start; > unsigned int hint; > unsigned int page_alignment; > }; > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > -- > _______________________________________________ > Dri-devel mailing list > Dri-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/dri-devel > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel