Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amdgpu/vcn: Document IRQ per-instance irq behavior for VCN 4.0.3

When examining the VCN function init, it is common to find a loop that
initializes VCN rings, which uses one IRQ per instance. However, VCN
4.0.3 deviates from this pattern, as it includes a distinct field to
differentiate instances, which results in a slightly different ring
init. This commit makes this difference explicit by using a fixed index
when initializing the ring buffer and also adds a comment.

Signed-off-by: Rodrigo Siqueira <siqueira@igalia.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Rodrigo Siqueira and committed by
Alex Deucher
3d9752f4 8b38bf38

+5 -1
+5 -1
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
··· 212 212 213 213 ring->vm_hub = AMDGPU_MMHUB0(adev->vcn.inst[i].aid_id); 214 214 sprintf(ring->name, "vcn_unified_%d", adev->vcn.inst[i].aid_id); 215 - r = amdgpu_ring_init(adev, ring, 512, &adev->vcn.inst->irq, 0, 215 + 216 + /* There are no per-instance irq source IDs on 4.0.3, the IH 217 + * packets use a separate field to differentiate instances. 218 + */ 219 + r = amdgpu_ring_init(adev, ring, 512, &adev->vcn.inst[0].irq, 0, 216 220 AMDGPU_RING_PRIO_DEFAULT, 217 221 &adev->vcn.inst[i].sched_score); 218 222 if (r)