diff options
| -rw-r--r-- | drivers/infiniband/hw/mlx4/main.c | 14 | ||||
| -rw-r--r-- | drivers/net/mlx4/catas.c | 2 | ||||
| -rw-r--r-- | drivers/net/mlx4/eq.c | 5 | ||||
| -rw-r--r-- | drivers/net/mlx4/intf.c | 8 | ||||
| -rw-r--r-- | drivers/net/mlx4/mlx4.h | 4 | ||||
| -rw-r--r-- | include/linux/mlx4/driver.h | 3 |
6 files changed, 18 insertions, 18 deletions
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index 96a39b5c9254..d5512011999c 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c | |||
| @@ -675,18 +675,20 @@ static void mlx4_ib_remove(struct mlx4_dev *dev, void *ibdev_ptr) | |||
| 675 | } | 675 | } |
| 676 | 676 | ||
| 677 | static void mlx4_ib_event(struct mlx4_dev *dev, void *ibdev_ptr, | 677 | static void mlx4_ib_event(struct mlx4_dev *dev, void *ibdev_ptr, |
| 678 | enum mlx4_dev_event event, int subtype, | 678 | enum mlx4_dev_event event, int port) |
| 679 | int port) | ||
| 680 | { | 679 | { |
| 681 | struct ib_event ibev; | 680 | struct ib_event ibev; |
| 682 | 681 | ||
| 683 | switch (event) { | 682 | switch (event) { |
| 684 | case MLX4_EVENT_TYPE_PORT_CHANGE: | 683 | case MLX4_DEV_EVENT_PORT_UP: |
| 685 | ibev.event = subtype == MLX4_PORT_CHANGE_SUBTYPE_ACTIVE ? | 684 | ibev.event = IB_EVENT_PORT_ACTIVE; |
| 686 | IB_EVENT_PORT_ACTIVE : IB_EVENT_PORT_ERR; | ||
| 687 | break; | 685 | break; |
| 688 | 686 | ||
| 689 | case MLX4_EVENT_TYPE_LOCAL_CATAS_ERROR: | 687 | case MLX4_DEV_EVENT_PORT_DOWN: |
| 688 | ibev.event = IB_EVENT_PORT_ERR; | ||
| 689 | break; | ||
| 690 | |||
| 691 | case MLX4_DEV_EVENT_CATASTROPHIC_ERROR: | ||
| 690 | ibev.event = IB_EVENT_DEVICE_FATAL; | 692 | ibev.event = IB_EVENT_DEVICE_FATAL; |
| 691 | break; | 693 | break; |
| 692 | 694 | ||
diff --git a/drivers/net/mlx4/catas.c b/drivers/net/mlx4/catas.c index 6b32ec94b3a8..aa9528779044 100644 --- a/drivers/net/mlx4/catas.c +++ b/drivers/net/mlx4/catas.c | |||
| @@ -69,7 +69,7 @@ static void poll_catas(unsigned long dev_ptr) | |||
| 69 | if (readl(priv->catas_err.map)) { | 69 | if (readl(priv->catas_err.map)) { |
| 70 | dump_err_buf(dev); | 70 | dump_err_buf(dev); |
| 71 | 71 | ||
| 72 | mlx4_dispatch_event(dev, MLX4_EVENT_TYPE_LOCAL_CATAS_ERROR, 0, 0); | 72 | mlx4_dispatch_event(dev, MLX4_DEV_EVENT_CATASTROPHIC_ERROR, 0); |
| 73 | 73 | ||
| 74 | if (internal_err_reset) { | 74 | if (internal_err_reset) { |
| 75 | spin_lock(&catas_lock); | 75 | spin_lock(&catas_lock); |
diff --git a/drivers/net/mlx4/eq.c b/drivers/net/mlx4/eq.c index 9c36c2034030..e141a1513f07 100644 --- a/drivers/net/mlx4/eq.c +++ b/drivers/net/mlx4/eq.c | |||
| @@ -202,7 +202,10 @@ static int mlx4_eq_int(struct mlx4_dev *dev, struct mlx4_eq *eq) | |||
| 202 | break; | 202 | break; |
| 203 | 203 | ||
| 204 | case MLX4_EVENT_TYPE_PORT_CHANGE: | 204 | case MLX4_EVENT_TYPE_PORT_CHANGE: |
| 205 | mlx4_dispatch_event(dev, eqe->type, eqe->subtype, | 205 | mlx4_dispatch_event(dev, |
| 206 | eqe->subtype == MLX4_PORT_CHANGE_SUBTYPE_ACTIVE ? | ||
| 207 | MLX4_DEV_EVENT_PORT_UP : | ||
| 208 | MLX4_DEV_EVENT_PORT_DOWN, | ||
| 206 | be32_to_cpu(eqe->event.port_change.port) >> 28); | 209 | be32_to_cpu(eqe->event.port_change.port) >> 28); |
| 207 | break; | 210 | break; |
| 208 | 211 | ||
diff --git a/drivers/net/mlx4/intf.c b/drivers/net/mlx4/intf.c index be5d9e90ccf2..4a6c4d526f1b 100644 --- a/drivers/net/mlx4/intf.c +++ b/drivers/net/mlx4/intf.c | |||
| @@ -30,8 +30,6 @@ | |||
| 30 | * SOFTWARE. | 30 | * SOFTWARE. |
| 31 | */ | 31 | */ |
| 32 | 32 | ||
| 33 | #include <linux/mlx4/driver.h> | ||
| 34 | |||
| 35 | #include "mlx4.h" | 33 | #include "mlx4.h" |
| 36 | 34 | ||
| 37 | struct mlx4_device_context { | 35 | struct mlx4_device_context { |
| @@ -113,8 +111,7 @@ void mlx4_unregister_interface(struct mlx4_interface *intf) | |||
| 113 | } | 111 | } |
| 114 | EXPORT_SYMBOL_GPL(mlx4_unregister_interface); | 112 | EXPORT_SYMBOL_GPL(mlx4_unregister_interface); |
| 115 | 113 | ||
| 116 | void mlx4_dispatch_event(struct mlx4_dev *dev, enum mlx4_event type, | 114 | void mlx4_dispatch_event(struct mlx4_dev *dev, enum mlx4_dev_event type, int port) |
| 117 | int subtype, int port) | ||
| 118 | { | 115 | { |
| 119 | struct mlx4_priv *priv = mlx4_priv(dev); | 116 | struct mlx4_priv *priv = mlx4_priv(dev); |
| 120 | struct mlx4_device_context *dev_ctx; | 117 | struct mlx4_device_context *dev_ctx; |
| @@ -124,8 +121,7 @@ void mlx4_dispatch_event(struct mlx4_dev *dev, enum mlx4_event type, | |||
| 124 | 121 | ||
| 125 | list_for_each_entry(dev_ctx, &priv->ctx_list, list) | 122 | list_for_each_entry(dev_ctx, &priv->ctx_list, list) |
| 126 | if (dev_ctx->intf->event) | 123 | if (dev_ctx->intf->event) |
| 127 | dev_ctx->intf->event(dev, dev_ctx->context, type, | 124 | dev_ctx->intf->event(dev, dev_ctx->context, type, port); |
| 128 | subtype, port); | ||
| 129 | 125 | ||
| 130 | spin_unlock_irqrestore(&priv->ctx_lock, flags); | 126 | spin_unlock_irqrestore(&priv->ctx_lock, flags); |
| 131 | } | 127 | } |
diff --git a/drivers/net/mlx4/mlx4.h b/drivers/net/mlx4/mlx4.h index 53a1cdddfc13..73336810e652 100644 --- a/drivers/net/mlx4/mlx4.h +++ b/drivers/net/mlx4/mlx4.h | |||
| @@ -42,6 +42,7 @@ | |||
| 42 | #include <linux/timer.h> | 42 | #include <linux/timer.h> |
| 43 | 43 | ||
| 44 | #include <linux/mlx4/device.h> | 44 | #include <linux/mlx4/device.h> |
| 45 | #include <linux/mlx4/driver.h> | ||
| 45 | #include <linux/mlx4/doorbell.h> | 46 | #include <linux/mlx4/doorbell.h> |
| 46 | 47 | ||
| 47 | #define DRV_NAME "mlx4_core" | 48 | #define DRV_NAME "mlx4_core" |
| @@ -313,8 +314,7 @@ void mlx4_catas_cleanup(void); | |||
| 313 | int mlx4_restart_one(struct pci_dev *pdev); | 314 | int mlx4_restart_one(struct pci_dev *pdev); |
| 314 | int mlx4_register_device(struct mlx4_dev *dev); | 315 | int mlx4_register_device(struct mlx4_dev *dev); |
| 315 | void mlx4_unregister_device(struct mlx4_dev *dev); | 316 | void mlx4_unregister_device(struct mlx4_dev *dev); |
| 316 | void mlx4_dispatch_event(struct mlx4_dev *dev, enum mlx4_event type, | 317 | void mlx4_dispatch_event(struct mlx4_dev *dev, enum mlx4_dev_event type, int port); |
| 317 | int subtype, int port); | ||
| 318 | 318 | ||
| 319 | struct mlx4_dev_cap; | 319 | struct mlx4_dev_cap; |
| 320 | struct mlx4_init_hca_param; | 320 | struct mlx4_init_hca_param; |
diff --git a/include/linux/mlx4/driver.h b/include/linux/mlx4/driver.h index 1b835ca49df1..53c5fdb6eac4 100644 --- a/include/linux/mlx4/driver.h +++ b/include/linux/mlx4/driver.h | |||
| @@ -48,8 +48,7 @@ struct mlx4_interface { | |||
| 48 | void * (*add) (struct mlx4_dev *dev); | 48 | void * (*add) (struct mlx4_dev *dev); |
| 49 | void (*remove)(struct mlx4_dev *dev, void *context); | 49 | void (*remove)(struct mlx4_dev *dev, void *context); |
| 50 | void (*event) (struct mlx4_dev *dev, void *context, | 50 | void (*event) (struct mlx4_dev *dev, void *context, |
| 51 | enum mlx4_dev_event event, int subtype, | 51 | enum mlx4_dev_event event, int port); |
| 52 | int port); | ||
| 53 | struct list_head list; | 52 | struct list_head list; |
| 54 | }; | 53 | }; |
| 55 | 54 | ||
