@@ -426,7 +426,7 @@ static void qeth_setup_ccw(struct ccw1 *ccw, u8 cmd_code, u8 flags, u32 len,
426426 ccw -> cmd_code = cmd_code ;
427427 ccw -> flags = flags | CCW_FLAG_SLI ;
428428 ccw -> count = len ;
429- ccw -> cda = ( __u32 ) virt_to_phys (data );
429+ ccw -> cda = virt_to_dma32 (data );
430430}
431431
432432static int __qeth_issue_next_read (struct qeth_card * card )
@@ -1359,7 +1359,7 @@ static void qeth_clear_output_buffer(struct qeth_qdio_out_q *queue,
13591359 qeth_tx_complete_buf (queue , buf , error , budget );
13601360
13611361 for (i = 0 ; i < queue -> max_elements ; ++ i ) {
1362- void * data = phys_to_virt (buf -> buffer -> element [i ].addr );
1362+ void * data = dma64_to_virt (buf -> buffer -> element [i ].addr );
13631363
13641364 if (__test_and_clear_bit (i , buf -> from_kmem_cache ) && data )
13651365 kmem_cache_free (qeth_core_header_cache , data );
@@ -2918,8 +2918,8 @@ static int qeth_init_input_buffer(struct qeth_card *card,
29182918 */
29192919 for (i = 0 ; i < QETH_MAX_BUFFER_ELEMENTS (card ); ++ i ) {
29202920 buf -> buffer -> element [i ].length = PAGE_SIZE ;
2921- buf -> buffer -> element [i ].addr =
2922- page_to_phys (pool_entry -> elements [i ]);
2921+ buf -> buffer -> element [i ].addr = u64_to_dma64 (
2922+ page_to_phys (pool_entry -> elements [i ])) ;
29232923 if (i == QETH_MAX_BUFFER_ELEMENTS (card ) - 1 )
29242924 buf -> buffer -> element [i ].eflags = SBAL_EFLAGS_LAST_ENTRY ;
29252925 else
@@ -3765,9 +3765,9 @@ static void qeth_qdio_cq_handler(struct qeth_card *card, unsigned int qdio_err,
37653765
37663766 while ((e < QDIO_MAX_ELEMENTS_PER_BUFFER ) &&
37673767 buffer -> element [e ].addr ) {
3768- unsigned long phys_aob_addr = buffer -> element [e ].addr ;
3768+ dma64_t phys_aob_addr = buffer -> element [e ].addr ;
37693769
3770- qeth_qdio_handle_aob (card , phys_to_virt (phys_aob_addr ));
3770+ qeth_qdio_handle_aob (card , dma64_to_virt (phys_aob_addr ));
37713771 ++ e ;
37723772 }
37733773 qeth_scrub_qdio_buffer (buffer , QDIO_MAX_ELEMENTS_PER_BUFFER );
@@ -4042,7 +4042,7 @@ static unsigned int qeth_fill_buffer(struct qeth_qdio_out_buffer *buf,
40424042 if (hd_len ) {
40434043 is_first_elem = false;
40444044
4045- buffer -> element [element ].addr = virt_to_phys (hdr );
4045+ buffer -> element [element ].addr = virt_to_dma64 (hdr );
40464046 buffer -> element [element ].length = hd_len ;
40474047 buffer -> element [element ].eflags = SBAL_EFLAGS_FIRST_FRAG ;
40484048
@@ -4063,7 +4063,7 @@ static unsigned int qeth_fill_buffer(struct qeth_qdio_out_buffer *buf,
40634063 elem_length = min_t (unsigned int , length ,
40644064 PAGE_SIZE - offset_in_page (data ));
40654065
4066- buffer -> element [element ].addr = virt_to_phys (data );
4066+ buffer -> element [element ].addr = virt_to_dma64 (data );
40674067 buffer -> element [element ].length = elem_length ;
40684068 length -= elem_length ;
40694069 if (is_first_elem ) {
@@ -4093,7 +4093,7 @@ static unsigned int qeth_fill_buffer(struct qeth_qdio_out_buffer *buf,
40934093 elem_length = min_t (unsigned int , length ,
40944094 PAGE_SIZE - offset_in_page (data ));
40954095
4096- buffer -> element [element ].addr = virt_to_phys (data );
4096+ buffer -> element [element ].addr = virt_to_dma64 (data );
40974097 buffer -> element [element ].length = elem_length ;
40984098 buffer -> element [element ].eflags =
40994099 SBAL_EFLAGS_MIDDLE_FRAG ;
@@ -5569,7 +5569,7 @@ static int qeth_extract_skb(struct qeth_card *card,
55695569 offset = 0 ;
55705570 }
55715571
5572- hdr = phys_to_virt (element -> addr ) + offset ;
5572+ hdr = dma64_to_virt (element -> addr ) + offset ;
55735573 offset += sizeof (* hdr );
55745574 skb = NULL ;
55755575
@@ -5661,7 +5661,7 @@ static int qeth_extract_skb(struct qeth_card *card,
56615661walk_packet :
56625662 while (skb_len ) {
56635663 int data_len = min (skb_len , (int )(element -> length - offset ));
5664- char * data = phys_to_virt (element -> addr ) + offset ;
5664+ char * data = dma64_to_virt (element -> addr ) + offset ;
56655665
56665666 skb_len -= data_len ;
56675667 offset += data_len ;
0 commit comments