forked from mirrors/linux
		
	scsi: ipr: Remove SATA support
Linux SATA support in ipr has always been limited to SATA DVDs. The last systems that had the option of including a SATA DVD was Power 8, which have been withdrawn for some time now, so this support can be removed. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Link: https://lore.kernel.org/r/20230412174015.114764-1-brking@linux.vnet.ibm.com Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Reviewed-by: John Garry <john.g.garry@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
		
							parent
							
								
									0c028b6a11
								
							
						
					
					
						commit
						65a15d6560
					
				
					 3 changed files with 11 additions and 830 deletions
				
			
		|  | @ -971,8 +971,7 @@ config SCSI_SYM53C8XX_MMIO | |||
| 
 | ||||
| config SCSI_IPR | ||||
| 	tristate "IBM Power Linux RAID adapter support" | ||||
| 	depends on PCI && SCSI && ATA | ||||
| 	select SATA_HOST | ||||
| 	depends on PCI && SCSI | ||||
| 	select FW_LOADER | ||||
| 	select IRQ_POLL | ||||
| 	select SGL_ALLOC | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -16,7 +16,6 @@ | |||
| #include <asm/unaligned.h> | ||||
| #include <linux/types.h> | ||||
| #include <linux/completion.h> | ||||
| #include <linux/libata.h> | ||||
| #include <linux/list.h> | ||||
| #include <linux/kref.h> | ||||
| #include <linux/irq_poll.h> | ||||
|  | @ -35,7 +34,6 @@ | |||
|  *	This can be adjusted at runtime through sysfs device attributes. | ||||
|  */ | ||||
| #define IPR_MAX_CMD_PER_LUN				6 | ||||
| #define IPR_MAX_CMD_PER_ATA_LUN			1 | ||||
| 
 | ||||
| /*
 | ||||
|  * IPR_NUM_BASE_CMD_BLKS: This defines the maximum number of | ||||
|  | @ -197,7 +195,6 @@ | |||
| #define	IPR_LUN_RESET					0x40 | ||||
| #define	IPR_TARGET_RESET					0x20 | ||||
| #define	IPR_BUS_RESET					0x10 | ||||
| #define	IPR_ATA_PHY_RESET					0x80 | ||||
| #define IPR_ID_HOST_RR_Q				0xC4 | ||||
| #define IPR_QUERY_IOA_CONFIG				0xC5 | ||||
| #define IPR_CANCEL_ALL_REQUESTS			0xCE | ||||
|  | @ -521,7 +518,6 @@ struct ipr_cmd_pkt { | |||
| #define IPR_RQTYPE_SCSICDB		0x00 | ||||
| #define IPR_RQTYPE_IOACMD		0x01 | ||||
| #define IPR_RQTYPE_HCAM			0x02 | ||||
| #define IPR_RQTYPE_ATA_PASSTHRU	0x04 | ||||
| #define IPR_RQTYPE_PIPE			0x05 | ||||
| 
 | ||||
| 	u8 reserved2; | ||||
|  | @ -546,30 +542,6 @@ struct ipr_cmd_pkt { | |||
| 	__be16 timeout; | ||||
| }__attribute__ ((packed, aligned(4))); | ||||
| 
 | ||||
| struct ipr_ioarcb_ata_regs {	/* 22 bytes */ | ||||
| 	u8 flags; | ||||
| #define IPR_ATA_FLAG_PACKET_CMD			0x80 | ||||
| #define IPR_ATA_FLAG_XFER_TYPE_DMA			0x40 | ||||
| #define IPR_ATA_FLAG_STATUS_ON_GOOD_COMPLETION	0x20 | ||||
| 	u8 reserved[3]; | ||||
| 
 | ||||
| 	__be16 data; | ||||
| 	u8 feature; | ||||
| 	u8 nsect; | ||||
| 	u8 lbal; | ||||
| 	u8 lbam; | ||||
| 	u8 lbah; | ||||
| 	u8 device; | ||||
| 	u8 command; | ||||
| 	u8 reserved2[3]; | ||||
| 	u8 hob_feature; | ||||
| 	u8 hob_nsect; | ||||
| 	u8 hob_lbal; | ||||
| 	u8 hob_lbam; | ||||
| 	u8 hob_lbah; | ||||
| 	u8 ctl; | ||||
| }__attribute__ ((packed, aligned(2))); | ||||
| 
 | ||||
| struct ipr_ioadl_desc { | ||||
| 	__be32 flags_and_data_len; | ||||
| #define IPR_IOADL_FLAGS_MASK		0xff000000 | ||||
|  | @ -591,15 +563,8 @@ struct ipr_ioadl64_desc { | |||
| 	__be64 address; | ||||
| }__attribute__((packed, aligned (16))); | ||||
| 
 | ||||
| struct ipr_ata64_ioadl { | ||||
| 	struct ipr_ioarcb_ata_regs regs; | ||||
| 	u16 reserved[5]; | ||||
| 	struct ipr_ioadl64_desc ioadl64[IPR_NUM_IOADL_ENTRIES]; | ||||
| }__attribute__((packed, aligned (16))); | ||||
| 
 | ||||
| struct ipr_ioarcb_add_data { | ||||
| 	union { | ||||
| 		struct ipr_ioarcb_ata_regs regs; | ||||
| 		struct ipr_ioadl_desc ioadl[5]; | ||||
| 		__be32 add_cmd_parms[10]; | ||||
| 	} u; | ||||
|  | @ -665,21 +630,6 @@ struct ipr_ioasa_gpdd { | |||
| 	__be32 ioa_data[2]; | ||||
| }__attribute__((packed, aligned (4))); | ||||
| 
 | ||||
| struct ipr_ioasa_gata { | ||||
| 	u8 error; | ||||
| 	u8 nsect;		/* Interrupt reason */ | ||||
| 	u8 lbal; | ||||
| 	u8 lbam; | ||||
| 	u8 lbah; | ||||
| 	u8 device; | ||||
| 	u8 status; | ||||
| 	u8 alt_status;	/* ATA CTL */ | ||||
| 	u8 hob_nsect; | ||||
| 	u8 hob_lbal; | ||||
| 	u8 hob_lbam; | ||||
| 	u8 hob_lbah; | ||||
| }__attribute__((packed, aligned (4))); | ||||
| 
 | ||||
| struct ipr_auto_sense { | ||||
| 	__be16 auto_sense_len; | ||||
| 	__be16 ioa_data_len; | ||||
|  | @ -713,7 +663,6 @@ struct ipr_ioasa_hdr { | |||
| 	__be32 ioasc_specific;	/* status code specific field */ | ||||
| #define IPR_ADDITIONAL_STATUS_FMT		0x80000000 | ||||
| #define IPR_AUTOSENSE_VALID			0x40000000 | ||||
| #define IPR_ATA_DEVICE_WAS_RESET		0x20000000 | ||||
| #define IPR_IOASC_SPECIFIC_MASK		0x00ffffff | ||||
| #define IPR_FIELD_POINTER_VALID		(0x80000000 >> 8) | ||||
| #define IPR_FIELD_POINTER_MASK		0x0000ffff | ||||
|  | @ -727,7 +676,6 @@ struct ipr_ioasa { | |||
| 		struct ipr_ioasa_vset vset; | ||||
| 		struct ipr_ioasa_af_dasd dasd; | ||||
| 		struct ipr_ioasa_gpdd gpdd; | ||||
| 		struct ipr_ioasa_gata gata; | ||||
| 	} u; | ||||
| 
 | ||||
| 	struct ipr_auto_sense auto_sense; | ||||
|  | @ -741,7 +689,6 @@ struct ipr_ioasa64 { | |||
| 		struct ipr_ioasa_vset vset; | ||||
| 		struct ipr_ioasa_af_dasd dasd; | ||||
| 		struct ipr_ioasa_gpdd gpdd; | ||||
| 		struct ipr_ioasa_gata gata; | ||||
| 	} u; | ||||
| 
 | ||||
| 	struct ipr_auto_sense auto_sense; | ||||
|  | @ -1279,13 +1226,6 @@ struct ipr_bus_attributes { | |||
| 	u32 max_xfer_rate; | ||||
| }; | ||||
| 
 | ||||
| struct ipr_sata_port { | ||||
| 	struct ipr_ioa_cfg *ioa_cfg; | ||||
| 	struct ata_port *ap; | ||||
| 	struct ipr_resource_entry *res; | ||||
| 	struct ipr_ioasa_gata ioasa; | ||||
| }; | ||||
| 
 | ||||
| struct ipr_resource_entry { | ||||
| 	u8 needs_sync_complete:1; | ||||
| 	u8 in_erp:1; | ||||
|  | @ -1323,7 +1263,6 @@ struct ipr_resource_entry { | |||
| 
 | ||||
| 	struct ipr_ioa_cfg *ioa_cfg; | ||||
| 	struct scsi_device *sdev; | ||||
| 	struct ipr_sata_port *sata_port; | ||||
| 	struct list_head queue; | ||||
| }; /* struct ipr_resource_entry */ | ||||
| 
 | ||||
|  | @ -1582,7 +1521,6 @@ struct ipr_ioa_cfg { | |||
| 	struct ipr_cmnd *reset_cmd; | ||||
| 	int (*reset) (struct ipr_cmnd *); | ||||
| 
 | ||||
| 	struct ata_host ata_host; | ||||
| 	char ipr_cmd_label[8]; | ||||
| #define IPR_CMD_LABEL		"ipr_cmd" | ||||
| 	u32 max_cmds; | ||||
|  | @ -1604,7 +1542,6 @@ struct ipr_cmnd { | |||
| 	union { | ||||
| 		struct ipr_ioadl_desc ioadl[IPR_NUM_IOADL_ENTRIES]; | ||||
| 		struct ipr_ioadl64_desc ioadl64[IPR_NUM_IOADL_ENTRIES]; | ||||
| 		struct ipr_ata64_ioadl ata_ioadl; | ||||
| 	} i; | ||||
| 	union { | ||||
| 		struct ipr_ioasa ioasa; | ||||
|  | @ -1612,7 +1549,6 @@ struct ipr_cmnd { | |||
| 	} s; | ||||
| 	struct list_head queue; | ||||
| 	struct scsi_cmnd *scsi_cmd; | ||||
| 	struct ata_queued_cmd *qc; | ||||
| 	struct completion completion; | ||||
| 	struct timer_list timer; | ||||
| 	struct work_struct work; | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Brian King
						Brian King