Commit ea0f49a74dc18b063c7fd5076dcfa3a402c48e92
1 parent
55e8b85e
ETRAX-FS: Fix DMA warnings.
Signed-off-by: Jan Kiszka <jan.kiszka@web.de> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5621 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
11 additions
and
8 deletions
hw/etraxfs_dma.c
... | ... | @@ -406,7 +406,8 @@ static void channel_out_run(struct fs_dma_ctrl *ctrl, int c) |
406 | 406 | (uint32_t)ctrl->channels[c].current_d.after, |
407 | 407 | saved_data_buf)); |
408 | 408 | |
409 | - len = (uint32_t)ctrl->channels[c].current_d.after; | |
409 | + len = (uint32_t)(unsigned long) | |
410 | + ctrl->channels[c].current_d.after; | |
410 | 411 | len -= saved_data_buf; |
411 | 412 | |
412 | 413 | if (len > sizeof buf) |
... | ... | @@ -426,8 +427,8 @@ static void channel_out_run(struct fs_dma_ctrl *ctrl, int c) |
426 | 427 | |
427 | 428 | saved_data_buf += len; |
428 | 429 | |
429 | - if (saved_data_buf == | |
430 | - (uint32_t)ctrl->channels[c].current_d.after) { | |
430 | + if (saved_data_buf == (uint32_t)(unsigned long) | |
431 | + ctrl->channels[c].current_d.after) { | |
431 | 432 | /* Done. Step to next. */ |
432 | 433 | if (ctrl->channels[c].current_d.out_eop) { |
433 | 434 | /* TODO: signal eop to the client. */ |
... | ... | @@ -451,7 +452,8 @@ static void channel_out_run(struct fs_dma_ctrl *ctrl, int c) |
451 | 452 | channel_stop(ctrl, c); |
452 | 453 | } else { |
453 | 454 | ctrl->channels[c].regs[RW_SAVED_DATA] = |
454 | - (uint32_t)ctrl->channels[c].current_d.next; | |
455 | + (uint32_t)(unsigned long)ctrl-> | |
456 | + channels[c].current_d.next; | |
455 | 457 | /* Load new descriptor. */ |
456 | 458 | channel_load_d(ctrl, c); |
457 | 459 | saved_data_buf = (uint32_t)(unsigned long) |
... | ... | @@ -477,7 +479,7 @@ static int channel_in_process(struct fs_dma_ctrl *ctrl, int c, |
477 | 479 | return 0; |
478 | 480 | |
479 | 481 | saved_data_buf = channel_reg(ctrl, c, RW_SAVED_DATA_BUF); |
480 | - len = (uint32_t)ctrl->channels[c].current_d.after; | |
482 | + len = (uint32_t)(unsigned long)ctrl->channels[c].current_d.after; | |
481 | 483 | len -= saved_data_buf; |
482 | 484 | |
483 | 485 | if (len > buflen) |
... | ... | @@ -487,7 +489,7 @@ static int channel_in_process(struct fs_dma_ctrl *ctrl, int c, |
487 | 489 | saved_data_buf += len; |
488 | 490 | |
489 | 491 | if (saved_data_buf == |
490 | - (uint32_t)ctrl->channels[c].current_d.after | |
492 | + (uint32_t)(unsigned long)ctrl->channels[c].current_d.after | |
491 | 493 | || eop) { |
492 | 494 | uint32_t r_intr = ctrl->channels[c].regs[R_INTR]; |
493 | 495 | |
... | ... | @@ -524,10 +526,11 @@ static int channel_in_process(struct fs_dma_ctrl *ctrl, int c, |
524 | 526 | channel_stop(ctrl, c); |
525 | 527 | } else { |
526 | 528 | ctrl->channels[c].regs[RW_SAVED_DATA] = |
527 | - (uint32_t)ctrl->channels[c].current_d.next; | |
529 | + (uint32_t)(unsigned long)ctrl-> | |
530 | + channels[c].current_d.next; | |
528 | 531 | /* Load new descriptor. */ |
529 | 532 | channel_load_d(ctrl, c); |
530 | - saved_data_buf = (uint32_t) | |
533 | + saved_data_buf = (uint32_t)(unsigned long) | |
531 | 534 | ctrl->channels[c].current_d.buf; |
532 | 535 | } |
533 | 536 | } | ... | ... |