--- kmod/saa713x_video.c.orig Wed Feb 14 01:07:17 2007 +++ kmod/saa713x_video.c Wed Feb 14 21:43:03 2007 @@ -713,23 +713,23 @@ if (o->svs_vfmt & VFMT_PLANAR) { REG_WRITE(REG_DMA_BASE0(SAA_CHAN_YUV_Y), - (int)o->svs_buf_base + o->svs_buf_offset[0][0]); + (intptr_t)o->svs_buf_base + o->svs_buf_offset[0][0]); REG_WRITE(REG_DMA_BASE1(SAA_CHAN_YUV_Y), - (int)o->svs_buf_base + o->svs_buf_offset[1][0]); + (intptr_t)o->svs_buf_base + o->svs_buf_offset[1][0]); REG_WRITE(REG_DMA_PITCH(SAA_CHAN_YUV_Y), o->svs_buf_pitch[0]); REG_WRITE(REG_DMA_BASE0(SAA_CHAN_YUV_U), - (int)o->svs_buf_base + o->svs_buf_offset[0][1]); + (intptr_t)o->svs_buf_base + o->svs_buf_offset[0][1]); REG_WRITE(REG_DMA_BASE1(SAA_CHAN_YUV_U), - (int)o->svs_buf_base + o->svs_buf_offset[1][1]); + (intptr_t)o->svs_buf_base + o->svs_buf_offset[1][1]); REG_WRITE(REG_DMA_PITCH(SAA_CHAN_YUV_U), o->svs_buf_pitch[1]); REG_WRITE(REG_DMA_BASE0(SAA_CHAN_YUV_V), - (int)o->svs_buf_base + o->svs_buf_offset[0][2]); + (intptr_t)o->svs_buf_base + o->svs_buf_offset[0][2]); REG_WRITE(REG_DMA_BASE1(SAA_CHAN_YUV_V), - (int)o->svs_buf_base + o->svs_buf_offset[1][2]); + (intptr_t)o->svs_buf_base + o->svs_buf_offset[1][2]); REG_WRITE(REG_DMA_PITCH(SAA_CHAN_YUV_V), o->svs_buf_pitch[2]); @@ -749,9 +749,9 @@ & DMA_CTRL_PTA_MASK)); } else { REG_WRITE(REG_DMA_BASE0(t), - (int)o->svs_buf_base + o->svs_buf_offset[0][0]); + (intptr_t)o->svs_buf_base + o->svs_buf_offset[0][0]); REG_WRITE(REG_DMA_BASE1(t), - (int)o->svs_buf_base + o->svs_buf_offset[1][0]); + (intptr_t)o->svs_buf_base + o->svs_buf_offset[1][0]); REG_WRITE(REG_DMA_PITCH(t), o->svs_buf_pitch[0]); ctrl = (0x7 << DMA_CTRL_BURST_SHIFT) & DMA_CTRL_BURST_MASK; @@ -1308,9 +1308,9 @@ saa_load_cliplist(sc, &o->svs_clipmode, &o->svs_cliplist); REG_WRITE(REG_DMA_BASE0(t), - (int)o->svs_buf_base + o->svs_buf_offset[0][0]); + (intptr_t)o->svs_buf_base + o->svs_buf_offset[0][0]); REG_WRITE(REG_DMA_BASE1(t), - (int)o->svs_buf_base + o->svs_buf_offset[1][0]); + (intptr_t)o->svs_buf_base + o->svs_buf_offset[1][0]); REG_WRITE(REG_DMA_PITCH(t), o->svs_buf_pitch[0]); REG_WRITE(REG_DMA_CTRL(t), ((0x7 << DMA_CTRL_BURST_SHIFT) & DMA_CTRL_BURST_MASK) | @@ -1431,7 +1431,7 @@ * hence we dont't need svs_cap_bufsz[t] */ if (offset > (sc->sc_video_spec.svs_cap_bufsz - 4096)) { - device_printf(sc->sc_dev, "Invalid mmap offset %d, max: %d\n", + device_printf(sc->sc_dev, "Invalid mmap offset %td, max: %d\n", offset, (sc->sc_video_spec.svs_cap_bufsz - 4096)); return EINVAL; @@ -1467,31 +1467,31 @@ if (sc->sc_video_spec.svs_vfmt & VFMT_PLANAR) { REG_WRITE(REG_DMA_BASE0(SAA_CHAN_YUV_Y), - (int)o->svs_buf_base + o->svs_buf_offset[0][0] + + (intptr_t)o->svs_buf_base + o->svs_buf_offset[0][0] + offset); REG_WRITE(REG_DMA_BASE1(SAA_CHAN_YUV_Y), - (int)o->svs_buf_base + o->svs_buf_offset[1][0] + + (intptr_t)o->svs_buf_base + o->svs_buf_offset[1][0] + offset); REG_WRITE(REG_DMA_BASE0(SAA_CHAN_YUV_U), - (int)o->svs_buf_base + o->svs_buf_offset[0][1] + + (intptr_t)o->svs_buf_base + o->svs_buf_offset[0][1] + offset); REG_WRITE(REG_DMA_BASE1(SAA_CHAN_YUV_U), - (int)o->svs_buf_base + o->svs_buf_offset[1][1] + + (intptr_t)o->svs_buf_base + o->svs_buf_offset[1][1] + offset); REG_WRITE(REG_DMA_BASE0(SAA_CHAN_YUV_V), - (int)o->svs_buf_base + o->svs_buf_offset[0][2] + + (intptr_t)o->svs_buf_base + o->svs_buf_offset[0][2] + offset); REG_WRITE(REG_DMA_BASE1(SAA_CHAN_YUV_V), - (int)o->svs_buf_base + o->svs_buf_offset[1][2] + + (intptr_t)o->svs_buf_base + o->svs_buf_offset[1][2] + offset); } else { REG_WRITE(REG_DMA_BASE0(t), - (int)o->svs_buf_base + o->svs_buf_offset[0][0] + + (intptr_t)o->svs_buf_base + o->svs_buf_offset[0][0] + offset); REG_WRITE(REG_DMA_BASE1(t), - (int)o->svs_buf_base + o->svs_buf_offset[1][0] + + (intptr_t)o->svs_buf_base + o->svs_buf_offset[1][0] + offset); } }