Lines Matching refs:vdds

142 	vnet_dds_info_t *vdds = arg;  in debug_printf()  local
144 if (vdds != NULL) { in debug_printf()
146 vdds->vnetp->instance, fname); in debug_printf()
232 vnet_dds_info_t *vdds = &vnetp->vdds_info; in vdds_init() local
235 vdds->vnetp = vnetp; in vdds_init()
236 DBG1(vdds, "Initializing.."); in vdds_init()
238 if ((vdds->dds_taskqp = ddi_taskq_create(vnetp->dip, qname, 1, in vdds_init()
244 mutex_init(&vdds->lock, NULL, MUTEX_DRIVER, NULL); in vdds_init()
254 vnet_dds_info_t *vdds = &vnetp->vdds_info; in vdds_cleanup() local
256 DBG1(vdds, "Cleanup..."); in vdds_cleanup()
261 ddi_taskq_destroy(vdds->dds_taskqp); in vdds_cleanup()
262 vdds->dds_taskqp = NULL; in vdds_cleanup()
263 mutex_destroy(&vdds->lock); in vdds_cleanup()
264 DBG1(vdds, "Cleanup complete"); in vdds_cleanup()
274 vnet_dds_info_t *vdds = &vnetp->vdds_info; in vdds_cleanup_hybrid_res() local
276 DBG1(vdds, "Hybrid device cleanup..."); in vdds_cleanup_hybrid_res()
277 mutex_enter(&vdds->lock); in vdds_cleanup_hybrid_res()
278 if (vdds->task_flags == VNET_DDS_TASK_ADD_SHARE) { in vdds_cleanup_hybrid_res()
284 vdds->task_flags = 0; in vdds_cleanup_hybrid_res()
285 DBG2(vdds, "Task for ADD is pending, clean flags only"); in vdds_cleanup_hybrid_res()
286 } else if ((vdds->hio_dip != NULL) && (vdds->task_flags == 0)) { in vdds_cleanup_hybrid_res()
291 vdds->task_flags = VNET_DDS_TASK_REL_SHARE; in vdds_cleanup_hybrid_res()
292 (void) ddi_taskq_dispatch(vdds->dds_taskqp, in vdds_cleanup_hybrid_res()
294 DBG2(vdds, "Dispatched a task to destroy HIO device"); in vdds_cleanup_hybrid_res()
301 mutex_exit(&vdds->lock); in vdds_cleanup_hybrid_res()
302 DBG1(vdds, "Hybrid device cleanup complete"); in vdds_cleanup_hybrid_res()
312 vnet_dds_info_t *vdds = &vnetp->vdds_info; in vdds_cleanup_hio() local
315 ddi_taskq_wait(vdds->dds_taskqp); in vdds_cleanup_hio()
318 ddi_taskq_wait(vdds->dds_taskqp); in vdds_cleanup_hio()
327 vnet_dds_info_t *vdds = &vnetp->vdds_info; in vdds_process_dds_msg() local
330 DBG1(vdds, "DDS message received..."); in vdds_process_dds_msg()
333 DBG2(vdds, "Invalid class send NACK"); in vdds_process_dds_msg()
337 mutex_enter(&vdds->lock); in vdds_process_dds_msg()
340 DBG2(vdds, "DDS_VNET_ADD_SHARE message..."); in vdds_process_dds_msg()
341 if ((vdds->task_flags != 0) || (vdds->hio_dip != NULL)) { in vdds_process_dds_msg()
346 DWARN(vdds, "NACK: Already pending DDS task"); in vdds_process_dds_msg()
348 mutex_exit(&vdds->lock); in vdds_process_dds_msg()
351 vdds->task_flags = VNET_DDS_TASK_ADD_SHARE; in vdds_process_dds_msg()
353 DBG2(vdds, "Dispatching task for ADD_SHARE"); in vdds_process_dds_msg()
354 rv = ddi_taskq_dispatch(vdds->dds_taskqp, in vdds_process_dds_msg()
358 DBG2(vdds, "NACK: Failed to dispatch task"); in vdds_process_dds_msg()
360 vdds->task_flags = 0; in vdds_process_dds_msg()
365 DBG2(vdds, "DDS_VNET_DEL_SHARE message..."); in vdds_process_dds_msg()
366 if (vdds->task_flags == VNET_DDS_TASK_ADD_SHARE) { in vdds_process_dds_msg()
371 DBG2(vdds, "ACK:ADD_SHARE task still pending"); in vdds_process_dds_msg()
372 vdds->task_flags = 0; in vdds_process_dds_msg()
374 mutex_exit(&vdds->lock); in vdds_process_dds_msg()
377 if ((vdds->task_flags == 0) && (vdds->hio_dip == NULL)) { in vdds_process_dds_msg()
379 DBG2(vdds, "NACK:No HIO device exists"); in vdds_process_dds_msg()
381 mutex_exit(&vdds->lock); in vdds_process_dds_msg()
384 vdds->task_flags = VNET_DDS_TASK_DEL_SHARE; in vdds_process_dds_msg()
385 bcopy(dmsg, &vdds->dmsg, sizeof (vio_dds_msg_t)); in vdds_process_dds_msg()
386 DBG2(vdds, "Dispatching DEL_SHARE task"); in vdds_process_dds_msg()
387 rv = ddi_taskq_dispatch(vdds->dds_taskqp, in vdds_process_dds_msg()
391 DBG2(vdds, "NACK: failed to dispatch task"); in vdds_process_dds_msg()
393 vdds->task_flags = 0; in vdds_process_dds_msg()
397 DBG2(vdds, "Reply for REL_SHARE reply=%d", in vdds_process_dds_msg()
401 DWARN(vdds, "Discarding Unknown DDS message"); in vdds_process_dds_msg()
404 mutex_exit(&vdds->lock); in vdds_process_dds_msg()
415 vnet_dds_info_t *vdds = &vnetp->vdds_info; in vdds_process_dds_msg_task() local
416 vio_dds_msg_t *dmsg = &vdds->dmsg; in vdds_process_dds_msg_task()
422 DBG1(vdds, "DDS task started..."); in vdds_process_dds_msg_task()
423 mutex_enter(&vdds->lock); in vdds_process_dds_msg_task()
424 switch (vdds->task_flags) { in vdds_process_dds_msg_task()
426 DBG2(vdds, "ADD_SHARE task..."); in vdds_process_dds_msg_task()
439 DERR(vdds, "Failed to create HIO node"); in vdds_process_dds_msg_task()
441 vdds->hio_dip = dip; in vdds_process_dds_msg_task()
442 vdds->hio_cookie = hio_cookie; in vdds_process_dds_msg_task()
443 (void) snprintf(vdds->hio_ifname, in vdds_process_dds_msg_task()
444 sizeof (vdds->hio_ifname), "%s%d", in vdds_process_dds_msg_task()
447 rv = vnet_hio_mac_init(vnetp, vdds->hio_ifname); in vdds_process_dds_msg_task()
450 DERR(vdds, "HIO mac init failed, cleaning up"); in vdds_process_dds_msg_task()
454 DERR(vdds, "Successfully destroyed" in vdds_process_dds_msg_task()
461 vdds->hio_dip = NULL; in vdds_process_dds_msg_task()
462 vdds->hio_cookie = 0; in vdds_process_dds_msg_task()
470 DERR(vdds, "Successfully created HIO node"); in vdds_process_dds_msg_task()
475 DBG2(vdds, "DEL_SHARE task..."); in vdds_process_dds_msg_task()
477 DBG2(vdds, "NACK: No HIO device destroy"); in vdds_process_dds_msg_task()
482 vdds->hio_cookie); in vdds_process_dds_msg_task()
485 DERR(vdds, "Successfully destroyed" in vdds_process_dds_msg_task()
492 DBG2(vdds, "ACK: HIO device destroyed"); in vdds_process_dds_msg_task()
494 vdds->hio_dip = 0; in vdds_process_dds_msg_task()
495 vdds->hio_cookie = 0; in vdds_process_dds_msg_task()
499 DBG2(vdds, "REL_SHARE task..."); in vdds_process_dds_msg_task()
503 vdds->hio_cookie); in vdds_process_dds_msg_task()
505 DERR(vdds, "Successfully destroyed " in vdds_process_dds_msg_task()
513 vdds->hio_dip = 0; in vdds_process_dds_msg_task()
514 vdds->hio_cookie = 0; in vdds_process_dds_msg_task()
520 vdds->task_flags = 0; in vdds_process_dds_msg_task()
521 mutex_exit(&vdds->lock); in vdds_process_dds_msg_task()
530 vnet_dds_info_t *vdds = &vnetp->vdds_info; in vdds_send_dds_rel_msg() local
535 DBG1(vdds, "Sending DDS_VNET_REL_SHARE message"); in vdds_send_dds_rel_msg()
542 vmsg.dds_req_id = (++vdds->dds_req_id); in vdds_send_dds_rel_msg()
544 smsg->cookie = vdds->hio_cookie; in vdds_send_dds_rel_msg()
555 vnet_dds_info_t *vdds = &vnetp->vdds_info; in vdds_send_dds_resp_msg() local
558 DBG1(vdds, "Sending a response mesage=%d", ack); in vdds_send_dds_resp_msg()