host-drivers/base-driver/vca/vop/vop_common.c
static void put_descriptors(struct vop_vringh* vr, u16 head, size_t size)
{
	pr_debug("%s complete descs vring no %d head %d size %d\n",
		__func__ ,
		vr->index, head, (u32)size);

	vca_vringh_complete_kern(&vr->vrh, head, size);

	if (vr->vrh.notify && vca_vringh_need_notify_kern(&vr->vrh) > 0)
		vringh_notify(&vr->vrh);
}
/* Mark descriptors as completed. This needs to be synchronized by the caller
 * so that no other function using this vr->vrh is executed in parallel */
Mark descriptors as completed. This needs to be synchronized by the caller
so that no other function using this vr->vrh is executed in parallel
Mark descriptors as completed . This needs to be synchronized by the caller so that no other function using this vr - > vrh is executed in parallel
static void put_descriptors(struct vop_vringh* vr, u16 head, size_t size)
{
	pr_debug("%s complete descs vring no %d head %d size %d\n",
		__func__ ,
		vr->index, head, (u32)size);
	vca_vringh_complete_kern(&vr->vrh, head, size);
	if (vr->vrh.notify && vca_vringh_need_notify_kern(&vr->vrh) > 0)
		vringh_notify(&vr->vrh);
}
static void put_descriptors ( struct vop_vringh * vr , u16 head , size_t size ) { pr_debug ( " \n " , __func__ , vr -> index , head , ( u32 ) size ) ; vca_vringh_complete_kern ( & vr -> vrh , head , size ) ; if ( vr -> vrh . notify && vca_vringh_need_notify_kern ( & vr -> vrh ) > 0 ) vringh_notify ( & vr -> vrh ) ; }
Mark descriptors as completed.
Mark descriptors as completed .