struct xnode *node = &phi->topology[phi->id];
- assert(node->state == XNODE_STATE_WAIT_CONNECTION);
-
while (node->state == XNODE_STATE_WAIT_CONNECTION) {
uint32_t data = 0x0;
uint32_t serial_recv = 0xF;
USER_PANIC_ERR(err, "could not do the card initialization\n");
}
- err = service_register(&xphi, irefs, num);
- if (err_is_fail(err)) {
- USER_PANIC_ERR(err, "could not register with the other drivers");
- }
-
err = xeon_phi_boot(&xphi, xeon_phi_mod_uri, xeon_phi_mod_list);
if (err_is_fail(err)) {
USER_PANIC_ERR(err, "could not boot the card\n");
interphi_wait_for_client(&xphi);
+ err = service_register(&xphi, irefs, num);
+ if (err_is_fail(err)) {
+ USER_PANIC_ERR(err, "could not register with the other drivers");
+ }
+
if (xeon_phi_dma_enabled) {
err = xdma_service_init(&xphi);
if (err_is_fail(err)) {
{
struct xeon_phi *phi = _binding->st;
+ interphi_wait_for_client(phi);
+
assert(id < XEON_PHI_NUM_MAX);
phi->topology[id].binding = _binding;
phi->topology[id].state = XNODE_STATE_READY;