mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 04:34:03 +02:00
drm/amdgpu/jpeg: deduplicate jpeg_v5_3_0 process_interrupt
The jpeg_v5_3_0_process_interrupt function is identical to jpeg_v5_0_0_process_interrupt. Remove the duplicate implementation in jpeg_v5_3_0 and assign the jpeg_v5_0_0 version directly to the irq_funcs struct. Export jpeg_v5_0_0_process_interrupt through jpeg_v5_0_0.h to allow cross-version reuse. Signed-off-by: Tiago Dourado <tiagodourado@usp.br> Co-developed-by: Luiz Fernandes <luiz.f.f.fernandes@usp.br> Signed-off-by: Luiz Fernandes <luiz.f.f.fernandes@usp.br> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
dc04b40720
commit
f4c7d8293f
|
|
@ -625,7 +625,7 @@ static int jpeg_v5_0_0_set_interrupt_state(struct amdgpu_device *adev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int jpeg_v5_0_0_process_interrupt(struct amdgpu_device *adev,
|
||||
int jpeg_v5_0_0_process_interrupt(struct amdgpu_device *adev,
|
||||
struct amdgpu_irq_src *source,
|
||||
struct amdgpu_iv_entry *entry)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -32,4 +32,8 @@
|
|||
|
||||
extern const struct amdgpu_ip_block_version jpeg_v5_0_0_ip_block;
|
||||
|
||||
int jpeg_v5_0_0_process_interrupt(struct amdgpu_device *adev,
|
||||
struct amdgpu_irq_src *source,
|
||||
struct amdgpu_iv_entry *entry);
|
||||
|
||||
#endif /* __JPEG_V5_0_0_H__ */
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
#include "vcn/vcn_5_3_0_offset.h"
|
||||
#include "vcn/vcn_5_3_0_sh_mask.h"
|
||||
#include "ivsrcid/vcn/irqsrcs_vcn_5_0.h"
|
||||
#include "jpeg_v5_0_0.h"
|
||||
#include "jpeg_v5_3_0.h"
|
||||
|
||||
static void jpeg_v5_3_0_set_dec_ring_funcs(struct amdgpu_device *adev);
|
||||
|
|
@ -608,25 +609,6 @@ static int jpeg_v5_3_0_set_interrupt_state(struct amdgpu_device *adev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int jpeg_v5_3_0_process_interrupt(struct amdgpu_device *adev,
|
||||
struct amdgpu_irq_src *source,
|
||||
struct amdgpu_iv_entry *entry)
|
||||
{
|
||||
DRM_DEBUG("IH: JPEG TRAP\n");
|
||||
|
||||
switch (entry->src_id) {
|
||||
case VCN_5_0__SRCID__JPEG_DECODE:
|
||||
amdgpu_fence_process(adev->jpeg.inst->ring_dec);
|
||||
break;
|
||||
default:
|
||||
DRM_DEV_ERROR(adev->dev, "Unhandled interrupt: %d %d\n",
|
||||
entry->src_id, entry->src_data[0]);
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int jpeg_v5_3_0_ring_reset(struct amdgpu_ring *ring,
|
||||
unsigned int vmid,
|
||||
struct amdgpu_fence *timedout_fence)
|
||||
|
|
@ -697,7 +679,7 @@ static void jpeg_v5_3_0_set_dec_ring_funcs(struct amdgpu_device *adev)
|
|||
|
||||
static const struct amdgpu_irq_src_funcs jpeg_v5_3_0_irq_funcs = {
|
||||
.set = jpeg_v5_3_0_set_interrupt_state,
|
||||
.process = jpeg_v5_3_0_process_interrupt,
|
||||
.process = jpeg_v5_0_0_process_interrupt,
|
||||
};
|
||||
|
||||
static void jpeg_v5_3_0_set_irq_funcs(struct amdgpu_device *adev)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user