v3dv: fix BCL start offset in presence of chained BOs

If a job's BCL spans multiple BOs we should take the start offset of the
BCL from the first BO in the list.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
diff --git a/src/broadcom/vulkan/v3dv_queue.c b/src/broadcom/vulkan/v3dv_queue.c
index a668f56..1d42132 100644
--- a/src/broadcom/vulkan/v3dv_queue.c
+++ b/src/broadcom/vulkan/v3dv_queue.c
@@ -457,7 +457,14 @@
 
    struct drm_v3d_submit_cl submit;
 
-   submit.bcl_start = job->bcl.bo->offset;
+   /* We expect to have just one RCL per job which should fit in just one BO.
+    * Our BCL, could chain multiple BOS together though.
+    */
+   assert(list_length(&job->rcl.bo_list) == 1);
+   assert(list_length(&job->bcl.bo_list) >= 1);
+   struct v3dv_bo *bcl_fist_bo =
+      list_first_entry(&job->bcl.bo_list, struct v3dv_bo, list_link);
+   submit.bcl_start = bcl_fist_bo->offset;
    submit.bcl_end = job->bcl.bo->offset + v3dv_cl_offset(&job->bcl);
    submit.rcl_start = job->rcl.bo->offset;
    submit.rcl_end = job->rcl.bo->offset + v3dv_cl_offset(&job->rcl);