Message ID | 1399574818-19349-6-git-send-email-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
On Fri, May 9, 2014 at 4:46 AM, Peter Maydell <peter.maydell@linaro.org> wrote: > Add missing (uint32_t) casts in cases where we're trying to > put a uint16_t value into the top half of a 32-bit field. > These were already present in some but not all places. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > --- > For new code or code I cared about I'd use deposit32(); but omap > is pretty ancient and unloved, so this is the minimal fix. > --- > hw/dma/omap_dma.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/hw/dma/omap_dma.c b/hw/dma/omap_dma.c > index 0e8cccd..0f35c42 100644 > --- a/hw/dma/omap_dma.c > +++ b/hw/dma/omap_dma.c > @@ -973,7 +973,7 @@ static int omap_dma_ch_reg_write(struct omap_dma_s *s, > > case 0x22: /* DMA_COLOR_U */ > ch->color &= 0xffff; > - ch->color |= value << 16; > + ch->color |= (uint32_t)value << 16; > break; > > case 0x24: /* DMA_CCR2 */ > @@ -1043,7 +1043,7 @@ static int omap_dma_3_2_lcd_write(struct omap_dma_lcd_channel_s *s, int offset, > > case 0xbca: /* TOP_B1_U */ > s->src_f1_top &= 0x0000ffff; > - s->src_f1_top |= value << 16; > + s->src_f1_top |= (uint32_t)value << 16; > break; > > case 0xbcc: /* BOT_B1_L */ > @@ -1265,7 +1265,7 @@ static int omap_dma_3_1_lcd_write(struct omap_dma_lcd_channel_s *s, int offset, > > case 0x304: /* SYS_DMA_LCD_TOP_F1_U */ > s->src_f1_top &= 0x0000ffff; > - s->src_f1_top |= value << 16; > + s->src_f1_top |= (uint32_t)value << 16; > break; > > case 0x306: /* SYS_DMA_LCD_BOT_F1_L */ > @@ -1275,7 +1275,7 @@ static int omap_dma_3_1_lcd_write(struct omap_dma_lcd_channel_s *s, int offset, > > case 0x308: /* SYS_DMA_LCD_BOT_F1_U */ > s->src_f1_bottom &= 0x0000ffff; > - s->src_f1_bottom |= value << 16; > + s->src_f1_bottom |= (uint32_t)value << 16; > break; > > case 0x30a: /* SYS_DMA_LCD_TOP_F2_L */ > @@ -1285,7 +1285,7 @@ static int omap_dma_3_1_lcd_write(struct omap_dma_lcd_channel_s *s, int offset, > > case 0x30c: /* SYS_DMA_LCD_TOP_F2_U */ > s->src_f2_top &= 0x0000ffff; > - s->src_f2_top |= value << 16; > + s->src_f2_top |= (uint32_t)value << 16; > break; > > case 0x30e: /* SYS_DMA_LCD_BOT_F2_L */ > @@ -1295,7 +1295,7 @@ static int omap_dma_3_1_lcd_write(struct omap_dma_lcd_channel_s *s, int offset, > > case 0x310: /* SYS_DMA_LCD_BOT_F2_U */ > s->src_f2_bottom &= 0x0000ffff; > - s->src_f2_bottom |= value << 16; > + s->src_f2_bottom |= (uint32_t)value << 16; > break; > > default: > -- > 1.9.2 > >
diff --git a/hw/dma/omap_dma.c b/hw/dma/omap_dma.c index 0e8cccd..0f35c42 100644 --- a/hw/dma/omap_dma.c +++ b/hw/dma/omap_dma.c @@ -973,7 +973,7 @@ static int omap_dma_ch_reg_write(struct omap_dma_s *s, case 0x22: /* DMA_COLOR_U */ ch->color &= 0xffff; - ch->color |= value << 16; + ch->color |= (uint32_t)value << 16; break; case 0x24: /* DMA_CCR2 */ @@ -1043,7 +1043,7 @@ static int omap_dma_3_2_lcd_write(struct omap_dma_lcd_channel_s *s, int offset, case 0xbca: /* TOP_B1_U */ s->src_f1_top &= 0x0000ffff; - s->src_f1_top |= value << 16; + s->src_f1_top |= (uint32_t)value << 16; break; case 0xbcc: /* BOT_B1_L */ @@ -1265,7 +1265,7 @@ static int omap_dma_3_1_lcd_write(struct omap_dma_lcd_channel_s *s, int offset, case 0x304: /* SYS_DMA_LCD_TOP_F1_U */ s->src_f1_top &= 0x0000ffff; - s->src_f1_top |= value << 16; + s->src_f1_top |= (uint32_t)value << 16; break; case 0x306: /* SYS_DMA_LCD_BOT_F1_L */ @@ -1275,7 +1275,7 @@ static int omap_dma_3_1_lcd_write(struct omap_dma_lcd_channel_s *s, int offset, case 0x308: /* SYS_DMA_LCD_BOT_F1_U */ s->src_f1_bottom &= 0x0000ffff; - s->src_f1_bottom |= value << 16; + s->src_f1_bottom |= (uint32_t)value << 16; break; case 0x30a: /* SYS_DMA_LCD_TOP_F2_L */ @@ -1285,7 +1285,7 @@ static int omap_dma_3_1_lcd_write(struct omap_dma_lcd_channel_s *s, int offset, case 0x30c: /* SYS_DMA_LCD_TOP_F2_U */ s->src_f2_top &= 0x0000ffff; - s->src_f2_top |= value << 16; + s->src_f2_top |= (uint32_t)value << 16; break; case 0x30e: /* SYS_DMA_LCD_BOT_F2_L */ @@ -1295,7 +1295,7 @@ static int omap_dma_3_1_lcd_write(struct omap_dma_lcd_channel_s *s, int offset, case 0x310: /* SYS_DMA_LCD_BOT_F2_U */ s->src_f2_bottom &= 0x0000ffff; - s->src_f2_bottom |= value << 16; + s->src_f2_bottom |= (uint32_t)value << 16; break; default:
Add missing (uint32_t) casts in cases where we're trying to put a uint16_t value into the top half of a 32-bit field. These were already present in some but not all places. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- For new code or code I cared about I'd use deposit32(); but omap is pretty ancient and unloved, so this is the minimal fix. --- hw/dma/omap_dma.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)