Lines Matching defs:ucmd
250 int iommufd_hwpt_alloc(struct iommufd_ucmd *ucmd)
252 struct iommu_hwpt_alloc *cmd = ucmd->cmd;
270 idev = iommufd_get_device(ucmd, cmd->dev_id);
274 pt_obj = iommufd_get_object(ucmd->ictx, cmd->pt_id, IOMMUFD_OBJ_ANY);
286 ucmd->ictx, ioas, idev, cmd->flags, false,
297 ucmd->ictx,
312 rc = iommufd_ucmd_respond(ucmd, sizeof(*cmd));
315 iommufd_object_finalize(ucmd->ictx, &hwpt->obj);
319 iommufd_object_abort_and_destroy(ucmd->ictx, &hwpt->obj);
324 iommufd_put_object(ucmd->ictx, pt_obj);
326 iommufd_put_object(ucmd->ictx, &idev->obj);
330 int iommufd_hwpt_set_dirty_tracking(struct iommufd_ucmd *ucmd)
332 struct iommu_hwpt_set_dirty_tracking *cmd = ucmd->cmd;
341 hwpt_paging = iommufd_get_hwpt_paging(ucmd, cmd->hwpt_id);
351 iommufd_put_object(ucmd->ictx, &hwpt_paging->common.obj);
355 int iommufd_hwpt_get_dirty_bitmap(struct iommufd_ucmd *ucmd)
357 struct iommu_hwpt_get_dirty_bitmap *cmd = ucmd->cmd;
366 hwpt_paging = iommufd_get_hwpt_paging(ucmd, cmd->hwpt_id);
374 iommufd_put_object(ucmd->ictx, &hwpt_paging->common.obj);
378 int iommufd_hwpt_invalidate(struct iommufd_ucmd *ucmd)
380 struct iommu_hwpt_invalidate *cmd = ucmd->cmd;
401 hwpt = iommufd_get_hwpt_nested(ucmd, cmd->hwpt_id);
411 iommufd_put_object(ucmd->ictx, &hwpt->obj);
414 if (iommufd_ucmd_respond(ucmd, sizeof(*cmd)))