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)
{
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__ */
#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);
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)
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)