mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	This is mostly update of the usual drivers: arcmsr, qla2xxx, lpfc, hisi_sas, target/iscsi and target/core. Additionally Christoph refactored gdth as part of the dma changes. The major mid-layer change this time is the removal of bidi commands and with them the whole of the osd/exofs driver and filesystem. Signed-off-by: James E.J. Bottomley <jejb@linux.ibm.com> -----BEGIN PGP SIGNATURE----- iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCXIC54SYcamFtZXMuYm90 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pishT1GAPwJEV23 ExPiPsnuVgKj49nLTagZ3rILRQcYNbL+MNYqxQEA0cT8FHzSDBfWY5OKPNE+RQ8z f69LpXGmMpuagKGvvd4= =Fhy1 -----END PGP SIGNATURE----- Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI updates from James Bottomley: "This is mostly update of the usual drivers: arcmsr, qla2xxx, lpfc, hisi_sas, target/iscsi and target/core. Additionally Christoph refactored gdth as part of the dma changes. The major mid-layer change this time is the removal of bidi commands and with them the whole of the osd/exofs driver and filesystem. This is a major simplification for block and mq in particular" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (240 commits) scsi: cxgb4i: validate tcp sequence number only if chip version <= T5 scsi: cxgb4i: get pf number from lldi->pf scsi: core: replace GFP_ATOMIC with GFP_KERNEL in scsi_scan.c scsi: mpt3sas: Add missing breaks in switch statements scsi: aacraid: Fix missing break in switch statement scsi: kill command serial number scsi: csiostor: drop serial_number usage scsi: mvumi: use request tag instead of serial_number scsi: dpt_i2o: remove serial number usage scsi: st: osst: Remove negative constant left-shifts scsi: ufs-bsg: Allow reading descriptors scsi: ufs: Allow reading descriptor via raw upiu scsi: ufs-bsg: Change the calling convention for write descriptor scsi: ufs: Remove unused device quirks Revert "scsi: ufs: disable vccq if it's not needed by UFS device" scsi: megaraid_sas: Remove a bunch of set but not used variables scsi: clean obsolete return values of eh_timed_out scsi: sd: Optimal I/O size should be a multiple of physical block size scsi: MAINTAINERS: SCSI initiator and target tweaks scsi: fcoe: make use of fip_mode enum complete ...
		
			
				
	
	
		
			76 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*******************************************************************
 | 
						|
 * This file is part of the Emulex Linux Device Driver for         *
 | 
						|
 * Fibre Channel Host Bus Adapters.                                *
 | 
						|
 * Copyright (C) 2017-2019 Broadcom. All Rights Reserved. The term *
 | 
						|
 * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.  *
 | 
						|
 * Copyright (C) 2004-2016 Emulex.  All rights reserved.           *
 | 
						|
 * EMULEX and SLI are trademarks of Emulex.                        *
 | 
						|
 * www.broadcom.com                                                *
 | 
						|
 * Portions Copyright (C) 2004-2005 Christoph Hellwig              *
 | 
						|
 *                                                                 *
 | 
						|
 * This program is free software; you can redistribute it and/or   *
 | 
						|
 * modify it under the terms of version 2 of the GNU General       *
 | 
						|
 * Public License as published by the Free Software Foundation.    *
 | 
						|
 * This program is distributed in the hope that it will be useful. *
 | 
						|
 * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND          *
 | 
						|
 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,  *
 | 
						|
 * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE      *
 | 
						|
 * DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD *
 | 
						|
 * TO BE LEGALLY INVALID.  See the GNU General Public License for  *
 | 
						|
 * more details, a copy of which can be found in the file COPYING  *
 | 
						|
 * included with this package.                                     *
 | 
						|
 ********************************************************************/
 | 
						|
 | 
						|
#define LPFC_NVME_DEFAULT_SEGS		(64 + 1)	/* 256K IOs */
 | 
						|
 | 
						|
#define LPFC_NVME_ERSP_LEN		0x20
 | 
						|
 | 
						|
#define LPFC_NVME_WAIT_TMO              10
 | 
						|
#define LPFC_NVME_EXPEDITE_XRICNT	8
 | 
						|
#define LPFC_NVME_FB_SHIFT		9
 | 
						|
#define LPFC_NVME_MAX_FB		(1 << 20)	/* 1M */
 | 
						|
 | 
						|
#define LPFC_MAX_NVME_INFO_TMP_LEN	100
 | 
						|
#define LPFC_NVME_INFO_MORE_STR		"\nCould be more info...\n"
 | 
						|
 | 
						|
#define lpfc_ndlp_get_nrport(ndlp)					\
 | 
						|
	((!ndlp->nrport || (ndlp->upcall_flags & NLP_WAIT_FOR_UNREG))	\
 | 
						|
	? NULL : ndlp->nrport)
 | 
						|
 | 
						|
struct lpfc_nvme_qhandle {
 | 
						|
	uint32_t index;		/* WQ index to use */
 | 
						|
	uint32_t qidx;		/* queue index passed to create */
 | 
						|
	uint32_t cpu_id;	/* current cpu id at time of create */
 | 
						|
};
 | 
						|
 | 
						|
/* Declare nvme-based local and remote port definitions. */
 | 
						|
struct lpfc_nvme_lport {
 | 
						|
	struct lpfc_vport *vport;
 | 
						|
	struct completion *lport_unreg_cmp;
 | 
						|
	/* Add stats counters here */
 | 
						|
	atomic_t fc4NvmeLsRequests;
 | 
						|
	atomic_t fc4NvmeLsCmpls;
 | 
						|
	atomic_t xmt_fcp_noxri;
 | 
						|
	atomic_t xmt_fcp_bad_ndlp;
 | 
						|
	atomic_t xmt_fcp_qdepth;
 | 
						|
	atomic_t xmt_fcp_wqerr;
 | 
						|
	atomic_t xmt_fcp_err;
 | 
						|
	atomic_t xmt_fcp_abort;
 | 
						|
	atomic_t xmt_ls_abort;
 | 
						|
	atomic_t xmt_ls_err;
 | 
						|
	atomic_t cmpl_fcp_xb;
 | 
						|
	atomic_t cmpl_fcp_err;
 | 
						|
	atomic_t cmpl_ls_xb;
 | 
						|
	atomic_t cmpl_ls_err;
 | 
						|
};
 | 
						|
 | 
						|
struct lpfc_nvme_rport {
 | 
						|
	struct lpfc_nvme_lport *lport;
 | 
						|
	struct nvme_fc_remote_port *remoteport;
 | 
						|
	struct lpfc_nodelist *ndlp;
 | 
						|
	struct completion rport_unreg_done;
 | 
						|
};
 | 
						|
 | 
						|
struct lpfc_nvme_fcpreq_priv {
 | 
						|
	struct lpfc_io_buf *nvme_buf;
 | 
						|
};
 |