mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-23 08:55:56 -04:00
drm/amdgpu/jpeg: add multiple jpeg rings support
Add multiple jpeg rings support. Signed-off-by: James Zhu <James.Zhu@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -437,7 +437,7 @@ static int jpeg_v1_0_process_interrupt(struct amdgpu_device *adev,
|
||||
|
||||
switch (entry->src_id) {
|
||||
case 126:
|
||||
amdgpu_fence_process(&adev->jpeg.inst->ring_dec);
|
||||
amdgpu_fence_process(adev->jpeg.inst->ring_dec);
|
||||
break;
|
||||
default:
|
||||
DRM_ERROR("Unhandled interrupt: %d %d\n",
|
||||
@@ -484,7 +484,7 @@ int jpeg_v1_0_sw_init(void *handle)
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
ring = &adev->jpeg.inst->ring_dec;
|
||||
ring = adev->jpeg.inst->ring_dec;
|
||||
ring->vm_hub = AMDGPU_MMHUB0(0);
|
||||
sprintf(ring->name, "jpeg_dec");
|
||||
r = amdgpu_ring_init(adev, ring, 512, &adev->jpeg.inst->irq,
|
||||
@@ -492,7 +492,7 @@ int jpeg_v1_0_sw_init(void *handle)
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
adev->jpeg.internal.jpeg_pitch = adev->jpeg.inst->external.jpeg_pitch =
|
||||
adev->jpeg.internal.jpeg_pitch[0] = adev->jpeg.inst->external.jpeg_pitch[0] =
|
||||
SOC15_REG_OFFSET(JPEG, 0, mmUVD_JPEG_PITCH);
|
||||
|
||||
return 0;
|
||||
@@ -509,7 +509,7 @@ void jpeg_v1_0_sw_fini(void *handle)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
|
||||
amdgpu_ring_fini(&adev->jpeg.inst[0].ring_dec);
|
||||
amdgpu_ring_fini(adev->jpeg.inst->ring_dec);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -522,7 +522,7 @@ void jpeg_v1_0_sw_fini(void *handle)
|
||||
*/
|
||||
void jpeg_v1_0_start(struct amdgpu_device *adev, int mode)
|
||||
{
|
||||
struct amdgpu_ring *ring = &adev->jpeg.inst->ring_dec;
|
||||
struct amdgpu_ring *ring = adev->jpeg.inst->ring_dec;
|
||||
|
||||
if (mode == 0) {
|
||||
WREG32_SOC15(JPEG, 0, mmUVD_LMI_JRBC_RB_VMID, 0);
|
||||
@@ -579,7 +579,7 @@ static const struct amdgpu_ring_funcs jpeg_v1_0_decode_ring_vm_funcs = {
|
||||
|
||||
static void jpeg_v1_0_set_dec_ring_funcs(struct amdgpu_device *adev)
|
||||
{
|
||||
adev->jpeg.inst->ring_dec.funcs = &jpeg_v1_0_decode_ring_vm_funcs;
|
||||
adev->jpeg.inst->ring_dec->funcs = &jpeg_v1_0_decode_ring_vm_funcs;
|
||||
DRM_INFO("JPEG decode is enabled in VM mode\n");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user