[RFC] Host1x/TegraDRM UAPI (drm_tegra_submit_syncpt_incr)

Mikko Perttunen cyndis at kapsi.fi
Sun Jun 28 11:10:49 UTC 2020


On 6/28/20 12:47 AM, Dmitry Osipenko wrote:
> 23.06.2020 15:09, Mikko Perttunen пишет:
>> struct drm_tegra_submit_syncpt_incr {
>>          /*
>>           * [in] Syncpoint FD of the syncpoint that the job will
>>           *   increment.
>>           */
>>          __s32 syncpt_fd;
>>
>>          /*
>>           * [in] Number of increments that the job will do.
>>           */
>>          __u32 num_incrs;
>>
>>          /*
>>           * [out] Value the syncpoint will have once all increments have
>>           *   executed.
>>           */
>>          __u32 fence_value;
>>
>>          __u32 reserved[1];
>> };
> 
> The job should be considered executed once the final sync point is
> incremented.
> 
> Hence, there should be only one sync point per-job for increment, why
> would you ever need more than one?
> 
> Could you please explain what this submit_syncpt_incr is about?
> 

This tells the kernel which syncpoint will be incremented and how many 
times for job tracking and verifying the user has access to that syncpoint.

A second syncpoint is used for NVENC in slice encoding mode, where the 
engine can be programmed to count encoded slices by incrementing a 
syncpoint. I'll ask around to see if I can find some more details on this.

Since the usecase is somewhat niche, we could see if we can have a 
design where it's only one syncpoint, but extensible later if needed.

Mikko


More information about the dri-devel mailing list