/* Verify module parameters */ if ((max_num_of_queues_per_device < 1) ||
(max_num_of_queues_per_device >
KFD_MAX_NUM_OF_QUEUES_PER_DEVICE)) {
pr_err("max_num_of_queues_per_device must be between 1 to KFD_MAX_NUM_OF_QUEUES_PER_DEVICE\n"); return -EINVAL;
}
err = kfd_chardev_init(); if (err < 0) goto err_ioctl;
err = kfd_topology_init(); if (err < 0) goto err_topology;
err = kfd_process_create_wq(); if (err < 0) goto err_create_wq;
/* Ignore the return value, so that we can continue *toinittheKFD,evenifprocfsisn'tcraated
*/
kfd_procfs_init();
kfd_debugfs_init();
return0;
err_create_wq:
kfd_topology_shutdown();
err_topology:
kfd_chardev_exit();
err_ioctl:
pr_err("KFD is disabled due to module initialization failure\n"); return err;
}
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.