Pull asus into release branch
[pandora-kernel.git] / drivers / infiniband / ulp / iser / iscsi_iser.h
index 7e1a411..8960196 100644 (file)
@@ -182,7 +182,7 @@ struct iser_regd_buf {
        struct iser_mem_reg     reg;        /* memory registration info        */
        void                    *virt_addr;
        struct iser_device      *device;    /* device->device for dma_unmap    */
-       dma_addr_t              dma_addr;   /* if non zero, addr for dma_unmap */
+       u64                     dma_addr;   /* if non zero, addr for dma_unmap */
        enum dma_data_direction direction;  /* direction for dma_unmap         */
        unsigned int            data_size;
        atomic_t                ref_count;  /* refcount, freed when dec to 0   */
@@ -192,7 +192,7 @@ struct iser_regd_buf {
 
 struct iser_dto {
        struct iscsi_iser_cmd_task *ctask;
-       struct iscsi_iser_conn     *conn;
+       struct iser_conn *ib_conn;
        int                        notify_enable;
 
        /* vector of registered buffers */
@@ -245,7 +245,6 @@ struct iser_conn {
        wait_queue_head_t            wait;          /* waitq for conn/disconn  */
        atomic_t                     post_recv_buf_count; /* posted rx count   */
        atomic_t                     post_send_buf_count; /* posted tx count   */
-       struct work_struct           comperror_work; /* conn term sleepable ctx*/
        char                         name[ISER_OBJECT_NAME_SIZE];
        struct iser_page_vec         *page_vec;     /* represents SG to fmr maps*
                                                     * maps serialized as tx is*/
@@ -262,7 +261,6 @@ struct iscsi_iser_conn {
 struct iscsi_iser_cmd_task {
        struct iser_desc             desc;
        struct iscsi_iser_conn       *iser_conn;
-       int                          rdma_data_count;/* RDMA bytes           */
        enum iser_task_status        status;
        int                          command_sent;  /* set if command  sent  */
        int                          dir[ISER_DIRS_NUM];      /* set if dir use*/
@@ -284,7 +282,7 @@ struct iser_global {
        struct mutex      connlist_mutex;
        struct list_head  connlist;             /* all iSER IB connections */
 
-       kmem_cache_t *desc_cache;
+       struct kmem_cache *desc_cache;
 };
 
 extern struct iser_global ig;
@@ -356,4 +354,11 @@ int  iser_post_send(struct iser_desc *tx_desc);
 
 int iser_conn_state_comp(struct iser_conn *ib_conn,
                         enum iser_ib_conn_state comp);
+
+int iser_dma_map_task_data(struct iscsi_iser_cmd_task *iser_ctask,
+                           struct iser_data_buf       *data,
+                           enum   iser_data_dir       iser_dir,
+                           enum   dma_data_direction  dma_dir);
+
+void iser_dma_unmap_task_data(struct iscsi_iser_cmd_task *iser_ctask);
 #endif