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: 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>

authored by

Asad Kamal and committed by
Alex Deucher
b5e333e6 c6526cc6

+22 -5
+2 -5
drivers/gpu/drm/amd/amdgpu/amdgpu.h
··· 1539 1539 #define amdgpu_asic_read_bios_from_rom(adev, b, l) (adev)->asic_funcs->read_bios_from_rom((adev), (b), (l)) 1540 1540 #define amdgpu_asic_read_register(adev, se, sh, offset, v)((adev)->asic_funcs->read_register((adev), (se), (sh), (offset), (v))) 1541 1541 #define amdgpu_asic_get_config_memsize(adev) (adev)->asic_funcs->get_config_memsize((adev)) 1542 - #define amdgpu_asic_flush_hdp(adev, r) \ 1543 - ((adev)->asic_funcs->flush_hdp ? (adev)->asic_funcs->flush_hdp((adev), (r)) : (adev)->hdp.funcs->flush_hdp((adev), (r))) 1544 - #define amdgpu_asic_invalidate_hdp(adev, r) \ 1545 - ((adev)->asic_funcs->invalidate_hdp ? (adev)->asic_funcs->invalidate_hdp((adev), (r)) : \ 1546 - ((adev)->hdp.funcs->invalidate_hdp ? (adev)->hdp.funcs->invalidate_hdp((adev), (r)) : (void)0)) 1542 + #define amdgpu_asic_flush_hdp(adev, r) amdgpu_hdp_flush(adev, r) 1543 + #define amdgpu_asic_invalidate_hdp(adev, r) amdgpu_hdp_invalidate(adev, r) 1547 1544 #define amdgpu_asic_need_full_reset(adev) (adev)->asic_funcs->need_full_reset((adev)) 1548 1545 #define amdgpu_asic_init_doorbell_index(adev) (adev)->asic_funcs->init_doorbell_index((adev)) 1549 1546 #define amdgpu_asic_get_pcie_usage(adev, cnt0, cnt1) ((adev)->asic_funcs->get_pcie_usage((adev), (cnt0), (cnt1)))
+16
drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.c
··· 66 66 0); 67 67 } 68 68 } 69 + 70 + void amdgpu_hdp_invalidate(struct amdgpu_device *adev, struct amdgpu_ring *ring) 71 + { 72 + if (adev->asic_funcs && adev->asic_funcs->invalidate_hdp) 73 + adev->asic_funcs->invalidate_hdp(adev, ring); 74 + else if (adev->hdp.funcs && adev->hdp.funcs->invalidate_hdp) 75 + adev->hdp.funcs->invalidate_hdp(adev, ring); 76 + } 77 + 78 + void amdgpu_hdp_flush(struct amdgpu_device *adev, struct amdgpu_ring *ring) 79 + { 80 + if (adev->asic_funcs && adev->asic_funcs->flush_hdp) 81 + adev->asic_funcs->flush_hdp(adev, ring); 82 + else if (adev->hdp.funcs && adev->hdp.funcs->flush_hdp) 83 + adev->hdp.funcs->flush_hdp(adev, ring); 84 + }
+4
drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.h
··· 46 46 int amdgpu_hdp_ras_sw_init(struct amdgpu_device *adev); 47 47 void amdgpu_hdp_generic_flush(struct amdgpu_device *adev, 48 48 struct amdgpu_ring *ring); 49 + void amdgpu_hdp_invalidate(struct amdgpu_device *adev, 50 + struct amdgpu_ring *ring); 51 + void amdgpu_hdp_flush(struct amdgpu_device *adev, 52 + struct amdgpu_ring *ring); 49 53 #endif /* __AMDGPU_HDP_H__ */