• Home
  • Raw
  • Download

Lines Matching refs:sriov

81 	guid_indexes = be64_to_cpu((__force __be64) dev->sriov.alias_guid.  in mlx4_ib_update_cache_on_guid_change()
97 memcpy(&dev->sriov.demux[port_index].guid_cache[slave_id], in mlx4_ib_update_cache_on_guid_change()
112 return *(__be64 *)&dev->sriov.demux[port - 1].guid_cache[index]; in get_cached_alias_guid()
145 guid_indexes = be64_to_cpu((__force __be64) dev->sriov.alias_guid. in mlx4_ib_notify_slaves_on_guid_change()
215 rec = &dev->sriov.alias_guid.ports_guid[port_index]. in aliasguid_query_handler()
235 rec = &dev->sriov.alias_guid.ports_guid[port_index]. in aliasguid_query_handler()
298 spin_lock_irqsave(&dev->sriov.going_down_lock, flags); in aliasguid_query_handler()
299 spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags1); in aliasguid_query_handler()
300 if (!dev->sriov.is_going_down) in aliasguid_query_handler()
301 queue_delayed_work(dev->sriov.alias_guid.ports_guid[port_index].wq, in aliasguid_query_handler()
302 &dev->sriov.alias_guid.ports_guid[port_index]. in aliasguid_query_handler()
309 spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock, flags1); in aliasguid_query_handler()
310 spin_unlock_irqrestore(&dev->sriov.going_down_lock, flags); in aliasguid_query_handler()
319 dev->sriov.alias_guid.ports_guid[port - 1].all_rec_per_port[index].status in invalidate_guid_record()
321 dev->sriov.alias_guid.ports_guid[port - 1].all_rec_per_port[index].method in invalidate_guid_record()
327 *(u64 *)&dev->sriov.alias_guid.ports_guid[port - 1]. in invalidate_guid_record()
337 MLX4_GUID_NONE_ASSIGN == dev->sriov.alias_guid. in invalidate_guid_record()
342 dev->sriov.alias_guid.ports_guid[port - 1]. in invalidate_guid_record()
358 &dev->sriov.alias_guid.ports_guid[port - 1].cb_list; in set_guid_rec()
395 spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags1); in set_guid_rec()
397 spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock, flags1); in set_guid_rec()
400 ib_sa_guid_info_rec_query(dev->sriov.alias_guid.sa_client, in set_guid_rec()
410 spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags1); in set_guid_rec()
413 spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock, flags1); in set_guid_rec()
422 spin_lock_irqsave(&dev->sriov.going_down_lock, flags); in set_guid_rec()
423 spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags1); in set_guid_rec()
425 if (!dev->sriov.is_going_down) { in set_guid_rec()
426 queue_delayed_work(dev->sriov.alias_guid.ports_guid[port - 1].wq, in set_guid_rec()
427 &dev->sriov.alias_guid.ports_guid[port - 1].alias_guid_work, in set_guid_rec()
430 spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock, flags1); in set_guid_rec()
431 spin_unlock_irqrestore(&dev->sriov.going_down_lock, flags); in set_guid_rec()
444 spin_lock_irqsave(&dev->sriov.going_down_lock, flags); in mlx4_ib_invalidate_all_guid_record()
445 spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags1); in mlx4_ib_invalidate_all_guid_record()
449 if (mlx4_is_master(dev->dev) && !dev->sriov.is_going_down) { in mlx4_ib_invalidate_all_guid_record()
455 cancel_delayed_work(&dev->sriov.alias_guid. in mlx4_ib_invalidate_all_guid_record()
457 queue_delayed_work(dev->sriov.alias_guid.ports_guid[port - 1].wq, in mlx4_ib_invalidate_all_guid_record()
458 &dev->sriov.alias_guid.ports_guid[port - 1].alias_guid_work, in mlx4_ib_invalidate_all_guid_record()
461 spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock, flags1); in mlx4_ib_invalidate_all_guid_record()
462 spin_unlock_irqrestore(&dev->sriov.going_down_lock, flags); in mlx4_ib_invalidate_all_guid_record()
474 spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags); in get_next_record_to_update()
475 if (dev->sriov.alias_guid.ports_guid[port].all_rec_per_port[j].status == in get_next_record_to_update()
478 &dev->sriov.alias_guid.ports_guid[port].all_rec_per_port[j], in get_next_record_to_update()
482 dev->sriov.alias_guid.ports_guid[port].all_rec_per_port[j].status = in get_next_record_to_update()
484 spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock, flags); in get_next_record_to_update()
487 spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock, flags); in get_next_record_to_update()
496 dev->sriov.alias_guid.ports_guid[port].all_rec_per_port[rec_index].guid_indexes = in set_administratively_guid_record()
498 memcpy(dev->sriov.alias_guid.ports_guid[port].all_rec_per_port[rec_index].all_recs, in set_administratively_guid_record()
500 dev->sriov.alias_guid.ports_guid[port].all_rec_per_port[rec_index].status = in set_administratively_guid_record()
533 struct mlx4_ib_dev *dev = container_of(ib_sriov, struct mlx4_ib_dev, sriov); in alias_guid_work()
562 spin_lock_irqsave(&dev->sriov.going_down_lock, flags); in mlx4_ib_init_alias_guid_work()
563 spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags1); in mlx4_ib_init_alias_guid_work()
564 if (!dev->sriov.is_going_down) { in mlx4_ib_init_alias_guid_work()
565 queue_delayed_work(dev->sriov.alias_guid.ports_guid[port].wq, in mlx4_ib_init_alias_guid_work()
566 &dev->sriov.alias_guid.ports_guid[port].alias_guid_work, 0); in mlx4_ib_init_alias_guid_work()
568 spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock, flags1); in mlx4_ib_init_alias_guid_work()
569 spin_unlock_irqrestore(&dev->sriov.going_down_lock, flags); in mlx4_ib_init_alias_guid_work()
575 struct mlx4_ib_sriov *sriov = &dev->sriov; in mlx4_ib_destroy_alias_guid_service() local
582 cancel_delayed_work(&dev->sriov.alias_guid.ports_guid[i].alias_guid_work); in mlx4_ib_destroy_alias_guid_service()
583 det = &sriov->alias_guid.ports_guid[i]; in mlx4_ib_destroy_alias_guid_service()
584 spin_lock_irqsave(&sriov->alias_guid.ag_work_lock, flags); in mlx4_ib_destroy_alias_guid_service()
592 spin_unlock_irqrestore(&sriov->alias_guid.ag_work_lock, flags); in mlx4_ib_destroy_alias_guid_service()
596 spin_lock_irqsave(&sriov->alias_guid.ag_work_lock, flags); in mlx4_ib_destroy_alias_guid_service()
598 spin_unlock_irqrestore(&sriov->alias_guid.ag_work_lock, flags); in mlx4_ib_destroy_alias_guid_service()
601 flush_workqueue(dev->sriov.alias_guid.ports_guid[i].wq); in mlx4_ib_destroy_alias_guid_service()
602 destroy_workqueue(dev->sriov.alias_guid.ports_guid[i].wq); in mlx4_ib_destroy_alias_guid_service()
604 ib_sa_unregister_client(dev->sriov.alias_guid.sa_client); in mlx4_ib_destroy_alias_guid_service()
605 kfree(dev->sriov.alias_guid.sa_client); in mlx4_ib_destroy_alias_guid_service()
617 dev->sriov.alias_guid.sa_client = in mlx4_ib_init_alias_guid_service()
618 kzalloc(sizeof *dev->sriov.alias_guid.sa_client, GFP_KERNEL); in mlx4_ib_init_alias_guid_service()
619 if (!dev->sriov.alias_guid.sa_client) in mlx4_ib_init_alias_guid_service()
622 ib_sa_register_client(dev->sriov.alias_guid.sa_client); in mlx4_ib_init_alias_guid_service()
624 spin_lock_init(&dev->sriov.alias_guid.ag_work_lock); in mlx4_ib_init_alias_guid_service()
634 memset(&dev->sriov.alias_guid.ports_guid[i], 0, in mlx4_ib_init_alias_guid_service()
639 dev->sriov.alias_guid.ports_guid[i]. in mlx4_ib_init_alias_guid_service()
644 dev->sriov.alias_guid.ports_guid[i].all_rec_per_port[j]. in mlx4_ib_init_alias_guid_service()
649 *(__be64 *)&dev->sriov.alias_guid.ports_guid[i]. in mlx4_ib_init_alias_guid_service()
654 INIT_LIST_HEAD(&dev->sriov.alias_guid.ports_guid[i].cb_list); in mlx4_ib_init_alias_guid_service()
659 dev->sriov.alias_guid.ports_guid[i].parent = &dev->sriov.alias_guid; in mlx4_ib_init_alias_guid_service()
660 dev->sriov.alias_guid.ports_guid[i].port = i; in mlx4_ib_init_alias_guid_service()
665 dev->sriov.alias_guid.ports_guid[i].wq = in mlx4_ib_init_alias_guid_service()
667 if (!dev->sriov.alias_guid.ports_guid[i].wq) { in mlx4_ib_init_alias_guid_service()
671 INIT_DELAYED_WORK(&dev->sriov.alias_guid.ports_guid[i].alias_guid_work, in mlx4_ib_init_alias_guid_service()
678 destroy_workqueue(dev->sriov.alias_guid.ports_guid[i].wq); in mlx4_ib_init_alias_guid_service()
679 dev->sriov.alias_guid.ports_guid[i].wq = NULL; in mlx4_ib_init_alias_guid_service()
683 ib_sa_unregister_client(dev->sriov.alias_guid.sa_client); in mlx4_ib_init_alias_guid_service()
684 kfree(dev->sriov.alias_guid.sa_client); in mlx4_ib_init_alias_guid_service()
685 dev->sriov.alias_guid.sa_client = NULL; in mlx4_ib_init_alias_guid_service()