Skip to content

Commit 525b7d2

Browse files
committed
s390/qeth: use new address translation helpers
Use virt_to_dma64() and friends to properly convert virtual to physical and physical to virtual addresses so that "make C=1" does not generate any warnings anymore. Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
1 parent a8b576d commit 525b7d2

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

drivers/s390/net/qeth_core_main.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

432432
static 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,
56615661
walk_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

Comments
 (0)