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

Reply via email to