mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
drm/amdgpu: Update invalidate and flush hdp function
Update asic_invalidate_hdp and asic_flush_hdp function to check if ip
function exist, if not return void
v2: Use else/if (Kevin)
Update function name (Lijo)
Signed-off-by: Asad Kamal <asad.kamal@amd.com>
Suggested-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Yang Wang <kevinyang.wang@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -1539,11 +1539,8 @@ int emu_soc_asic_init(struct amdgpu_device *adev);
|
||||
#define amdgpu_asic_read_bios_from_rom(adev, b, l) (adev)->asic_funcs->read_bios_from_rom((adev), (b), (l))
|
||||
#define amdgpu_asic_read_register(adev, se, sh, offset, v)((adev)->asic_funcs->read_register((adev), (se), (sh), (offset), (v)))
|
||||
#define amdgpu_asic_get_config_memsize(adev) (adev)->asic_funcs->get_config_memsize((adev))
|
||||
#define amdgpu_asic_flush_hdp(adev, r) \
|
||||
((adev)->asic_funcs->flush_hdp ? (adev)->asic_funcs->flush_hdp((adev), (r)) : (adev)->hdp.funcs->flush_hdp((adev), (r)))
|
||||
#define amdgpu_asic_invalidate_hdp(adev, r) \
|
||||
((adev)->asic_funcs->invalidate_hdp ? (adev)->asic_funcs->invalidate_hdp((adev), (r)) : \
|
||||
((adev)->hdp.funcs->invalidate_hdp ? (adev)->hdp.funcs->invalidate_hdp((adev), (r)) : (void)0))
|
||||
#define amdgpu_asic_flush_hdp(adev, r) amdgpu_hdp_flush(adev, r)
|
||||
#define amdgpu_asic_invalidate_hdp(adev, r) amdgpu_hdp_invalidate(adev, r)
|
||||
#define amdgpu_asic_need_full_reset(adev) (adev)->asic_funcs->need_full_reset((adev))
|
||||
#define amdgpu_asic_init_doorbell_index(adev) (adev)->asic_funcs->init_doorbell_index((adev))
|
||||
#define amdgpu_asic_get_pcie_usage(adev, cnt0, cnt1) ((adev)->asic_funcs->get_pcie_usage((adev), (cnt0), (cnt1)))
|
||||
|
||||
@@ -66,3 +66,19 @@ void amdgpu_hdp_generic_flush(struct amdgpu_device *adev,
|
||||
0);
|
||||
}
|
||||
}
|
||||
|
||||
void amdgpu_hdp_invalidate(struct amdgpu_device *adev, struct amdgpu_ring *ring)
|
||||
{
|
||||
if (adev->asic_funcs && adev->asic_funcs->invalidate_hdp)
|
||||
adev->asic_funcs->invalidate_hdp(adev, ring);
|
||||
else if (adev->hdp.funcs && adev->hdp.funcs->invalidate_hdp)
|
||||
adev->hdp.funcs->invalidate_hdp(adev, ring);
|
||||
}
|
||||
|
||||
void amdgpu_hdp_flush(struct amdgpu_device *adev, struct amdgpu_ring *ring)
|
||||
{
|
||||
if (adev->asic_funcs && adev->asic_funcs->flush_hdp)
|
||||
adev->asic_funcs->flush_hdp(adev, ring);
|
||||
else if (adev->hdp.funcs && adev->hdp.funcs->flush_hdp)
|
||||
adev->hdp.funcs->flush_hdp(adev, ring);
|
||||
}
|
||||
|
||||
@@ -46,4 +46,8 @@ struct amdgpu_hdp {
|
||||
int amdgpu_hdp_ras_sw_init(struct amdgpu_device *adev);
|
||||
void amdgpu_hdp_generic_flush(struct amdgpu_device *adev,
|
||||
struct amdgpu_ring *ring);
|
||||
void amdgpu_hdp_invalidate(struct amdgpu_device *adev,
|
||||
struct amdgpu_ring *ring);
|
||||
void amdgpu_hdp_flush(struct amdgpu_device *adev,
|
||||
struct amdgpu_ring *ring);
|
||||
#endif /* __AMDGPU_HDP_H__ */
|
||||
|
||||
Reference in New Issue
Block a user