Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
[firefly-linux-kernel-4.4.55.git] / include / target / target_core_transport.h
index 2aae76412377f82bcef7bc48f720a017df416852..46aae4f94ede427814b6f6cdef7974c1f89d5fd3 100644 (file)
 #define DA_ENFORCE_PR_ISIDS                    1
 #define DA_STATUS_MAX_SECTORS_MIN              16
 #define DA_STATUS_MAX_SECTORS_MAX              8192
+/* By default don't report non-rotating (solid state) medium */
+#define DA_IS_NONROT                           0
+/* Queue Algorithm Modifier default for restricted reordering in control mode page */
+#define DA_EMULATE_REST_REORD                  0
 
 #define SE_MODE_PAGE_BUF                       512
 
@@ -163,6 +167,8 @@ extern void transport_init_se_cmd(struct se_cmd *,
                                        struct target_core_fabric_ops *,
                                        struct se_session *, u32, int, int,
                                        unsigned char *);
+void *transport_kmap_first_data_page(struct se_cmd *cmd);
+void transport_kunmap_first_data_page(struct se_cmd *cmd);
 extern void transport_free_se_cmd(struct se_cmd *);
 extern int transport_generic_allocate_tasks(struct se_cmd *, unsigned char *);
 extern int transport_generic_handle_cdb(struct se_cmd *);
@@ -173,7 +179,6 @@ extern void transport_new_cmd_failure(struct se_cmd *);
 extern int transport_generic_handle_tmr(struct se_cmd *);
 extern void transport_generic_free_cmd_intr(struct se_cmd *);
 extern void __transport_stop_task_timer(struct se_task *, unsigned long *);
-extern unsigned char transport_asciihex_to_binaryhex(unsigned char val[2]);
 extern int transport_generic_map_mem_to_cmd(struct se_cmd *cmd, struct scatterlist *, u32,
                                struct scatterlist *, u32);
 extern int transport_clear_lun_from_sessions(struct se_lun *);
@@ -235,13 +240,13 @@ struct se_subsystem_api {
         */
        int (*cdb_none)(struct se_task *);
        /*
-        * For SCF_SCSI_CONTROL_NONSG_IO_CDB
+        * For SCF_SCSI_DATA_SG_IO_CDB
         */
-       int (*map_task_non_SG)(struct se_task *);
+       int (*map_data_SG)(struct se_task *);
        /*
-        * For SCF_SCSI_DATA_SG_IO_CDB and SCF_SCSI_CONTROL_SG_IO_CDB
+        * For SCF_SCSI_CONTROL_SG_IO_CDB
         */
-       int (*map_task_SG)(struct se_task *);
+       int (*map_control_SG)(struct se_task *);
        /*
         * attach_hba():
         */
@@ -292,7 +297,7 @@ struct se_subsystem_api {
         * drivers.  Provided out of convenience.
         */
        int (*transport_complete)(struct se_task *task);
-       struct se_task *(*alloc_task)(struct se_cmd *);
+       struct se_task *(*alloc_task)(unsigned char *cdb);
        /*
         * do_task():
         */
@@ -341,11 +346,6 @@ struct se_subsystem_api {
         * Get the sector_t from a subsystem backstore..
         */
        sector_t (*get_blocks)(struct se_device *);
-       /*
-        * do_se_mem_map():
-        */
-       int (*do_se_mem_map)(struct se_task *, struct list_head *, void *,
-                               struct se_mem *, struct se_mem **, u32 *, u32 *);
        /*
         * get_sense_buffer():
         */