@@ -290,11 +290,8 @@ static void mxcmci_swap_buffers(struct mmc_data *data)
290290 struct scatterlist * sg ;
291291 int i ;
292292
293- for_each_sg (data -> sg , sg , data -> sg_len , i ) {
294- void * buf = kmap_atomic (sg_page (sg ) + sg -> offset );
295- buffer_swap32 (buf , sg -> length );
296- kunmap_atomic (buf );
297- }
293+ for_each_sg (data -> sg , sg , data -> sg_len , i )
294+ buffer_swap32 (sg_virt (sg ), sg -> length );
298295}
299296#else
300297static inline void mxcmci_swap_buffers (struct mmc_data * data ) {}
@@ -611,26 +608,21 @@ static int mxcmci_transfer_data(struct mxcmci_host *host)
611608{
612609 struct mmc_data * data = host -> req -> data ;
613610 struct scatterlist * sg ;
614- void * buf ;
615611 int stat , i ;
616612
617613 host -> data = data ;
618614 host -> datasize = 0 ;
619615
620616 if (data -> flags & MMC_DATA_READ ) {
621617 for_each_sg (data -> sg , sg , data -> sg_len , i ) {
622- buf = kmap_atomic (sg_page (sg ) + sg -> offset );
623- stat = mxcmci_pull (host , buf , sg -> length );
624- kunmap (buf );
618+ stat = mxcmci_pull (host , sg_virt (sg ), sg -> length );
625619 if (stat )
626620 return stat ;
627621 host -> datasize += sg -> length ;
628622 }
629623 } else {
630624 for_each_sg (data -> sg , sg , data -> sg_len , i ) {
631- buf = kmap_atomic (sg_page (sg ) + sg -> offset );
632- stat = mxcmci_push (host , buf , sg -> length );
633- kunmap (buf );
625+ stat = mxcmci_push (host , sg_virt (sg ), sg -> length );
634626 if (stat )
635627 return stat ;
636628 host -> datasize += sg -> length ;
0 commit comments