Commit fd05abf3 authored by Rob Clark's avatar Rob Clark
Browse files
parent 0594e2de
Loading
Loading
Loading
Loading
+29 −15
Original line number Diff line number Diff line
@@ -342,25 +342,39 @@ struct msm_gpu_perfcntr {

/**
 * struct msm_context - per-drm_file context
 *
 * @queuelock:    synchronizes access to submitqueues list
 * @submitqueues: list of &msm_gpu_submitqueue created by userspace
 * @queueid:      counter incremented each time a submitqueue is created,
 *                used to assign &msm_gpu_submitqueue.id
 * @aspace:       the per-process GPU address-space
 * @ref:          reference count
 * @seqno:        unique per process seqno
 */
struct msm_context {
	/** @queuelock: synchronizes access to submitqueues list */
	rwlock_t queuelock;

	/** @submitqueues: list of &msm_gpu_submitqueue created by userspace */
	struct list_head submitqueues;

	/**
	 * @queueid:
	 *
	 * Counter incremented each time a submitqueue is created, used to
	 * assign &msm_gpu_submitqueue.id
	 */
	int queueid;

	/** @aspace: the per-process GPU address-space */
	struct msm_gem_address_space *aspace;

	/** @kref: the reference count */
	struct kref ref;

	/**
	 * @seqno:
	 *
	 * A unique per-process sequence number.  Used to detect context
	 * switches, without relying on keeping a, potentially dangling,
	 * pointer to the previous context.
	 */
	int seqno;

	/**
	 * sysprof:
	 * @sysprof:
	 *
	 * The value of MSM_PARAM_SYSPROF set by userspace.  This is
	 * intended to be used by system profiling tools like Mesa's
@@ -378,21 +392,21 @@ struct msm_context {
	int sysprof;

	/**
	 * comm: Overridden task comm, see MSM_PARAM_COMM
	 * @comm: Overridden task comm, see MSM_PARAM_COMM
	 *
	 * Accessed under msm_gpu::lock
	 */
	char *comm;

	/**
	 * cmdline: Overridden task cmdline, see MSM_PARAM_CMDLINE
	 * @cmdline: Overridden task cmdline, see MSM_PARAM_CMDLINE
	 *
	 * Accessed under msm_gpu::lock
	 */
	char *cmdline;

	/**
	 * elapsed:
	 * @elapsed:
	 *
	 * The total (cumulative) elapsed time GPU was busy with rendering
	 * from this context in ns.
@@ -400,7 +414,7 @@ struct msm_context {
	uint64_t elapsed_ns;

	/**
	 * cycles:
	 * @cycles:
	 *
	 * The total (cumulative) GPU cycles elapsed attributed to this
	 * context.
@@ -408,7 +422,7 @@ struct msm_context {
	uint64_t cycles;

	/**
	 * entities:
	 * @entities:
	 *
	 * Table of per-priority-level sched entities used by submitqueues
	 * associated with this &drm_file.  Because some userspace apps
@@ -421,7 +435,7 @@ struct msm_context {
	struct drm_sched_entity *entities[NR_SCHED_PRIORITIES * MSM_GPU_MAX_RINGS];

	/**
	 * ctx_mem:
	 * @ctx_mem:
	 *
	 * Total amount of memory of GEM buffers with handles attached for
	 * this context.