My Q or A is inline.
Thanks!
James Zhu
On 2025-01-08 04:18, Christian König
wrote:
Am 07.01.25 um 21:01 schrieb James Zhu:
this original test condition is unclear.
No that is completely unnecessary.
The point is that with fence->ops->signaled provided the fence should make progress even without enabling signaling.
Why would you want to add this?
[JZ]Nothing happened. just for clarification. So the code can be interpreted , if this fence has no signal op defined, we need try to use enable_signaling
to flush this fence. implicitly, if signal op is defined, then this fence is flushed early or later around.
Regards,
Christian.
Signed-off-by: James Zhu <James.Zhu@xxxxxxx>
---
drivers/gpu/drm/ttm/ttm_bo.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index 48c5365efca1..d40f07802c4f 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -218,7 +218,7 @@ static void ttm_bo_flush_all_fences(struct ttm_buffer_object *bo)
dma_resv_iter_begin(&cursor, resv, DMA_RESV_USAGE_BOOKKEEP);
dma_resv_for_each_fence_unlocked(&cursor, fence) {
- if (!fence->ops->signaled)
+ if (fence->ops->signaled && !fence->ops->signaled(fence))
dma_fence_enable_sw_signaling(fence);
}
dma_resv_iter_end(&cursor);