main.c (b2aaf8f74cdc84a9182f6cabf198b7763bcb9d40) | main.c (7ff93f8b7ecbc36e7ffc5c11a61643821c1bfee5) |
---|---|
1/* 2 * Copyright (c) 2006, 2007 Cisco Systems, Inc. All rights reserved. 3 * Copyright (c) 2007, 2008 Mellanox Technologies. All rights reserved. 4 * 5 * This software is available to you under a choice of one of two 6 * licenses. You may choose to be licensed under the terms of the GNU 7 * General Public License (GPL) Version 2, available from the file 8 * COPYING in the main directory of this source tree, or the --- 560 unchanged lines hidden (view full) --- 569 MLX4_INIT_DOORBELL_LOCK(&ibdev->uar_lock); 570 571 ibdev->dev = dev; 572 573 strlcpy(ibdev->ib_dev.name, "mlx4_%d", IB_DEVICE_NAME_MAX); 574 ibdev->ib_dev.owner = THIS_MODULE; 575 ibdev->ib_dev.node_type = RDMA_NODE_IB_CA; 576 ibdev->ib_dev.local_dma_lkey = dev->caps.reserved_lkey; | 1/* 2 * Copyright (c) 2006, 2007 Cisco Systems, Inc. All rights reserved. 3 * Copyright (c) 2007, 2008 Mellanox Technologies. All rights reserved. 4 * 5 * This software is available to you under a choice of one of two 6 * licenses. You may choose to be licensed under the terms of the GNU 7 * General Public License (GPL) Version 2, available from the file 8 * COPYING in the main directory of this source tree, or the --- 560 unchanged lines hidden (view full) --- 569 MLX4_INIT_DOORBELL_LOCK(&ibdev->uar_lock); 570 571 ibdev->dev = dev; 572 573 strlcpy(ibdev->ib_dev.name, "mlx4_%d", IB_DEVICE_NAME_MAX); 574 ibdev->ib_dev.owner = THIS_MODULE; 575 ibdev->ib_dev.node_type = RDMA_NODE_IB_CA; 576 ibdev->ib_dev.local_dma_lkey = dev->caps.reserved_lkey; |
577 ibdev->ib_dev.phys_port_cnt = dev->caps.num_ports; | 577 ibdev->num_ports = 0; 578 mlx4_foreach_port(i, dev, MLX4_PORT_TYPE_IB) 579 ibdev->num_ports++; 580 ibdev->ib_dev.phys_port_cnt = ibdev->num_ports; |
578 ibdev->ib_dev.num_comp_vectors = 1; 579 ibdev->ib_dev.dma_device = &dev->pdev->dev; 580 581 ibdev->ib_dev.uverbs_abi_ver = MLX4_IB_UVERBS_ABI_VERSION; 582 ibdev->ib_dev.uverbs_cmd_mask = 583 (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | 584 (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | 585 (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | --- 100 unchanged lines hidden (view full) --- 686 return NULL; 687} 688 689static void mlx4_ib_remove(struct mlx4_dev *dev, void *ibdev_ptr) 690{ 691 struct mlx4_ib_dev *ibdev = ibdev_ptr; 692 int p; 693 | 581 ibdev->ib_dev.num_comp_vectors = 1; 582 ibdev->ib_dev.dma_device = &dev->pdev->dev; 583 584 ibdev->ib_dev.uverbs_abi_ver = MLX4_IB_UVERBS_ABI_VERSION; 585 ibdev->ib_dev.uverbs_cmd_mask = 586 (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | 587 (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | 588 (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | --- 100 unchanged lines hidden (view full) --- 689 return NULL; 690} 691 692static void mlx4_ib_remove(struct mlx4_dev *dev, void *ibdev_ptr) 693{ 694 struct mlx4_ib_dev *ibdev = ibdev_ptr; 695 int p; 696 |
694 for (p = 1; p <= dev->caps.num_ports; ++p) | 697 for (p = 1; p <= ibdev->num_ports; ++p) |
695 mlx4_CLOSE_PORT(dev, p); 696 697 mlx4_ib_mad_cleanup(ibdev); 698 ib_unregister_device(&ibdev->ib_dev); 699 iounmap(ibdev->uar_map); 700 mlx4_uar_free(dev, &ibdev->priv_uar); 701 mlx4_pd_free(dev, ibdev->priv_pdn); 702 ib_dealloc_device(&ibdev->ib_dev); 703} 704 705static void mlx4_ib_event(struct mlx4_dev *dev, void *ibdev_ptr, 706 enum mlx4_dev_event event, int port) 707{ 708 struct ib_event ibev; | 698 mlx4_CLOSE_PORT(dev, p); 699 700 mlx4_ib_mad_cleanup(ibdev); 701 ib_unregister_device(&ibdev->ib_dev); 702 iounmap(ibdev->uar_map); 703 mlx4_uar_free(dev, &ibdev->priv_uar); 704 mlx4_pd_free(dev, ibdev->priv_pdn); 705 ib_dealloc_device(&ibdev->ib_dev); 706} 707 708static void mlx4_ib_event(struct mlx4_dev *dev, void *ibdev_ptr, 709 enum mlx4_dev_event event, int port) 710{ 711 struct ib_event ibev; |
712 struct mlx4_ib_dev *ibdev = to_mdev((struct ib_device *) ibdev_ptr); |
|
709 | 713 |
714 if (port > ibdev->num_ports) 715 return; 716 |
|
710 switch (event) { 711 case MLX4_DEV_EVENT_PORT_UP: 712 ibev.event = IB_EVENT_PORT_ACTIVE; 713 break; 714 715 case MLX4_DEV_EVENT_PORT_DOWN: 716 ibev.event = IB_EVENT_PORT_ERR; 717 break; --- 33 unchanged lines hidden --- | 717 switch (event) { 718 case MLX4_DEV_EVENT_PORT_UP: 719 ibev.event = IB_EVENT_PORT_ACTIVE; 720 break; 721 722 case MLX4_DEV_EVENT_PORT_DOWN: 723 ibev.event = IB_EVENT_PORT_ERR; 724 break; --- 33 unchanged lines hidden --- |