XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
drm_sched_fence Struct Reference

#include <gpu_scheduler.h>

Collaboration diagram for drm_sched_fence:
Collaboration graph
[legend]

Public Attributes

struct dma_fence scheduled
 
struct dma_fence finished
 
ktime_t deadline
 
struct dma_fence * parent
 
struct drm_gpu_scheduler * sched
 
spinlock_t lock
 
void * owner
 
uint64_t drm_client_id
 

Detailed Description

struct drm_sched_fence - fences corresponding to the scheduling of a job.

Member Data Documentation

◆ deadline

ktime_t drm_sched_fence::deadline

@deadline: deadline set on &drm_sched_fence.finished which potentially needs to be propagated to &drm_sched_fence.parent

◆ drm_client_id

uint64_t drm_sched_fence::drm_client_id

@drm_client_id:

The client_id of the drm_file which owns the job.

◆ finished

struct dma_fence drm_sched_fence::finished

@finished: this fence is what will be signaled by the scheduler when the job is completed.

When setting up an out fence for the job, you should use this, since it's available immediately upon drm_sched_job_init(), and the fence returned by the driver from run_job() won't be created until the dependencies have resolved.

◆ lock

spinlock_t drm_sched_fence::lock

@lock: the lock used by the scheduled and the finished fences.

◆ owner

void* drm_sched_fence::owner

@owner: job owner for debugging

◆ parent

struct dma_fence* drm_sched_fence::parent

@parent: the fence returned by &drm_sched_backend_ops.run_job when scheduling the job on hardware. We signal the &drm_sched_fence.finished fence once parent is signalled.

◆ sched

struct drm_gpu_scheduler* drm_sched_fence::sched

@sched: the scheduler instance to which the job having this struct belongs to.

◆ scheduled

struct dma_fence drm_sched_fence::scheduled

@scheduled: this fence is what will be signaled by the scheduler when the job is scheduled.


The documentation for this struct was generated from the following file: