From 479a999637e3a4a604ee10e1ce1d492273b2e150 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Wed, 31 Aug 2022 00:03:20 -0700 Subject: [PATCH] anv: Inline write_reloc into the only remaining caller This is writing an address and clflushing, but it's not really about execbuf relocations. Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/vulkan/anv_batch_chain.c | 8 +++++--- src/intel/vulkan/anv_private.h | 10 ---------- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/src/intel/vulkan/anv_batch_chain.c b/src/intel/vulkan/anv_batch_chain.c index e0504cdfdc4..28e2b8a3aaa 100644 --- a/src/intel/vulkan/anv_batch_chain.c +++ b/src/intel/vulkan/anv_batch_chain.c @@ -385,9 +385,11 @@ anv_batch_bo_link(struct anv_cmd_buffer *cmd_buffer, assert(((*bb_start >> 29) & 0x07) == 0); assert(((*bb_start >> 23) & 0x3f) == 49); - write_reloc(cmd_buffer->device, - prev_bbo->bo->map + bb_start_offset + 4, - next_bbo->bo->offset + next_bbo_offset, true); + uint64_t *map = prev_bbo->bo->map + bb_start_offset + 4; + *map = intel_canonical_address(next_bbo->bo->offset + next_bbo_offset); + + if (cmd_buffer->device->physical->memory.need_clflush) + intel_flush_range(map, sizeof(uint64_t)); } static void diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index eef8ed7e6f2..ec2ff4161b4 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1447,16 +1447,6 @@ anv_batch_emit_reloc(struct anv_batch *batch, return address_u64; } -static inline void -write_reloc(const struct anv_device *device, void *p, uint64_t v, bool flush) -{ - unsigned reloc_size = sizeof(uint64_t); - *(uint64_t *)p = intel_canonical_address(v); - - if (flush && device->physical->memory.need_clflush) - intel_flush_range(p, reloc_size); -} - static inline uint64_t _anv_combine_address(struct anv_batch *batch, void *location, const struct anv_address address, uint32_t delta)