Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  * Copyright 2017 Broadcom. All Rights Reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  * The term "Broadcom" refers to Broadcom Limited and/or its subsidiaries.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  * Contact Information:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  * linux-drivers@broadcom.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #ifndef _BE_ISCSI_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define _BE_ISCSI_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #include "be_main.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #include "be_mgmt.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) void beiscsi_iface_create_default(struct beiscsi_hba *phba);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) void beiscsi_iface_destroy_default(struct beiscsi_hba *phba);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) int beiscsi_iface_get_param(struct iscsi_iface *iface,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 			     enum iscsi_param_type param_type,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 			     int param, char *buf);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) int beiscsi_iface_set_param(struct Scsi_Host *shost,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 			     void *data, uint32_t count);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) umode_t beiscsi_attr_is_visible(int param_type, int param);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) void beiscsi_offload_connection(struct beiscsi_conn *beiscsi_conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 				struct beiscsi_offload_params *params);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) void beiscsi_offload_iscsi(struct beiscsi_hba *phba, struct iscsi_conn *conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 			   struct beiscsi_conn *beiscsi_conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 			   unsigned int fw_handle);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) struct iscsi_cls_session *beiscsi_session_create(struct iscsi_endpoint *ep,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 						 uint16_t cmds_max,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 						 uint16_t qdepth,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 						 uint32_t initial_cmdsn);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) void beiscsi_session_destroy(struct iscsi_cls_session *cls_session);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) void beiscsi_session_fail(struct iscsi_cls_session *cls_session);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) struct iscsi_cls_conn *beiscsi_conn_create(struct iscsi_cls_session
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 					   *cls_session, uint32_t cid);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) int beiscsi_conn_bind(struct iscsi_cls_session *cls_session,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 		      struct iscsi_cls_conn *cls_conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 		      uint64_t transport_fd, int is_leading);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) int beiscsi_ep_get_param(struct iscsi_endpoint *ep, enum iscsi_param param,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 			 char *buf);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) int beiscsi_get_host_param(struct Scsi_Host *shost,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 			   enum iscsi_host_param param, char *buf);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) int beiscsi_get_macaddr(char *buf, struct beiscsi_hba *phba);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) int beiscsi_set_param(struct iscsi_cls_conn *cls_conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) 		      enum iscsi_param param, char *buf, int buflen);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) int beiscsi_conn_start(struct iscsi_cls_conn *cls_conn);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) struct iscsi_endpoint *beiscsi_ep_connect(struct Scsi_Host *shost,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 					  struct sockaddr *dst_addr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 					  int non_blocking);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) int beiscsi_ep_poll(struct iscsi_endpoint *ep, int timeout_ms);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) void beiscsi_ep_disconnect(struct iscsi_endpoint *ep);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) void beiscsi_conn_get_stats(struct iscsi_cls_conn *cls_conn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 			    struct iscsi_stats *stats);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) #endif