Commit d406647966365b4ea505ef290825b257c678e764
1 parent
8706c382
Fix a bad comparison, spotted by Paul Brook.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4922 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
5 additions
and
1 deletions
hw/omap_dma.c
@@ -668,6 +668,9 @@ static void omap_dma_transfer_setup(struct soc_dma_ch_s *dma) | @@ -668,6 +668,9 @@ static void omap_dma_transfer_setup(struct soc_dma_ch_s *dma) | ||
668 | /* If the channel is async, update cpc */ | 668 | /* If the channel is async, update cpc */ |
669 | if (!ch->sync && frames) | 669 | if (!ch->sync && frames) |
670 | ch->cpc = a->dest & 0xffff; | 670 | ch->cpc = a->dest & 0xffff; |
671 | + | ||
672 | + /* TODO: if the destination port is IMIF or EMIFF, set the dirty | ||
673 | + * bits on it. */ | ||
671 | } | 674 | } |
672 | 675 | ||
673 | omap_dma_interrupts_update(s); | 676 | omap_dma_interrupts_update(s); |
hw/soc_dma.c
@@ -49,7 +49,7 @@ static void *fifo_buf; | @@ -49,7 +49,7 @@ static void *fifo_buf; | ||
49 | static int fifo_size; | 49 | static int fifo_size; |
50 | void transfer_fifo2fifo(struct soc_dma_ch_s *ch) | 50 | void transfer_fifo2fifo(struct soc_dma_ch_s *ch) |
51 | { | 51 | { |
52 | - if (ch->bytes < fifo_size) | 52 | + if (ch->bytes > fifo_size) |
53 | fifo_buf = realloc(fifo_buf, fifo_size = ch->bytes); | 53 | fifo_buf = realloc(fifo_buf, fifo_size = ch->bytes); |
54 | 54 | ||
55 | /* Implement as transfer_fifo2linear + transfer_linear2fifo. */ | 55 | /* Implement as transfer_fifo2linear + transfer_linear2fifo. */ |
@@ -251,6 +251,7 @@ struct soc_dma_s *soc_dma_init(int n) | @@ -251,6 +251,7 @@ struct soc_dma_s *soc_dma_init(int n) | ||
251 | } | 251 | } |
252 | 252 | ||
253 | soc_dma_reset(&s->soc); | 253 | soc_dma_reset(&s->soc); |
254 | + fifo_size = 0; | ||
254 | 255 | ||
255 | return &s->soc; | 256 | return &s->soc; |
256 | } | 257 | } |