| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ |
|---|
| 1 | 2 | /* QLogic qedr NIC Driver |
|---|
| 2 | 3 | * Copyright (c) 2015-2017 QLogic Corporation |
|---|
| 3 | | - * |
|---|
| 4 | | - * This software is available to you under a choice of one of two |
|---|
| 5 | | - * licenses. You may choose to be licensed under the terms of the GNU |
|---|
| 6 | | - * General Public License (GPL) Version 2, available from the file |
|---|
| 7 | | - * COPYING in the main directory of this source tree, or the |
|---|
| 8 | | - * OpenIB.org BSD license below: |
|---|
| 9 | | - * |
|---|
| 10 | | - * Redistribution and use in source and binary forms, with or |
|---|
| 11 | | - * without modification, are permitted provided that the following |
|---|
| 12 | | - * conditions are met: |
|---|
| 13 | | - * |
|---|
| 14 | | - * - Redistributions of source code must retain the above |
|---|
| 15 | | - * copyright notice, this list of conditions and the following |
|---|
| 16 | | - * disclaimer. |
|---|
| 17 | | - * |
|---|
| 18 | | - * - Redistributions in binary form must reproduce the above |
|---|
| 19 | | - * copyright notice, this list of conditions and the following |
|---|
| 20 | | - * disclaimer in the documentation and /or other materials |
|---|
| 21 | | - * provided with the distribution. |
|---|
| 22 | | - * |
|---|
| 23 | | - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
|---|
| 24 | | - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
|---|
| 25 | | - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|---|
| 26 | | - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS |
|---|
| 27 | | - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
|---|
| 28 | | - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
|---|
| 29 | | - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|---|
| 30 | | - * SOFTWARE. |
|---|
| 4 | + * Copyright (c) 2019-2020 Marvell International Ltd. |
|---|
| 31 | 5 | */ |
|---|
| 6 | + |
|---|
| 32 | 7 | #ifndef QEDE_ROCE_H |
|---|
| 33 | 8 | #define QEDE_ROCE_H |
|---|
| 34 | 9 | |
|---|
| .. | .. |
|---|
| 45 | 20 | QEDE_UP, |
|---|
| 46 | 21 | QEDE_DOWN, |
|---|
| 47 | 22 | QEDE_CHANGE_ADDR, |
|---|
| 48 | | - QEDE_CLOSE |
|---|
| 23 | + QEDE_CLOSE, |
|---|
| 24 | + QEDE_CHANGE_MTU, |
|---|
| 49 | 25 | }; |
|---|
| 50 | 26 | |
|---|
| 51 | 27 | struct qede_rdma_event_work { |
|---|
| .. | .. |
|---|
| 74 | 50 | bool qede_rdma_supported(struct qede_dev *dev); |
|---|
| 75 | 51 | |
|---|
| 76 | 52 | #if IS_ENABLED(CONFIG_QED_RDMA) |
|---|
| 77 | | -int qede_rdma_dev_add(struct qede_dev *dev); |
|---|
| 53 | +int qede_rdma_dev_add(struct qede_dev *dev, bool recovery); |
|---|
| 78 | 54 | void qede_rdma_dev_event_open(struct qede_dev *dev); |
|---|
| 79 | 55 | void qede_rdma_dev_event_close(struct qede_dev *dev); |
|---|
| 80 | | -void qede_rdma_dev_remove(struct qede_dev *dev); |
|---|
| 56 | +void qede_rdma_dev_remove(struct qede_dev *dev, bool recovery); |
|---|
| 81 | 57 | void qede_rdma_event_changeaddr(struct qede_dev *edr); |
|---|
| 58 | +void qede_rdma_event_change_mtu(struct qede_dev *edev); |
|---|
| 82 | 59 | |
|---|
| 83 | 60 | #else |
|---|
| 84 | | -static inline int qede_rdma_dev_add(struct qede_dev *dev) |
|---|
| 61 | +static inline int qede_rdma_dev_add(struct qede_dev *dev, |
|---|
| 62 | + bool recovery) |
|---|
| 85 | 63 | { |
|---|
| 86 | 64 | return 0; |
|---|
| 87 | 65 | } |
|---|
| 88 | 66 | |
|---|
| 89 | 67 | static inline void qede_rdma_dev_event_open(struct qede_dev *dev) {} |
|---|
| 90 | 68 | static inline void qede_rdma_dev_event_close(struct qede_dev *dev) {} |
|---|
| 91 | | -static inline void qede_rdma_dev_remove(struct qede_dev *dev) {} |
|---|
| 69 | +static inline void qede_rdma_dev_remove(struct qede_dev *dev, |
|---|
| 70 | + bool recovery) {} |
|---|
| 92 | 71 | static inline void qede_rdma_event_changeaddr(struct qede_dev *edr) {} |
|---|
| 93 | 72 | #endif |
|---|
| 94 | 73 | #endif |
|---|