Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b3eebe3d authored by Monk Liu's avatar Monk Liu Committed by Alex Deucher
Browse files

drm/amd/scheduler:introduce guilty pointer member



this member will be used later, it will points to
the real var inside of context and CS_SUBMIT & gpu schdduler
can decide if skip a job depends on context->guilty or *entity->guilty

Signed-off-by: default avatarMonk Liu <Monk.Liu@amd.com>
Reviewed-by: default avatarChunming Zhou <David1.Zhou@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 95aa9b1d
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -90,7 +90,7 @@ static int amdgpu_ctx_init(struct amdgpu_device *adev,
			continue;
			continue;


		r = amd_sched_entity_init(&ring->sched, &ctx->rings[i].entity,
		r = amd_sched_entity_init(&ring->sched, &ctx->rings[i].entity,
					  rq, amdgpu_sched_jobs);
					  rq, amdgpu_sched_jobs, NULL);
		if (r)
		if (r)
			goto failed;
			goto failed;
	}
	}
+1 −1
Original line number Original line Diff line number Diff line
@@ -110,7 +110,7 @@ static int amdgpu_ttm_global_init(struct amdgpu_device *adev)
	ring = adev->mman.buffer_funcs_ring;
	ring = adev->mman.buffer_funcs_ring;
	rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_KERNEL];
	rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_KERNEL];
	r = amd_sched_entity_init(&ring->sched, &adev->mman.entity,
	r = amd_sched_entity_init(&ring->sched, &adev->mman.entity,
				  rq, amdgpu_sched_jobs);
				  rq, amdgpu_sched_jobs, NULL);
	if (r) {
	if (r) {
		DRM_ERROR("Failed setting up TTM BO move run queue.\n");
		DRM_ERROR("Failed setting up TTM BO move run queue.\n");
		goto error_entity;
		goto error_entity;
+1 −1
Original line number Original line Diff line number Diff line
@@ -232,7 +232,7 @@ int amdgpu_uvd_sw_init(struct amdgpu_device *adev)
	ring = &adev->uvd.ring;
	ring = &adev->uvd.ring;
	rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL];
	rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL];
	r = amd_sched_entity_init(&ring->sched, &adev->uvd.entity,
	r = amd_sched_entity_init(&ring->sched, &adev->uvd.entity,
				  rq, amdgpu_sched_jobs);
				  rq, amdgpu_sched_jobs, NULL);
	if (r != 0) {
	if (r != 0) {
		DRM_ERROR("Failed setting up UVD run queue.\n");
		DRM_ERROR("Failed setting up UVD run queue.\n");
		return r;
		return r;
+1 −1
Original line number Original line Diff line number Diff line
@@ -176,7 +176,7 @@ int amdgpu_vce_sw_init(struct amdgpu_device *adev, unsigned long size)
	ring = &adev->vce.ring[0];
	ring = &adev->vce.ring[0];
	rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL];
	rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL];
	r = amd_sched_entity_init(&ring->sched, &adev->vce.entity,
	r = amd_sched_entity_init(&ring->sched, &adev->vce.entity,
				  rq, amdgpu_sched_jobs);
				  rq, amdgpu_sched_jobs, NULL);
	if (r != 0) {
	if (r != 0) {
		DRM_ERROR("Failed setting up VCE run queue.\n");
		DRM_ERROR("Failed setting up VCE run queue.\n");
		return r;
		return r;
+2 −2
Original line number Original line Diff line number Diff line
@@ -106,7 +106,7 @@ int amdgpu_vcn_sw_init(struct amdgpu_device *adev)
	ring = &adev->vcn.ring_dec;
	ring = &adev->vcn.ring_dec;
	rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL];
	rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL];
	r = amd_sched_entity_init(&ring->sched, &adev->vcn.entity_dec,
	r = amd_sched_entity_init(&ring->sched, &adev->vcn.entity_dec,
				  rq, amdgpu_sched_jobs);
				  rq, amdgpu_sched_jobs, NULL);
	if (r != 0) {
	if (r != 0) {
		DRM_ERROR("Failed setting up VCN dec run queue.\n");
		DRM_ERROR("Failed setting up VCN dec run queue.\n");
		return r;
		return r;
@@ -115,7 +115,7 @@ int amdgpu_vcn_sw_init(struct amdgpu_device *adev)
	ring = &adev->vcn.ring_enc[0];
	ring = &adev->vcn.ring_enc[0];
	rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL];
	rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL];
	r = amd_sched_entity_init(&ring->sched, &adev->vcn.entity_enc,
	r = amd_sched_entity_init(&ring->sched, &adev->vcn.entity_enc,
				  rq, amdgpu_sched_jobs);
				  rq, amdgpu_sched_jobs, NULL);
	if (r != 0) {
	if (r != 0) {
		DRM_ERROR("Failed setting up VCN enc run queue.\n");
		DRM_ERROR("Failed setting up VCN enc run queue.\n");
		return r;
		return r;
Loading