/** * struct xe_migrate_pt_update_ops - Callbacks for the * xe_migrate_update_pgtables() function.
*/ struct xe_migrate_pt_update_ops { /** * @populate: Populate a command buffer or page-table with ptes. * @pt_update: Embeddable callback argument. * @tile: The tile for the current operation. * @map: struct iosys_map into the memory to be populated. * @pos: If @map is NULL, map into the memory to be populated. * @ofs: qword offset into @map, unused if @map is NULL. * @num_qwords: Number of qwords to write. * @update: Information about the PTEs to be inserted. * * This interface is intended to be used as a callback into the * page-table system to populate command buffers or shared * page-tables with PTEs.
*/ void (*populate)(struct xe_migrate_pt_update *pt_update, struct xe_tile *tile, struct iosys_map *map, void *pos, u32 ofs, u32 num_qwords, conststruct xe_vm_pgtable_update *update); /** * @clear: Clear a command buffer or page-table with ptes. * @pt_update: Embeddable callback argument. * @tile: The tile for the current operation. * @map: struct iosys_map into the memory to be populated. * @pos: If @map is NULL, map into the memory to be populated. * @ofs: qword offset into @map, unused if @map is NULL. * @num_qwords: Number of qwords to write. * @update: Information about the PTEs to be inserted. * * This interface is intended to be used as a callback into the * page-table system to populate command buffers or shared * page-tables with PTEs.
*/ void (*clear)(struct xe_migrate_pt_update *pt_update, struct xe_tile *tile, struct iosys_map *map, void *pos, u32 ofs, u32 num_qwords, conststruct xe_vm_pgtable_update *update);
/** * @pre_commit: Callback to be called just before arming the * sched_job. * @pt_update: Pointer to embeddable callback argument. * * Return: 0 on success, negative error code on error.
*/ int (*pre_commit)(struct xe_migrate_pt_update *pt_update);
};
/** * struct xe_migrate_pt_update - Argument to the * struct xe_migrate_pt_update_ops callbacks. * * Intended to be subclassed to support additional arguments if necessary.
*/ struct xe_migrate_pt_update { /** @ops: Pointer to the struct xe_migrate_pt_update_ops callbacks */ conststruct xe_migrate_pt_update_ops *ops; /** @vops: VMA operations */ struct xe_vma_ops *vops; /** @job: The job if a GPU page-table update. NULL otherwise */ struct xe_sched_job *job; /** @tile_id: Tile ID of the update */
u8 tile_id;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.