Revision a8170e5e hw/etraxfs_dma.c
b/hw/etraxfs_dma.c | ||
---|---|---|
212 | 212 |
&& ctrl->channels[c].client; |
213 | 213 |
} |
214 | 214 |
|
215 |
static inline int fs_channel(target_phys_addr_t addr)
|
|
215 |
static inline int fs_channel(hwaddr addr)
|
|
216 | 216 |
{ |
217 | 217 |
/* Every channel has a 0x2000 ctrl register map. */ |
218 | 218 |
return addr >> 13; |
... | ... | |
221 | 221 |
#ifdef USE_THIS_DEAD_CODE |
222 | 222 |
static void channel_load_g(struct fs_dma_ctrl *ctrl, int c) |
223 | 223 |
{ |
224 |
target_phys_addr_t addr = channel_reg(ctrl, c, RW_GROUP);
|
|
224 |
hwaddr addr = channel_reg(ctrl, c, RW_GROUP);
|
|
225 | 225 |
|
226 | 226 |
/* Load and decode. FIXME: handle endianness. */ |
227 | 227 |
cpu_physical_memory_read (addr, |
... | ... | |
253 | 253 |
|
254 | 254 |
static void channel_load_c(struct fs_dma_ctrl *ctrl, int c) |
255 | 255 |
{ |
256 |
target_phys_addr_t addr = channel_reg(ctrl, c, RW_GROUP_DOWN);
|
|
256 |
hwaddr addr = channel_reg(ctrl, c, RW_GROUP_DOWN);
|
|
257 | 257 |
|
258 | 258 |
/* Load and decode. FIXME: handle endianness. */ |
259 | 259 |
cpu_physical_memory_read (addr, |
... | ... | |
270 | 270 |
|
271 | 271 |
static void channel_load_d(struct fs_dma_ctrl *ctrl, int c) |
272 | 272 |
{ |
273 |
target_phys_addr_t addr = channel_reg(ctrl, c, RW_SAVED_DATA);
|
|
273 |
hwaddr addr = channel_reg(ctrl, c, RW_SAVED_DATA);
|
|
274 | 274 |
|
275 | 275 |
/* Load and decode. FIXME: handle endianness. */ |
276 | 276 |
D(printf("%s ch=%d addr=" TARGET_FMT_plx "\n", __func__, c, addr)); |
... | ... | |
284 | 284 |
|
285 | 285 |
static void channel_store_c(struct fs_dma_ctrl *ctrl, int c) |
286 | 286 |
{ |
287 |
target_phys_addr_t addr = channel_reg(ctrl, c, RW_GROUP_DOWN);
|
|
287 |
hwaddr addr = channel_reg(ctrl, c, RW_GROUP_DOWN);
|
|
288 | 288 |
|
289 | 289 |
/* Encode and store. FIXME: handle endianness. */ |
290 | 290 |
D(printf("%s ch=%d addr=" TARGET_FMT_plx "\n", __func__, c, addr)); |
... | ... | |
296 | 296 |
|
297 | 297 |
static void channel_store_d(struct fs_dma_ctrl *ctrl, int c) |
298 | 298 |
{ |
299 |
target_phys_addr_t addr = channel_reg(ctrl, c, RW_SAVED_DATA);
|
|
299 |
hwaddr addr = channel_reg(ctrl, c, RW_SAVED_DATA);
|
|
300 | 300 |
|
301 | 301 |
/* Encode and store. FIXME: handle endianness. */ |
302 | 302 |
D(printf("%s ch=%d addr=" TARGET_FMT_plx "\n", __func__, c, addr)); |
... | ... | |
573 | 573 |
return 0; |
574 | 574 |
} |
575 | 575 |
|
576 |
static uint32_t dma_rinvalid (void *opaque, target_phys_addr_t addr)
|
|
576 |
static uint32_t dma_rinvalid (void *opaque, hwaddr addr)
|
|
577 | 577 |
{ |
578 | 578 |
hw_error("Unsupported short raccess. reg=" TARGET_FMT_plx "\n", addr); |
579 | 579 |
return 0; |
580 | 580 |
} |
581 | 581 |
|
582 | 582 |
static uint64_t |
583 |
dma_read(void *opaque, target_phys_addr_t addr, unsigned int size)
|
|
583 |
dma_read(void *opaque, hwaddr addr, unsigned int size)
|
|
584 | 584 |
{ |
585 | 585 |
struct fs_dma_ctrl *ctrl = opaque; |
586 | 586 |
int c; |
... | ... | |
612 | 612 |
} |
613 | 613 |
|
614 | 614 |
static void |
615 |
dma_winvalid (void *opaque, target_phys_addr_t addr, uint32_t value)
|
|
615 |
dma_winvalid (void *opaque, hwaddr addr, uint32_t value)
|
|
616 | 616 |
{ |
617 | 617 |
hw_error("Unsupported short waccess. reg=" TARGET_FMT_plx "\n", addr); |
618 | 618 |
} |
... | ... | |
627 | 627 |
} |
628 | 628 |
|
629 | 629 |
static void |
630 |
dma_write(void *opaque, target_phys_addr_t addr,
|
|
630 |
dma_write(void *opaque, hwaddr addr,
|
|
631 | 631 |
uint64_t val64, unsigned int size) |
632 | 632 |
{ |
633 | 633 |
struct fs_dma_ctrl *ctrl = opaque; |
... | ... | |
762 | 762 |
qemu_bh_schedule_idle(etraxfs_dmac->bh); |
763 | 763 |
} |
764 | 764 |
|
765 |
void *etraxfs_dmac_init(target_phys_addr_t base, int nr_channels)
|
|
765 |
void *etraxfs_dmac_init(hwaddr base, int nr_channels)
|
|
766 | 766 |
{ |
767 | 767 |
struct fs_dma_ctrl *ctrl = NULL; |
768 | 768 |
|
Also available in: Unified diff