/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _SCSI_SCSI_TCQ_H #define _SCSI_SCSI_TCQ_H #include <linux/blkdev.h> #include <scsi/scsi_cmnd.h> #include <scsi/scsi_device.h> #include <scsi/scsi_host.h> #define SCSI_NO_TAG (-1) /* identify no tag in use */ #ifdef CONFIG_BLOCK /** * scsi_host_find_tag - find the tagged command by host * @shost: pointer to scsi_host * @tag: tag * * Note: for devices using multiple hardware queues tag must have been * generated by blk_mq_unique_tag(). **/ static inline struct scsi_cmnd *scsi_host_find_tag(struct Scsi_Host *shost, int tag) { struct request *req = NULL; if (tag == SCSI_NO_TAG) return NULL; if (shost_use_blk_mq(shost)) { u16 hwq = blk_mq_unique_tag_to_hwq(tag); if (hwq < shost->tag_set.nr_hw_queues) { req = blk_mq_tag_to_rq(shost->tag_set.tags[hwq], blk_mq_unique_tag_to_tag(tag)); } } else { req = blk_map_queue_find_tag(shost->bqt, tag); } if (!req) return NULL; return blk_mq_rq_to_pdu(req); } #endif /* CONFIG_BLOCK */ #endif /* _SCSI_SCSI_TCQ_H */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
fc | Folder | 0755 |
|
|
fc_encode.h | File | 21.64 KB | 0644 |
|
fc_frame.h | File | 6.9 KB | 0644 |
|
fcoe_sysfs.h | File | 3.75 KB | 0644 |
|
iscsi_if.h | File | 26.07 KB | 0644 |
|
iscsi_proto.h | File | 16.06 KB | 0644 |
|
iser.h | File | 2.34 KB | 0644 |
|
libfc.h | File | 31.71 KB | 0644 |
|
libfcoe.h | File | 14 KB | 0644 |
|
libiscsi.h | File | 14.36 KB | 0644 |
|
libiscsi_tcp.h | File | 4.32 KB | 0644 |
|
libsas.h | File | 18.53 KB | 0644 |
|
osd_attributes.h | File | 15.05 KB | 0644 |
|
osd_initiator.h | File | 16.26 KB | 0644 |
|
osd_ore.h | File | 5.36 KB | 0644 |
|
osd_protocol.h | File | 17.57 KB | 0644 |
|
osd_sec.h | File | 1.48 KB | 0644 |
|
osd_sense.h | File | 9.89 KB | 0644 |
|
osd_types.h | File | 1020 B | 0644 |
|
sas.h | File | 13.22 KB | 0644 |
|
sas_ata.h | File | 2.73 KB | 0644 |
|
scsi.h | File | 8.8 KB | 0644 |
|
scsi_bsg_iscsi.h | File | 2.83 KB | 0644 |
|
scsi_cmnd.h | File | 9.62 KB | 0644 |
|
scsi_common.h | File | 2.27 KB | 0644 |
|
scsi_dbg.h | File | 2.19 KB | 0644 |
|
scsi_device.h | File | 20.49 KB | 0644 |
|
scsi_devinfo.h | File | 2.51 KB | 0644 |
|
scsi_dh.h | File | 3.16 KB | 0644 |
|
scsi_driver.h | File | 859 B | 0644 |
|
scsi_eh.h | File | 1.64 KB | 0644 |
|
scsi_host.h | File | 27.58 KB | 0644 |
|
scsi_ioctl.h | File | 1.25 KB | 0644 |
|
scsi_proto.h | File | 10.67 KB | 0644 |
|
scsi_request.h | File | 667 B | 0644 |
|
scsi_tcq.h | File | 1.03 KB | 0644 |
|
scsi_transport.h | File | 3.22 KB | 0644 |
|
scsi_transport_fc.h | File | 26.47 KB | 0644 |
|
scsi_transport_iscsi.h | File | 17.25 KB | 0644 |
|
scsi_transport_sas.h | File | 6.79 KB | 0644 |
|
scsi_transport_spi.h | File | 7.2 KB | 0644 |
|
scsi_transport_srp.h | File | 4.77 KB | 0644 |
|
scsicam.h | File | 713 B | 0644 |
|
sg.h | File | 12.13 KB | 0644 |
|
srp.h | File | 6.1 KB | 0644 |
|
viosrp.h | File | 6.07 KB | 0644 |
|