Lines Matching refs:gpu
86 static void etnaviv_cmd_select_pipe(struct etnaviv_gpu *gpu, in etnaviv_cmd_select_pipe() argument
91 lockdep_assert_held(&gpu->lock); in etnaviv_cmd_select_pipe()
99 if (gpu->exec_state == ETNA_PIPE_2D) in etnaviv_cmd_select_pipe()
101 else if (gpu->exec_state == ETNA_PIPE_3D) in etnaviv_cmd_select_pipe()
112 static void etnaviv_buffer_dump(struct etnaviv_gpu *gpu, in etnaviv_buffer_dump() argument
118 dev_info(gpu->dev, "virt %p phys 0x%08x free 0x%08x\n", in etnaviv_buffer_dump()
146 static u32 etnaviv_buffer_reserve(struct etnaviv_gpu *gpu, in etnaviv_buffer_reserve() argument
155 u16 etnaviv_buffer_init(struct etnaviv_gpu *gpu) in etnaviv_buffer_init() argument
157 struct etnaviv_cmdbuf *buffer = &gpu->buffer; in etnaviv_buffer_init()
159 lockdep_assert_held(&gpu->lock); in etnaviv_buffer_init()
171 u16 etnaviv_buffer_config_mmuv2(struct etnaviv_gpu *gpu, u32 mtlb_addr, u32 safe_addr) in etnaviv_buffer_config_mmuv2() argument
173 struct etnaviv_cmdbuf *buffer = &gpu->buffer; in etnaviv_buffer_config_mmuv2()
175 lockdep_assert_held(&gpu->lock); in etnaviv_buffer_config_mmuv2()
179 if (gpu->identity.features & chipFeatures_PIPE_3D) { in etnaviv_buffer_config_mmuv2()
189 if (gpu->identity.features & chipFeatures_PIPE_2D) { in etnaviv_buffer_config_mmuv2()
206 u16 etnaviv_buffer_config_pta(struct etnaviv_gpu *gpu) in etnaviv_buffer_config_pta() argument
208 struct etnaviv_cmdbuf *buffer = &gpu->buffer; in etnaviv_buffer_config_pta()
210 lockdep_assert_held(&gpu->lock); in etnaviv_buffer_config_pta()
224 void etnaviv_buffer_end(struct etnaviv_gpu *gpu) in etnaviv_buffer_end() argument
226 struct etnaviv_cmdbuf *buffer = &gpu->buffer; in etnaviv_buffer_end()
230 lockdep_assert_held(&gpu->lock); in etnaviv_buffer_end()
232 if (gpu->exec_state == ETNA_PIPE_2D) in etnaviv_buffer_end()
234 else if (gpu->exec_state == ETNA_PIPE_3D) in etnaviv_buffer_end()
244 link_target = etnaviv_buffer_reserve(gpu, buffer, dwords); in etnaviv_buffer_end()
249 if (gpu->exec_state == ETNA_PIPE_3D) in etnaviv_buffer_end()
268 void etnaviv_sync_point_queue(struct etnaviv_gpu *gpu, unsigned int event) in etnaviv_sync_point_queue() argument
270 struct etnaviv_cmdbuf *buffer = &gpu->buffer; in etnaviv_sync_point_queue()
274 lockdep_assert_held(&gpu->lock); in etnaviv_sync_point_queue()
281 target = etnaviv_buffer_reserve(gpu, buffer, dwords); in etnaviv_sync_point_queue()
306 void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, u32 exec_state, in etnaviv_buffer_queue() argument
309 struct etnaviv_cmdbuf *buffer = &gpu->buffer; in etnaviv_buffer_queue()
313 bool switch_context = gpu->exec_state != exec_state; in etnaviv_buffer_queue()
315 lockdep_assert_held(&gpu->lock); in etnaviv_buffer_queue()
318 etnaviv_buffer_dump(gpu, buffer, 0, 0x50); in etnaviv_buffer_queue()
328 if (gpu->mmu->need_flush || switch_context) { in etnaviv_buffer_queue()
335 if (gpu->mmu->need_flush) { in etnaviv_buffer_queue()
336 if (gpu->mmu->version == ETNAVIV_IOMMU_V1) in etnaviv_buffer_queue()
346 target = etnaviv_buffer_reserve(gpu, buffer, extra_dwords); in etnaviv_buffer_queue()
348 if (gpu->mmu->need_flush) { in etnaviv_buffer_queue()
350 if (gpu->mmu->version == ETNAVIV_IOMMU_V1) { in etnaviv_buffer_queue()
368 gpu->mmu->need_flush = false; in etnaviv_buffer_queue()
372 etnaviv_cmd_select_pipe(gpu, buffer, exec_state); in etnaviv_buffer_queue()
373 gpu->exec_state = exec_state; in etnaviv_buffer_queue()
391 return_target = etnaviv_buffer_reserve(gpu, buffer, return_dwords); in etnaviv_buffer_queue()
398 if (gpu->exec_state == ETNA_PIPE_2D) { in etnaviv_buffer_queue()
441 etnaviv_buffer_dump(gpu, buffer, 0, 0x50); in etnaviv_buffer_queue()
443 gpu->lastctx = cmdbuf->ctx; in etnaviv_buffer_queue()