Linux Audio

Check our new training course

Loading...
v5.9
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef TARGET_CORE_PSCSI_H
 3#define TARGET_CORE_PSCSI_H
 4
 5#define PSCSI_VERSION		"v4.0"
 6
 7/* used in pscsi_find_alloc_len() */
 8#ifndef INQUIRY_DATA_SIZE
 9#define INQUIRY_DATA_SIZE	0x24
10#endif
11
12/* used in pscsi_add_device_to_list() */
13#define PSCSI_DEFAULT_QUEUEDEPTH	1
14
15#define PS_RETRY		5
16#define PS_TIMEOUT_DISK		(15*HZ)
17#define PS_TIMEOUT_OTHER	(500*HZ)
18
19#include <linux/cache.h>             /* ___cacheline_aligned */
20#include <target/target_core_base.h> /* struct se_device */
21
22struct block_device;
23struct scsi_device;
24struct Scsi_Host;
25
26struct pscsi_plugin_task {
27	unsigned char pscsi_cdb[0];
28} ____cacheline_aligned;
29
30#define PDF_HAS_CHANNEL_ID	0x01
31#define PDF_HAS_TARGET_ID	0x02
32#define PDF_HAS_LUN_ID		0x04
33#define PDF_HAS_VPD_UNIT_SERIAL 0x08
34#define PDF_HAS_VPD_DEV_IDENT	0x10
35#define PDF_HAS_VIRT_HOST_ID	0x20
36
37struct pscsi_dev_virt {
38	struct se_device dev;
39	int	pdv_flags;
40	int	pdv_host_id;
41	int	pdv_channel_id;
42	int	pdv_target_id;
43	int	pdv_lun_id;
44	struct block_device *pdv_bd;
45	struct scsi_device *pdv_sd;
46	struct Scsi_Host *pdv_lld_host;
47} ____cacheline_aligned;
48
49typedef enum phv_modes {
50	PHV_VIRTUAL_HOST_ID,
51	PHV_LLD_SCSI_HOST_NO
52} phv_modes_t;
53
54struct pscsi_hba_virt {
55	int			phv_host_id;
56	phv_modes_t		phv_mode;
57	struct Scsi_Host	*phv_lld_host;
58} ____cacheline_aligned;
59
60#endif   /*** TARGET_CORE_PSCSI_H ***/
v6.2
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef TARGET_CORE_PSCSI_H
 3#define TARGET_CORE_PSCSI_H
 4
 5#define PSCSI_VERSION		"v4.0"
 6
 7/* used in pscsi_find_alloc_len() */
 8#ifndef INQUIRY_DATA_SIZE
 9#define INQUIRY_DATA_SIZE	0x24
10#endif
11
12/* used in pscsi_add_device_to_list() */
13#define PSCSI_DEFAULT_QUEUEDEPTH	1
14
15#define PS_RETRY		5
16#define PS_TIMEOUT_DISK		(15*HZ)
17#define PS_TIMEOUT_OTHER	(500*HZ)
18
19#include <linux/cache.h>             /* ___cacheline_aligned */
20#include <target/target_core_base.h> /* struct se_device */
21
22struct block_device;
23struct scsi_device;
24struct Scsi_Host;
25
 
 
 
 
26#define PDF_HAS_CHANNEL_ID	0x01
27#define PDF_HAS_TARGET_ID	0x02
28#define PDF_HAS_LUN_ID		0x04
29#define PDF_HAS_VPD_UNIT_SERIAL 0x08
30#define PDF_HAS_VPD_DEV_IDENT	0x10
31#define PDF_HAS_VIRT_HOST_ID	0x20
32
33struct pscsi_dev_virt {
34	struct se_device dev;
35	int	pdv_flags;
36	int	pdv_host_id;
37	int	pdv_channel_id;
38	int	pdv_target_id;
39	int	pdv_lun_id;
40	struct block_device *pdv_bd;
41	struct scsi_device *pdv_sd;
42	struct Scsi_Host *pdv_lld_host;
43} ____cacheline_aligned;
44
45typedef enum phv_modes {
46	PHV_VIRTUAL_HOST_ID,
47	PHV_LLD_SCSI_HOST_NO
48} phv_modes_t;
49
50struct pscsi_hba_virt {
51	int			phv_host_id;
52	phv_modes_t		phv_mode;
53	struct Scsi_Host	*phv_lld_host;
54} ____cacheline_aligned;
55
56#endif   /*** TARGET_CORE_PSCSI_H ***/