OpenCloudOS-Kernel/drivers/scsi
Matthew R. Ochs 3223c01aa1 scsi: cxlflash: Support WS16 unmap
The cxlflash driver supports performing a write-same16 to scrub virtual
luns when they are released by a user. To date, AFUs for adapters that
are supported by cxlflash do not have the capability to unmap as part of
the WS operation. This can lead to fragmented flash devices which results
in performance degradation.

Future AFUs can optionally support unmap write-same commands and reflects
this support via the context control register. This provides userspace
applications with direct visibility such that they need not depend on a
host API.

Detect unmap support during cxlflash initialization by reading the context
control register associated with the primary hardware queue. Update the
existing write_same16() routine to set the unmap bit in the CDB when unmap
is supported by the host.

Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Signed-off-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-06-26 15:01:13 -04:00
..
aacraid scsi: aacraid: Don't copy uninitialized stack memory to userspace 2017-06-26 15:01:03 -04:00
aic7xxx scsi: aic7xxx: fix order of arguments in function prototype 2017-04-19 22:17:23 -04:00
aic94xx scsi: sas: move scsi_remove_host call into sas_remove_host 2017-04-21 10:34:29 -04:00
arcmsr Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
arm scsi: ncr5380: Use correct types for DMA routines 2016-11-08 17:29:48 -05:00
be2iscsi scsi: be2iscsi: switch to pci_alloc_irq_vectors 2017-03-30 11:37:16 -04:00
bfa scsi: bfa: use designated initializers 2017-04-21 10:11:34 -04:00
bnx2fc scsi: bnx2fc: fix race condition in bnx2fc_get_host_stats() 2017-05-24 15:14:42 -04:00
bnx2i scsi: bnx2i: missing error code in bnx2i_ep_connect() 2017-06-26 15:01:03 -04:00
csiostor scsi: csiostor: update module version 2017-06-26 15:00:58 -04:00
cxgbi scsi: cxgb4i: assign rxqs in round robin mode 2017-06-26 15:01:02 -04:00
cxlflash scsi: cxlflash: Support WS16 unmap 2017-06-26 15:01:13 -04:00
device_handler scsi: scsi_dh_alua: remove synchronous STPG support 2017-06-26 12:44:35 -04:00
dpt
esas2r scsi: esas2r: Replace semaphore fs_api_semaphore with mutex 2017-06-12 21:17:22 -04:00
fcoe scsi: fcoe: Remove an extra out label in _fcoe_create function 2017-06-12 20:48:05 -04:00
fnic scsi: fnic: bug fix for fip.fip_subcode in fnic_fcoe_send_vlan_req 2017-03-23 09:57:23 -04:00
hisi_sas scsi: hisi_sas: redefine hisi_sas_phy.phy_type as u32 2017-06-26 15:01:04 -04:00
ibmvscsi scsi: ibmvfc: don't check for failure from mempool_alloc() 2017-04-18 21:50:29 -04:00
ibmvscsi_tgt ibmvscsis: Fix the incorrect req_lim_delta 2017-05-15 20:20:03 -07:00
isci scripts/spelling.txt: add regsiter -> register spelling mistake 2017-05-08 17:15:13 -07:00
libfc scsi: libfc: fix incorrect variable assignment 2017-05-16 21:08:42 -04:00
libsas SCSI misc on 20170503 2017-05-04 12:19:44 -07:00
lpfc scsi: lpfc: fix refcount error on node list 2017-06-26 15:01:01 -04:00
megaraid scsi: megaraid: Fix a sleep-in-atomic bug 2017-06-12 20:48:08 -04:00
mpt3sas scsi: Create two versions of scsi_internal_device_unblock() 2017-06-12 20:55:59 -04:00
mvsas scsi: sas: move scsi_remove_host call into sas_remove_host 2017-04-21 10:34:29 -04:00
osd char/misc patches for 4.12-rc1 2017-05-04 19:15:35 -07:00
pcmcia scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
pm8001 scsi: sas: move scsi_remove_host call into sas_remove_host 2017-04-21 10:34:29 -04:00
qedf scsi: qedf: Merge a few quoted strings split across lines 2017-06-12 21:21:45 -04:00
qedi scsi: qedi: Remove comparison of u16 idx with zero. 2017-06-26 15:01:05 -04:00
qla2xxx scsi: qla2xxx: don't include <generated/utsrelease.h> 2017-06-26 15:00:59 -04:00
qla4xxx scsi: qla4xxx: fix spelling mistake: "Tempalate" -> "Template" 2017-04-26 18:34:34 -04:00
smartpqi scsi: smartpqi: mark PM functions as __maybe_unused 2017-06-12 20:48:05 -04:00
snic scsi: snic: Remove code that zeroes driver-private command data 2017-06-12 21:02:03 -04:00
sym53c8xx_2 scsi: sym53c8xx_2: Use complete() instead complete_all() 2016-09-14 13:19:29 -04:00
ufs scsi: ufshcd-pci: Add Intel CNL support 2017-06-12 21:08:26 -04:00
.gitignore
3w-9xxx.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
3w-9xxx.h scsi: Update 3ware driver email addresses 2016-12-14 15:25:12 -05:00
3w-sas.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
3w-sas.h scsi: Update 3ware driver email addresses 2016-12-14 15:25:12 -05:00
3w-xxxx.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
3w-xxxx.h scsi: Update 3ware driver email addresses 2016-12-14 15:25:12 -05:00
53c700.c scsi: 53c700: switch to dma_alloc_attrs 2017-06-26 15:01:05 -04:00
53c700.h scsi: remove current_cmnd field from struct scsi_device 2016-07-13 22:33:23 -04:00
53c700.scr
53c700_d.h_shipped
BusLogic.c scsi: BusLogic: fix incorrect spelling of adatper_reset_req 2017-04-21 10:31:33 -04:00
BusLogic.h scsi: BusLogic: fix incorrect spelling of adatper_reset_req 2017-04-21 10:31:33 -04:00
FlashPoint.c FlashPoint: fix build warning 2015-11-09 16:32:14 -08:00
Kconfig scsi: lpfc: Finalize Kconfig options for nvme 2017-03-15 13:37:18 -04:00
Makefile scsi: Implement blk_mq_ops.show_rq() 2017-04-26 15:09:04 -06:00
NCR53c406a.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
NCR5380.c scsi: ncr5380: Improve target selection robustness 2017-01-31 21:38:58 -05:00
NCR5380.h scsi: ncr5380: Clean up dead code and redundant macro usage 2017-01-31 21:37:44 -05:00
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
a100u2w.c scsi: a100u2w: trivial typo in printk 2015-08-07 15:03:42 +02:00
a100u2w.h
a2091.c zorro: ZTWO_VADDR() should return "void __iomem *" 2013-11-26 11:09:07 +01:00
a2091.h
a3000.c scsi: drop owner assignment from platform_drivers 2014-10-20 16:21:33 +02:00
a3000.h
a4000t.c scsi: drop owner assignment from platform_drivers 2014-10-20 16:21:33 +02:00
advansys.c scsi: advansys: fix uninitialized data access 2017-04-04 19:39:39 -04:00
aha152x.c Annotate hardware config module parameters in drivers/scsi/ 2017-04-20 12:02:32 +01:00
aha152x.h
aha1542.c Annotate hardware config module parameters in drivers/scsi/ 2017-04-20 12:02:32 +01:00
aha1542.h aha1542: fix include guard and remove useless changelog 2015-04-09 18:08:31 -07:00
aha1740.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
aha1740.h scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
am53c974.c am53c974: Fix crash during modprobe 2015-04-17 10:13:56 -07:00
atari_scsi.c scsi: atari_scsi: Use m68k_realnum_memory for FastRAM test 2017-06-12 20:48:08 -04:00
atp870u.c atp870u: Introduce atp870_init() 2015-11-25 22:08:55 -05:00
atp870u.h atp870u: Remove scam_on from struct atp_unit 2015-11-25 22:08:52 -05:00
bvme6000_scsi.c scsi: drop owner assignment from platform_drivers 2014-10-20 16:21:33 +02:00
ch.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-04-14 09:50:27 -07:00
constants.c scsi: fix upper bounds check of sense key in scsi_sense_key_string() 2016-08-16 00:49:32 -04:00
dc395x.c scsi: print single-character strings with seq_putc 2015-02-02 09:57:46 -08:00
dc395x.h
dmx3191d.c scsi: dmx3191d: use module_pci_driver 2016-11-16 20:43:50 -05:00
dpt_i2o.c scsi: dpt_i2o: double free if adpt_i2o_online_hba() fails 2017-01-05 00:21:12 -05:00
dpti.h scsi: use 64-bit LUNs 2014-07-17 22:07:37 +02:00
eata.c scsi: drop reason argument from ->change_queue_depth 2014-11-24 14:45:27 +01:00
eata_generic.h
eata_pio.c eata_pio: missing break statement 2016-05-10 22:01:07 -04:00
eata_pio.h
esp_scsi.c scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
esp_scsi.h esp_scsi: correctly detect am53c974 2014-11-24 16:13:16 +01:00
fdomain.c scsi: fdomain: drop fdomain_pci_tbl when built-in 2016-02-23 21:27:02 -05:00
fdomain.h
g_NCR5380.c Annotate hardware config module parameters in drivers/scsi/ 2017-04-20 12:02:32 +01:00
gdth.c Annotate hardware config module parameters in drivers/scsi/ 2017-04-20 12:02:32 +01:00
gdth.h
gdth_ioctl.h
gdth_proc.c gdth: replace struct timeval with ktime_get_real_seconds() 2016-02-25 21:16:49 -05:00
gdth_proc.h
gvp11.c zorro: ZTWO_VADDR() should return "void __iomem *" 2013-11-26 11:09:07 +01:00
gvp11.h
hosts.c scsi: allocate scsi_cmnd structures as part of struct request 2017-01-27 15:08:35 -07:00
hpsa.c scsi: hpsa: fix spelling mistake: "encrypytion" -> "encryption" 2017-06-26 15:01:04 -04:00
hpsa.h scsi: hpsa: remove abort handler 2017-06-12 20:48:01 -04:00
hpsa_cmd.h scsi: hpsa: update identify physical device structure 2017-06-12 20:48:00 -04:00
hptiop.c scsi: hptiop: make function hptiop_iop_request_callback_itl static 2017-06-26 15:01:02 -04:00
hptiop.h hptiop: Support HighPoint RR36xx HBAs and Support SAS tape and SAS media changer 2015-08-12 13:14:57 -07:00
imm.c imm: check parport_claim 2016-02-25 21:10:53 -05:00
imm.h
initio.c SCSI: initio: remove duplicate module device table 2015-11-20 11:39:03 -05:00
initio.h
ipr.c SCSI misc on 20170503 2017-05-04 12:19:44 -07:00
ipr.h scsi: ipr: Driver version 2.6.4 2017-03-23 12:04:05 -04:00
ips.c scsi: ips: don't use custom hex_asc_upper[] table 2016-11-08 17:29:57 -05:00
ips.h Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
iscsi_boot_sysfs.c ibft: Expose iBFT acpi header via sysfs 2016-05-16 11:14:29 -04:00
iscsi_tcp.c treewide: convert PF_MEMALLOC manipulations to new helpers 2017-05-08 17:15:15 -07:00
iscsi_tcp.h iscsi_tcp: Use ahash 2016-01-27 20:36:10 +08:00
jazz_esp.c scsi: drop owner assignment from platform_drivers 2014-10-20 16:21:33 +02:00
lasi700.c
libiscsi.c scsi: libiscsi: use kvzalloc for iscsi_pool_init 2017-06-12 20:48:04 -04:00
libiscsi_tcp.c iscsi_tcp: Use ahash 2016-01-27 20:36:10 +08:00
mac53c94.c PCI: Remove includes of asm/pci-bridge.h 2016-02-05 16:29:28 -06:00
mac53c94.h
mac_esp.c SCSI misc on 20170503 2017-05-04 12:19:44 -07:00
mac_scsi.c scsi: ncr5380: Resolve various static checker warnings 2017-01-31 21:38:35 -05:00
megaraid.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
megaraid.h [SCSI] megaraid: simplify internal command handling 2014-03-27 08:26:31 -07:00
mesh.c PCI: Remove includes of asm/pci-bridge.h 2016-02-05 16:29:28 -06:00
mesh.h
mvme16x_scsi.c scsi: drop owner assignment from platform_drivers 2014-10-20 16:21:33 +02:00
mvme147.c
mvme147.h
mvumi.c scsi: mvumi: remove code handling zero scsi_sg_count(scmd) case 2017-04-24 18:16:49 -04:00
mvumi.h
ncr53c8xx.c scsi: drop reason argument from ->change_queue_depth 2014-11-24 14:45:27 +01:00
ncr53c8xx.h scsi: Remove CONFIG_SCSI_MULTI_LUN 2014-07-17 22:07:35 +02:00
nsp32.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
nsp32.h
nsp32_debug.c
nsp32_io.h
osst.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
osst.h
osst_detect.h
osst_options.h
pmcraid.c scsi: pmcraid: remove redundant check to see if request_size is less than zero 2017-05-08 22:16:45 -04:00
pmcraid.h scsi: pmcraid: fix endianess sparse annotations 2017-04-24 18:11:22 -04:00
ppa.c scsi: ppa: use new parport device model 2016-02-23 21:27:02 -05:00
ppa.h
ps3rom.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
qla1280.c qla1280: Don't allocate 512kb of host tags 2016-04-30 09:25:26 -07:00
qla1280.h
qlogicfas.c Annotate hardware config module parameters in drivers/scsi/ 2017-04-20 12:02:32 +01:00
qlogicfas408.c
qlogicfas408.h
qlogicpti.c qlogicpti: Return correct error code 2016-03-01 20:06:49 -05:00
qlogicpti.h qlogicpti: Fix compiler warnings 2016-11-28 15:51:31 -05:00
raid_class.c
script_asm.pl
scsi.c scsi: Only add commands to the device command list if required by the LLD 2017-06-12 20:55:59 -04:00
scsi.h
scsi_common.c scsi: always zero sshdr in scsi_normalize_sense 2017-02-22 19:33:00 -05:00
scsi_debug.c scsi: scsi_debug: Avoid PI being disabled when TPGS is enabled 2017-05-31 22:58:25 -04:00
scsi_debugfs.c scsi: Implement blk_mq_ops.show_rq() 2017-04-26 15:09:04 -06:00
scsi_debugfs.h scsi: Implement blk_mq_ops.show_rq() 2017-04-26 15:09:04 -06:00
scsi_devinfo.c scsi: scsi_devinfo: remove synchronous ALUA for NETAPP devices 2016-12-07 18:13:52 -05:00
scsi_dh.c scsi: use 'scsi_device_from_queue()' for scsi_dh 2017-02-22 18:41:42 -05:00
scsi_error.c scsi: Protect SCSI device state changes with a mutex 2017-06-12 20:55:59 -04:00
scsi_ioctl.c scsi: make the sense header argument to scsi_test_unit_ready mandatory 2017-02-22 19:35:24 -05:00
scsi_lib.c scsi: Make scsi_mq_prep_fn() call scsi_init_command() 2017-06-12 21:01:37 -04:00
scsi_lib_dma.c
scsi_logging.c scsi_logging: return void for dev_printk() functions 2015-02-04 08:00:24 -08:00
scsi_logging.h scsi: simplify scsi_log_(send|completion) 2014-11-12 11:16:05 +01:00
scsi_module.c
scsi_netlink.c netlink: extended ACK reporting 2017-04-13 13:58:20 -04:00
scsi_pm.c scsi: Set request queue runtime PM status back to active on resume 2016-02-19 10:52:45 -05:00
scsi_priv.h scsi: Only add commands to the device command list if required by the LLD 2017-06-12 20:55:59 -04:00
scsi_proc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
scsi_sas_internal.h scsi_transport_sas: add 'scsi_target_id' sysfs attribute 2016-03-14 21:05:04 -04:00
scsi_scan.c scsi: remove various unused blist flags 2017-06-26 12:44:27 -04:00
scsi_sysctl.c scsi: convert use of typedef ctl_table to struct ctl_table 2014-06-06 16:08:16 -07:00
scsi_sysfs.c scsi: Make __scsi_remove_device go straight from BLOCKED to DEL 2017-06-12 20:55:59 -04:00
scsi_trace.c scsi-trace: define ZBC_IN and ZBC_OUT 2016-04-11 16:57:09 -04:00
scsi_transport_api.h
scsi_transport_fc.c scsi: fix typos and grammar in comments of scsi_transport_fc.c 2017-06-26 15:01:01 -04:00
scsi_transport_iscsi.c scsi: scsi_transport_iscsi: Use flush_work in iscsi_remove_session 2017-03-27 22:03:33 -04:00
scsi_transport_sas.c SCSI misc on 20170503 2017-05-04 12:19:44 -07:00
scsi_transport_spi.c scsi: merge __scsi_execute into scsi_execute 2017-02-23 16:57:19 -05:00
scsi_transport_srp.c scsi: Protect SCSI device state changes with a mutex 2017-06-12 20:55:59 -04:00
scsi_typedefs.h
scsicam.c scsi: PC partition tables are little endian 2014-11-12 11:15:54 +01:00
sd.c scsi: sd: Use sysfs_match_string() 2017-06-26 15:00:58 -04:00
sd.h SCSI misc on 20170503 2017-05-04 12:19:44 -07:00
sd_dif.c scsi: sd: Move DIF protection types to t10-pi.h 2016-09-15 09:51:14 -04:00
sd_zbc.c SCSI misc on 20170503 2017-05-04 12:19:44 -07:00
sense_codes.h scsi: move Additional Sense Codes to separate file 2016-04-11 16:57:09 -04:00
ses.c scsi: ses: don't get power status of SES device slot on probe 2017-04-06 12:48:05 -04:00
sg.c scsi: sg: don't return bogus Sg_requests 2017-05-11 23:14:36 -04:00
sgiwd93.c scsi: sgiwd93: switch to dma_alloc_attrs 2017-06-26 15:01:06 -04:00
sim710.c scsi: sim710: fix build warning 2016-02-23 21:27:02 -05:00
sni_53c710.c scsi: remove incorrect __exit markups 2017-03-15 19:27:46 -04:00
sr.c scsi: sr: Sanity check returned mode data 2017-04-07 17:07:14 -04:00
sr.h scsi: introduce sdev_prefix_printk() 2014-11-12 11:15:57 +01:00
sr_ioctl.c scsi: merge __scsi_execute into scsi_execute 2017-02-23 16:57:19 -05:00
sr_vendor.c scsi: Implement sr_printk() 2014-07-17 22:07:39 +02:00
st.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
st.h st: Remove obsolete scsi_tape.max_pfn 2015-11-18 11:59:09 -05:00
st_options.h
stex.c scsi: stex: make S6flag static 2017-04-26 18:32:29 -04:00
storvsc_drv.c scsi: storvsc: use default I/O timeout handler for FC devices 2017-06-26 12:33:26 -04:00
sun3_scsi.c SCSI misc on 20170220 2017-02-21 11:51:42 -08:00
sun3_scsi_vme.c scsi/NCR5380: merge sun3_scsi_vme.c into sun3_scsi.c 2014-05-28 12:16:28 +02:00
sun3x_esp.c arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
sun_esp.c scsi: drop owner assignment from platform_drivers 2014-10-20 16:21:33 +02:00
sym53c416.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
sym53c416.h
virtio_scsi.c scsi: virtio_scsi: let host do exception handling 2017-06-26 15:01:00 -04:00
vmw_pvscsi.c scsi: vmw_pvscsi: handle the return value from pci_alloc_irq_vectors correctly 2017-03-06 22:27:33 -05:00
vmw_pvscsi.h scsi: vmw_pvscsi: switch to pci_alloc_irq_vectors 2017-01-11 22:31:03 -05:00
wd33c93.c scsi: print single-character strings with seq_putc 2015-02-02 09:57:46 -08:00
wd33c93.h
wd719x.c drivers/scsi/wd719x.c: remove last declaration using DEFINE_PCI_DEVICE_TABLE 2016-09-01 17:52:01 -07:00
wd719x.h scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
xen-scsifront.c scsi: xen-scsifront: Remove code that zeroes driver-private command data 2017-06-12 21:02:04 -04:00
zalon.c scsi: remove incorrect __exit markups 2017-03-15 19:27:46 -04:00
zorro7xx.c zorro: ZTWO_VADDR() should return "void __iomem *" 2013-11-26 11:09:07 +01:00