/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ /* QLogic qed NIC Driver * Copyright (c) 2015-2017 QLogic Corporation * Copyright (c) 2019-2020 Marvell International Ltd. */ #ifndef _QED_ISCSI_IF_H #define _QED_ISCSI_IF_H #include <linux/types.h> #include <linux/qed/qed_if.h> iscsi_event_cb_t; struct qed_iscsi_stats { … }; struct qed_dev_iscsi_info { … }; struct qed_iscsi_id_params { … }; struct qed_iscsi_params_offload { … }; struct qed_iscsi_params_update { … }; #define MAX_TID_BLOCKS_ISCSI … struct qed_iscsi_tid { … }; struct qed_iscsi_cb_ops { … }; /** * struct qed_iscsi_ops - qed iSCSI operations. * @common: common operations pointer * @ll2: light L2 operations pointer * @fill_dev_info: fills iSCSI specific information * @param cdev * @param info * @return 0 on success, otherwise error value. * @register_ops: register iscsi operations * @param cdev * @param ops - specified using qed_iscsi_cb_ops * @param cookie - driver private * @start: iscsi in FW * @param cdev * @param tasks - qed will fill information about tasks * return 0 on success, otherwise error value. * @stop: iscsi in FW * @param cdev * return 0 on success, otherwise error value. * @acquire_conn: acquire a new iscsi connection * @param cdev * @param handle - qed will fill handle that should be * used henceforth as identifier of the * connection. * @param p_doorbell - qed will fill the address of the * doorbell. * @return 0 on success, otherwise error value. * @release_conn: release a previously acquired iscsi connection * @param cdev * @param handle - the connection handle. * @return 0 on success, otherwise error value. * @offload_conn: configures an offloaded connection * @param cdev * @param handle - the connection handle. * @param conn_info - the configuration to use for the * offload. * @return 0 on success, otherwise error value. * @update_conn: updates an offloaded connection * @param cdev * @param handle - the connection handle. * @param conn_info - the configuration to use for the * offload. * @return 0 on success, otherwise error value. * @destroy_conn: stops an offloaded connection * @param cdev * @param handle - the connection handle. * @return 0 on success, otherwise error value. * @clear_sq: clear all task in sq * @param cdev * @param handle - the connection handle. * @return 0 on success, otherwise error value. * @get_stats: iSCSI related statistics * @param cdev * @param stats - pointer to struck that would be filled * we stats * @return 0 on success, error otherwise. * @change_mac: Change MAC of interface * @param cdev * @param handle - the connection handle. * @param mac - new MAC to configure. * @return 0 on success, otherwise error value. */ struct qed_iscsi_ops { … }; const struct qed_iscsi_ops *qed_get_iscsi_ops(void); void qed_put_iscsi_ops(void); #endif