@@ -212,7 +212,7 @@ struct skd_request_context {
212
212
u8 flush_cmd ;
213
213
214
214
u32 timeout_stamp ;
215
- u8 sg_data_dir ;
215
+ enum dma_data_direction data_dir ;
216
216
struct scatterlist * sg ;
217
217
u32 n_sg ;
218
218
u32 sg_byte_count ;
@@ -225,8 +225,6 @@ struct skd_request_context {
225
225
struct fit_comp_error_info err_info ;
226
226
227
227
};
228
- #define SKD_DATA_DIR_HOST_TO_CARD 1
229
- #define SKD_DATA_DIR_CARD_TO_HOST 2
230
228
231
229
struct skd_special_context {
232
230
struct skd_request_context req ;
@@ -615,8 +613,8 @@ static void skd_request_fn(struct request_queue *q)
615
613
skreq -> req = req ;
616
614
skreq -> fitmsg_id = 0 ;
617
615
618
- skreq -> sg_data_dir = data_dir == READ ?
619
- SKD_DATA_DIR_CARD_TO_HOST : SKD_DATA_DIR_HOST_TO_CARD ;
616
+ skreq -> data_dir = data_dir == READ ? DMA_FROM_DEVICE :
617
+ DMA_TO_DEVICE ;
620
618
621
619
if (req -> bio && !skd_preop_sg_list (skdev , skreq )) {
622
620
dev_dbg (& skdev -> pdev -> dev , "error Out\n" );
@@ -742,16 +740,14 @@ static bool skd_preop_sg_list(struct skd_device *skdev,
742
740
struct skd_request_context * skreq )
743
741
{
744
742
struct request * req = skreq -> req ;
745
- int writing = skreq -> sg_data_dir == SKD_DATA_DIR_HOST_TO_CARD ;
746
- int pci_dir = writing ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE ;
747
743
struct scatterlist * sg = & skreq -> sg [0 ];
748
744
int n_sg ;
749
745
int i ;
750
746
751
747
skreq -> sg_byte_count = 0 ;
752
748
753
- /* SKD_ASSERT (skreq->sg_data_dir == SKD_DATA_DIR_HOST_TO_CARD ||
754
- skreq->sg_data_dir == SKD_DATA_DIR_CARD_TO_HOST); */
749
+ WARN_ON_ONCE (skreq -> data_dir != DMA_TO_DEVICE &&
750
+ skreq -> data_dir != DMA_FROM_DEVICE );
755
751
756
752
n_sg = blk_rq_map_sg (skdev -> queue , req , sg );
757
753
if (n_sg <= 0 )
@@ -761,7 +757,7 @@ static bool skd_preop_sg_list(struct skd_device *skdev,
761
757
* Map scatterlist to PCI bus addresses.
762
758
* Note PCI might change the number of entries.
763
759
*/
764
- n_sg = pci_map_sg (skdev -> pdev , sg , n_sg , pci_dir );
760
+ n_sg = pci_map_sg (skdev -> pdev , sg , n_sg , skreq -> data_dir );
765
761
if (n_sg <= 0 )
766
762
return false;
767
763
@@ -804,17 +800,14 @@ static bool skd_preop_sg_list(struct skd_device *skdev,
804
800
static void skd_postop_sg_list (struct skd_device * skdev ,
805
801
struct skd_request_context * skreq )
806
802
{
807
- int writing = skreq -> sg_data_dir == SKD_DATA_DIR_HOST_TO_CARD ;
808
- int pci_dir = writing ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE ;
809
-
810
803
/*
811
804
* restore the next ptr for next IO request so we
812
805
* don't have to set it every time.
813
806
*/
814
807
skreq -> sksg_list [skreq -> n_sg - 1 ].next_desc_ptr =
815
808
skreq -> sksg_dma_address +
816
809
((skreq -> n_sg ) * sizeof (struct fit_sg_descriptor ));
817
- pci_unmap_sg (skdev -> pdev , & skreq -> sg [0 ], skreq -> n_sg , pci_dir );
810
+ pci_unmap_sg (skdev -> pdev , & skreq -> sg [0 ], skreq -> n_sg , skreq -> data_dir );
818
811
}
819
812
820
813
static void skd_request_fn_not_online (struct request_queue * q )
@@ -2506,7 +2499,7 @@ static void skd_process_scsi_inq(struct skd_device *skdev,
2506
2499
struct skd_scsi_request * scsi_req = & skspcl -> msg_buf -> scsi [0 ];
2507
2500
2508
2501
dma_sync_sg_for_cpu (skdev -> class_dev , skspcl -> req .sg , skspcl -> req .n_sg ,
2509
- skspcl -> req .sg_data_dir );
2502
+ skspcl -> req .data_dir );
2510
2503
buf = skd_sg_1st_page_ptr (skspcl -> req .sg );
2511
2504
2512
2505
if (buf )
@@ -4935,7 +4928,7 @@ static void skd_log_skreq(struct skd_device *skdev,
4935
4928
skd_skreq_state_to_str (skreq -> state ), skreq -> state , skreq -> id ,
4936
4929
skreq -> fitmsg_id );
4937
4930
dev_dbg (& skdev -> pdev -> dev , " timo=0x%x sg_dir=%d n_sg=%d\n" ,
4938
- skreq -> timeout_stamp , skreq -> sg_data_dir , skreq -> n_sg );
4931
+ skreq -> timeout_stamp , skreq -> data_dir , skreq -> n_sg );
4939
4932
4940
4933
if (skreq -> req != NULL ) {
4941
4934
struct request * req = skreq -> req ;
0 commit comments