Loading drivers/cam_sync/cam_sync.c +24 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,24 @@ struct sync_device *sync_dev; */ static bool trigger_cb_without_switch; static void cam_sync_print_fence_table(void) { int idx; for (idx = 0; idx < CAM_SYNC_MAX_OBJS; idx++) { spin_lock_bh(&sync_dev->row_spinlocks[idx]); CAM_INFO(CAM_SYNC, "index[%u]: sync_id=%d, name=%s, type=%d, state=%d, ref_cnt=%d", idx, sync_dev->sync_table[idx].sync_id, sync_dev->sync_table[idx].name, sync_dev->sync_table[idx].type, sync_dev->sync_table[idx].state, sync_dev->sync_table[idx].ref_cnt); spin_unlock_bh(&sync_dev->row_spinlocks[idx]); } } int cam_sync_create(int32_t *sync_obj, const char *name) { int rc; Loading @@ -33,8 +51,13 @@ int cam_sync_create(int32_t *sync_obj, const char *name) do { idx = find_first_zero_bit(sync_dev->bitmap, CAM_SYNC_MAX_OBJS); if (idx >= CAM_SYNC_MAX_OBJS) if (idx >= CAM_SYNC_MAX_OBJS) { CAM_ERR(CAM_SYNC, "Error: Unable to create sync idx = %d reached max!", idx); cam_sync_print_fence_table(); return -ENOMEM; } CAM_DBG(CAM_SYNC, "Index location available at idx: %ld", idx); bit = test_and_set_bit(idx, sync_dev->bitmap); } while (bit); Loading Loading
drivers/cam_sync/cam_sync.c +24 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,24 @@ struct sync_device *sync_dev; */ static bool trigger_cb_without_switch; static void cam_sync_print_fence_table(void) { int idx; for (idx = 0; idx < CAM_SYNC_MAX_OBJS; idx++) { spin_lock_bh(&sync_dev->row_spinlocks[idx]); CAM_INFO(CAM_SYNC, "index[%u]: sync_id=%d, name=%s, type=%d, state=%d, ref_cnt=%d", idx, sync_dev->sync_table[idx].sync_id, sync_dev->sync_table[idx].name, sync_dev->sync_table[idx].type, sync_dev->sync_table[idx].state, sync_dev->sync_table[idx].ref_cnt); spin_unlock_bh(&sync_dev->row_spinlocks[idx]); } } int cam_sync_create(int32_t *sync_obj, const char *name) { int rc; Loading @@ -33,8 +51,13 @@ int cam_sync_create(int32_t *sync_obj, const char *name) do { idx = find_first_zero_bit(sync_dev->bitmap, CAM_SYNC_MAX_OBJS); if (idx >= CAM_SYNC_MAX_OBJS) if (idx >= CAM_SYNC_MAX_OBJS) { CAM_ERR(CAM_SYNC, "Error: Unable to create sync idx = %d reached max!", idx); cam_sync_print_fence_table(); return -ENOMEM; } CAM_DBG(CAM_SYNC, "Index location available at idx: %ld", idx); bit = test_and_set_bit(idx, sync_dev->bitmap); } while (bit); Loading