Home
last modified time | relevance | path

Searched refs:rect (Results 1 – 25 of 157) sorted by relevance

1234567

/drivers/gpu/drm/tiny/
Dili9225.c78 static void ili9225_fb_dirty(struct drm_framebuffer *fb, struct drm_rect *rect) in ili9225_fb_dirty() argument
82 unsigned int height = rect->y2 - rect->y1; in ili9225_fb_dirty()
83 unsigned int width = rect->x2 - rect->x1; in ili9225_fb_dirty()
97 DRM_DEBUG_KMS("Flushing [FB:%d] " DRM_RECT_FMT "\n", fb->base.id, DRM_RECT_ARG(rect)); in ili9225_fb_dirty()
102 ret = mipi_dbi_buf_copy(dbidev->tx_buf, fb, rect, swap); in ili9225_fb_dirty()
111 x1 = rect->x1; in ili9225_fb_dirty()
112 x2 = rect->x2 - 1; in ili9225_fb_dirty()
113 y1 = rect->y1; in ili9225_fb_dirty()
114 y2 = rect->y2 - 1; in ili9225_fb_dirty()
119 x1 = rect->y1; in ili9225_fb_dirty()
[all …]
Dst7586.c109 static void st7586_fb_dirty(struct drm_framebuffer *fb, struct drm_rect *rect) in st7586_fb_dirty() argument
119 rect->x1 = rounddown(rect->x1, 3); in st7586_fb_dirty()
120 rect->x2 = roundup(rect->x2, 3); in st7586_fb_dirty()
122 DRM_DEBUG_KMS("Flushing [FB:%d] " DRM_RECT_FMT "\n", fb->base.id, DRM_RECT_ARG(rect)); in st7586_fb_dirty()
124 ret = st7586_buf_copy(dbidev->tx_buf, fb, rect); in st7586_fb_dirty()
129 start = rect->x1 / 3; in st7586_fb_dirty()
130 end = rect->x2 / 3; in st7586_fb_dirty()
136 (rect->y1 >> 8) & 0xFF, rect->y1 & 0xFF, in st7586_fb_dirty()
137 (rect->y2 >> 8) & 0xFF, (rect->y2 - 1) & 0xFF); in st7586_fb_dirty()
141 (end - start) * (rect->y2 - rect->y1)); in st7586_fb_dirty()
[all …]
Dgm12u320.c95 struct drm_rect rect; member
264 x1 = gm12u320->fb_update.rect.x1; in gm12u320_copy_fb_to_blocks()
265 x2 = gm12u320->fb_update.rect.x2; in gm12u320_copy_fb_to_blocks()
266 y1 = gm12u320->fb_update.rect.y1; in gm12u320_copy_fb_to_blocks()
267 y2 = gm12u320->fb_update.rect.y2; in gm12u320_copy_fb_to_blocks()
411 gm12u320->fb_update.rect = *dirty; in gm12u320_fb_mark_dirty()
415 struct drm_rect *rect = &gm12u320->fb_update.rect; in gm12u320_fb_mark_dirty() local
417 rect->x1 = min(rect->x1, dirty->x1); in gm12u320_fb_mark_dirty()
418 rect->y1 = min(rect->y1, dirty->y1); in gm12u320_fb_mark_dirty()
419 rect->x2 = max(rect->x2, dirty->x2); in gm12u320_fb_mark_dirty()
[all …]
/drivers/gpu/drm/
Ddrm_damage_helper.c266 struct drm_rect *rect) in drm_atomic_helper_damage_iter_next() argument
271 *rect = iter->plane_src; in drm_atomic_helper_damage_iter_next()
277 *rect = iter->clips[iter->curr_clip]; in drm_atomic_helper_damage_iter_next()
280 if (drm_rect_intersect(rect, &iter->plane_src)) { in drm_atomic_helper_damage_iter_next()
307 struct drm_rect *rect) in drm_atomic_helper_damage_merged() argument
313 rect->x1 = INT_MAX; in drm_atomic_helper_damage_merged()
314 rect->y1 = INT_MAX; in drm_atomic_helper_damage_merged()
315 rect->x2 = 0; in drm_atomic_helper_damage_merged()
316 rect->y2 = 0; in drm_atomic_helper_damage_merged()
320 rect->x1 = min(rect->x1, clip.x1); in drm_atomic_helper_damage_merged()
[all …]
/drivers/video/fbdev/sis/
Dsis_accel.c305 void fbcon_sis_fillrect(struct fb_info *info, const struct fb_fillrect *rect) in fbcon_sis_fillrect() argument
318 cfb_fillrect(info, rect); in fbcon_sis_fillrect()
322 if(!rect->width || !rect->height || rect->dx >= vxres || rect->dy >= vyres) in fbcon_sis_fillrect()
326 width = ((rect->dx + rect->width) > vxres) ? (vxres - rect->dx) : rect->width; in fbcon_sis_fillrect()
327 height = ((rect->dy + rect->height) > vyres) ? (vyres - rect->dy) : rect->height; in fbcon_sis_fillrect()
330 case 8: col = rect->color; in fbcon_sis_fillrect()
333 case 32: col = ((u32 *)(info->pseudo_palette))[rect->color]; in fbcon_sis_fillrect()
340 SiS300SetupForSolidFill(ivideo, col, myrops[rect->rop]); in fbcon_sis_fillrect()
341 SiS300SubsequentSolidFillRect(ivideo, rect->dx, rect->dy, width, height); in fbcon_sis_fillrect()
347 SiS310SetupForSolidFill(ivideo, col, myrops[rect->rop]); in fbcon_sis_fillrect()
[all …]
/drivers/gpu/drm/gud/
Dgud_pipe.c56 struct drm_rect *rect) in gud_xrgb8888_to_r124() argument
68 rect->x1 = ALIGN_DOWN(rect->x1, block_width); in gud_xrgb8888_to_r124()
69 width = drm_rect_width(rect); in gud_xrgb8888_to_r124()
70 height = drm_rect_height(rect); in gud_xrgb8888_to_r124()
77 drm_fb_xrgb8888_to_gray8(buf, src, fb, rect); in gud_xrgb8888_to_r124()
102 struct drm_rect *rect) in gud_xrgb8888_to_color() argument
112 rect->x1 = ALIGN_DOWN(rect->x1, block_width); in gud_xrgb8888_to_color()
113 width = drm_rect_width(rect); in gud_xrgb8888_to_color()
114 len = drm_format_info_min_pitch(format, 0, width) * drm_rect_height(rect); in gud_xrgb8888_to_color()
116 for (y = rect->y1; y < rect->y2; y++) { in gud_xrgb8888_to_color()
[all …]
/drivers/media/platform/qcom/camss/
Dcamss-vfe.c865 struct v4l2_rect *rect; in vfe_try_format() local
867 rect = __vfe_get_crop(line, sd_state, which); in vfe_try_format()
869 fmt->width = rect->width; in vfe_try_format()
870 fmt->height = rect->height; in vfe_try_format()
888 struct v4l2_rect *rect, in vfe_try_compose() argument
895 if (rect->width > fmt->width) in vfe_try_compose()
896 rect->width = fmt->width; in vfe_try_compose()
898 if (rect->height > fmt->height) in vfe_try_compose()
899 rect->height = fmt->height; in vfe_try_compose()
901 if (fmt->width > rect->width * SCALER_RATIO_MAX) in vfe_try_compose()
[all …]
/drivers/gpu/drm/exynos/
Dexynos_drm_ipp.c269 task->src.rect.w = task->dst.rect.w = UINT_MAX; in exynos_drm_ipp_task_alloc()
270 task->src.rect.h = task->dst.rect.h = UINT_MAX; in exynos_drm_ipp_task_alloc()
295 offsetof(struct exynos_drm_ipp_task, src.rect),
300 offsetof(struct exynos_drm_ipp_task, dst.rect),
496 if (!__size_limit_check(buf->rect.w, lh) || in exynos_drm_ipp_check_size_limits()
497 !__align_check(buf->rect.x, lh->align) || in exynos_drm_ipp_check_size_limits()
498 !__size_limit_check(buf->rect.h, lv) || in exynos_drm_ipp_check_size_limits()
499 !__align_check(buf->rect.y, lv->align)) in exynos_drm_ipp_check_size_limits()
595 ret = exynos_drm_ipp_check_scale_limits(&src->rect, &dst->rect, in exynos_drm_ipp_check_format()
613 if (src->rect.w == UINT_MAX) in exynos_drm_ipp_task_check()
[all …]
Dexynos_drm_fimc.c474 h1 = buf->rect.x; in fimc_set_window()
475 h2 = real_width - buf->rect.w - buf->rect.x; in fimc_set_window()
476 v1 = buf->rect.y; in fimc_set_window()
477 v2 = buf->buf.height - buf->rect.h - buf->rect.y; in fimc_set_window()
480 buf->rect.x, buf->rect.y, buf->rect.w, buf->rect.h, in fimc_set_window()
517 DRM_DEV_DEBUG_KMS(ctx->dev, "x[%d]y[%d]w[%d]h[%d]\n", buf->rect.x, in fimc_src_set_size()
518 buf->rect.y, buf->rect.w, buf->rect.h); in fimc_src_set_size()
524 cfg |= (EXYNOS_CIREAL_ISIZE_WIDTH(buf->rect.w) | in fimc_src_set_size()
525 EXYNOS_CIREAL_ISIZE_HEIGHT(buf->rect.h)); in fimc_src_set_size()
538 cfg = (EXYNOS_CIIYOFF_HORIZONTAL(buf->rect.x) | in fimc_src_set_size()
[all …]
/drivers/media/i2c/
Dmt9m111.c234 struct v4l2_rect rect; /* cropping rectangle */ member
384 struct mt9m111_context *ctx, struct v4l2_rect *rect, in mt9m111_setup_rect_ctx() argument
388 int ret = mt9m111_reg_write(client, ctx->reducer_xzoom, rect->width); in mt9m111_setup_rect_ctx()
390 ret = mt9m111_reg_write(client, ctx->reducer_yzoom, rect->height); in mt9m111_setup_rect_ctx()
398 static int mt9m111_setup_geometry(struct mt9m111 *mt9m111, struct v4l2_rect *rect, in mt9m111_setup_geometry() argument
404 ret = reg_write(COLUMN_START, rect->left); in mt9m111_setup_geometry()
406 ret = reg_write(ROW_START, rect->top); in mt9m111_setup_geometry()
409 ret = reg_write(WINDOW_WIDTH, rect->width); in mt9m111_setup_geometry()
411 ret = reg_write(WINDOW_HEIGHT, rect->height); in mt9m111_setup_geometry()
417 rect, width, height); in mt9m111_setup_geometry()
[all …]
Dmt9m001.c98 struct v4l2_rect rect; /* Sensor window */ member
198 { MT9M001_COLUMN_START, mt9m001->rect.left }, in mt9m001_apply_selection()
199 { MT9M001_ROW_START, mt9m001->rect.top }, in mt9m001_apply_selection()
200 { MT9M001_WINDOW_WIDTH, mt9m001->rect.width - 1 }, in mt9m001_apply_selection()
202 mt9m001->rect.height + mt9m001->y_skip_top - 1 }, in mt9m001_apply_selection()
262 struct v4l2_rect rect = sel->r; in mt9m001_set_selection() local
273 rect.height = ALIGN(rect.height, 2); in mt9m001_set_selection()
276 rect.width = ALIGN(rect.width, 2); in mt9m001_set_selection()
277 rect.left = ALIGN(rect.left, 2); in mt9m001_set_selection()
279 rect.width = clamp_t(u32, rect.width, MT9M001_MIN_WIDTH, in mt9m001_set_selection()
[all …]
Dov6650.c199 struct v4l2_rect rect; /* sensor cropping window */ member
475 struct v4l2_rect *rect; in ov6650_get_selection() local
479 rect = &sd_state->pads->try_crop; in ov6650_get_selection()
483 rect = &priv->rect; in ov6650_get_selection()
496 sel->r = *rect; in ov6650_get_selection()
504 static bool is_unscaled_ok(int width, int height, struct v4l2_rect *rect) in is_unscaled_ok() argument
506 return width > rect->width >> 1 || height > rect->height >> 1; in is_unscaled_ok()
509 static void ov6650_bind_align_crop_rectangle(struct v4l2_rect *rect) in ov6650_bind_align_crop_rectangle() argument
511 v4l_bound_align_image(&rect->width, 2, W_CIF, 1, in ov6650_bind_align_crop_rectangle()
512 &rect->height, 2, H_CIF, 1, 0); in ov6650_bind_align_crop_rectangle()
[all …]
Dtvp5150.c80 struct v4l2_rect rect; member
820 decoder->rect.height = TVP5150_V_MAX_525_60; in tvp5150_s_std()
822 decoder->rect.height = TVP5150_V_MAX_OTHERS; in tvp5150_s_std()
1035 return &decoder->rect; in tvp5150_get_pad_crop()
1059 f->width = decoder->rect.width; in tvp5150_fill_fmt()
1060 f->height = decoder->rect.height / 2; in tvp5150_fill_fmt()
1087 struct v4l2_rect *rect) in tvp5150_set_hw_selection() argument
1092 regmap_write(decoder->regmap, TVP5150_VERT_BLANKING_START, rect->top); in tvp5150_set_hw_selection()
1094 rect->top + rect->height - hmax); in tvp5150_set_hw_selection()
1096 rect->left >> TVP5150_CROP_SHIFT); in tvp5150_set_hw_selection()
[all …]
Dmt9m032.c438 struct v4l2_rect rect; in mt9m032_set_pad_selection() local
454 rect.left = clamp(ALIGN(sel->r.left, 2), MT9M032_COLUMN_START_MIN, in mt9m032_set_pad_selection()
456 rect.top = clamp(ALIGN(sel->r.top, 2), MT9M032_ROW_START_MIN, in mt9m032_set_pad_selection()
458 rect.width = clamp_t(unsigned int, ALIGN(sel->r.width, 2), in mt9m032_set_pad_selection()
460 rect.height = clamp_t(unsigned int, ALIGN(sel->r.height, 2), in mt9m032_set_pad_selection()
463 rect.width = min_t(unsigned int, rect.width, in mt9m032_set_pad_selection()
464 MT9M032_PIXEL_ARRAY_WIDTH - rect.left); in mt9m032_set_pad_selection()
465 rect.height = min_t(unsigned int, rect.height, in mt9m032_set_pad_selection()
466 MT9M032_PIXEL_ARRAY_HEIGHT - rect.top); in mt9m032_set_pad_selection()
470 if (rect.width != __crop->width || rect.height != __crop->height) { in mt9m032_set_pad_selection()
[all …]
/drivers/gpu/ipu-v3/
Dipu-cpmem.c774 ipu_cpmem_set_resolution(ch, image->rect.width, image->rect.height); in ipu_cpmem_set_image()
781 offset = Y_OFFSET(pix, image->rect.left, image->rect.top); in ipu_cpmem_set_image()
783 image->u_offset : U_OFFSET(pix, image->rect.left, in ipu_cpmem_set_image()
784 image->rect.top) - offset; in ipu_cpmem_set_image()
786 image->v_offset : V_OFFSET(pix, image->rect.left, in ipu_cpmem_set_image()
787 image->rect.top) - offset; in ipu_cpmem_set_image()
793 offset = Y_OFFSET(pix, image->rect.left, image->rect.top); in ipu_cpmem_set_image()
795 image->u_offset : V_OFFSET(pix, image->rect.left, in ipu_cpmem_set_image()
796 image->rect.top) - offset; in ipu_cpmem_set_image()
798 image->v_offset : U_OFFSET(pix, image->rect.left, in ipu_cpmem_set_image()
[all …]
/drivers/video/fbdev/savage/
Dsavagefb_accel.c65 void savagefb_fillrect(struct fb_info *info, const struct fb_fillrect *rect) in savagefb_fillrect() argument
70 if (!rect->width || !rect->height) in savagefb_fillrect()
74 color = rect->color; in savagefb_fillrect()
76 color = ((u32 *)info->pseudo_palette)[rect->color]; in savagefb_fillrect()
83 BCI_CMD_SET_ROP(cmd, savagefb_rop[rect->rop]); in savagefb_fillrect()
88 BCI_SEND( BCI_X_Y(rect->dx, rect->dy) ); in savagefb_fillrect()
89 BCI_SEND( BCI_W_H(rect->width, rect->height) ); in savagefb_fillrect()
/drivers/video/fbdev/mb862xx/
Dmb862xxfb_accel.c251 const struct fb_fillrect *rect) in mb86290fb_fillrect() argument
260 if (!rect->width || !rect->height || rect->dx > vxres in mb86290fb_fillrect()
261 || rect->dy > vyres) in mb86290fb_fillrect()
266 x2 = rect->dx + rect->width; in mb86290fb_fillrect()
267 y2 = rect->dy + rect->height; in mb86290fb_fillrect()
270 width = x2 - rect->dx; in mb86290fb_fillrect()
271 height = y2 - rect->dy; in mb86290fb_fillrect()
274 fg = ((u32 *) (info->pseudo_palette))[rect->color]; in mb86290fb_fillrect()
276 fg = rect->color; in mb86290fb_fillrect()
278 switch (rect->rop) { in mb86290fb_fillrect()
[all …]
/drivers/video/fbdev/core/
Dtileblit.c37 struct fb_tilerect rect; in tile_clear() local
41 rect.index = vc->vc_video_erase_char & in tile_clear()
43 rect.fg = attr_fgcol_ec(fgshift, vc, info); in tile_clear()
44 rect.bg = attr_bgcol_ec(bgshift, vc, info); in tile_clear()
45 rect.sx = sx; in tile_clear()
46 rect.sy = sy; in tile_clear()
47 rect.width = width; in tile_clear()
48 rect.height = height; in tile_clear()
49 rect.rop = ROP_COPY; in tile_clear()
51 info->tileops->fb_tilefill(info, &rect); in tile_clear()
/drivers/media/platform/
Dsh_vou.c81 struct v4l2_rect rect; member
423 struct v4l2_rect *rect = &vou_dev->rect; in sh_vou_configure_geometry() local
436 frame_out_height = rect->height / 2; in sh_vou_configure_geometry()
437 frame_out_top = rect->top / 2; in sh_vou_configure_geometry()
461 dsr_h = rect->width + rect->left; in sh_vou_configure_geometry()
467 rect->left, frame_out_top, dsr_h, dsr_v); in sh_vou_configure_geometry()
472 sh_vou_reg_ab_write(vou_dev, VOUDPR, (rect->left << 16) | frame_out_top); in sh_vou_configure_geometry()
712 geo.output = vou_dev->rect; in sh_vou_set_fmt_vid_out()
747 vou_dev->rect = geo.output; in sh_vou_set_fmt_vid_out()
834 vou_dev->rect.top = vou_dev->rect.left = 0; in sh_vou_s_std()
[all …]
/drivers/gpu/drm/virtio/
Dvirtgpu_plane.c157 struct drm_rect *rect) in virtio_gpu_update_dumb_bo() argument
162 uint32_t w = rect->x2 - rect->x1; in virtio_gpu_update_dumb_bo()
163 uint32_t h = rect->y2 - rect->y1; in virtio_gpu_update_dumb_bo()
164 uint32_t x = rect->x1; in virtio_gpu_update_dumb_bo()
165 uint32_t y = rect->y1; in virtio_gpu_update_dumb_bo()
221 struct drm_rect rect; in virtio_gpu_primary_plane_update() local
240 if (!drm_atomic_helper_damage_merged(old_state, plane->state, &rect)) in virtio_gpu_primary_plane_update()
245 virtio_gpu_update_dumb_bo(vgdev, plane->state, &rect); in virtio_gpu_primary_plane_update()
282 rect.x1, in virtio_gpu_primary_plane_update()
283 rect.y1, in virtio_gpu_primary_plane_update()
[all …]
/drivers/gpu/drm/nouveau/
Dnvc0_fbcon.c35 nvc0_fbcon_fillrect(struct fb_info *info, const struct fb_fillrect *rect) in nvc0_fbcon_fillrect() argument
46 colour = ((uint32_t *)info->pseudo_palette)[rect->color]; in nvc0_fbcon_fillrect()
48 colour = rect->color; in nvc0_fbcon_fillrect()
50 ret = PUSH_WAIT(push, rect->rop == ROP_COPY ? 7 : 9); in nvc0_fbcon_fillrect()
54 if (rect->rop != ROP_COPY) { in nvc0_fbcon_fillrect()
61 PUSH_MTHD(push, NV902D, RENDER_SOLID_PRIM_POINT_SET_X(0), rect->dx, in nvc0_fbcon_fillrect()
62 RENDER_SOLID_PRIM_POINT_Y(0), rect->dy, in nvc0_fbcon_fillrect()
63 RENDER_SOLID_PRIM_POINT_SET_X(1), rect->dx + rect->width, in nvc0_fbcon_fillrect()
64 RENDER_SOLID_PRIM_POINT_Y(1), rect->dy + rect->height); in nvc0_fbcon_fillrect()
66 if (rect->rop != ROP_COPY) { in nvc0_fbcon_fillrect()
Dnv50_fbcon.c35 nv50_fbcon_fillrect(struct fb_info *info, const struct fb_fillrect *rect) in nv50_fbcon_fillrect() argument
46 colour = ((uint32_t *)info->pseudo_palette)[rect->color]; in nv50_fbcon_fillrect()
48 colour = rect->color; in nv50_fbcon_fillrect()
50 ret = PUSH_WAIT(push, rect->rop == ROP_COPY ? 7 : 11); in nv50_fbcon_fillrect()
54 if (rect->rop != ROP_COPY) { in nv50_fbcon_fillrect()
61 PUSH_MTHD(push, NV502D, RENDER_SOLID_PRIM_POINT_SET_X(0), rect->dx, in nv50_fbcon_fillrect()
62 RENDER_SOLID_PRIM_POINT_Y(0), rect->dy, in nv50_fbcon_fillrect()
63 RENDER_SOLID_PRIM_POINT_SET_X(1), rect->dx + rect->width, in nv50_fbcon_fillrect()
64 RENDER_SOLID_PRIM_POINT_Y(1), rect->dy + rect->height); in nv50_fbcon_fillrect()
66 if (rect->rop != ROP_COPY) { in nv50_fbcon_fillrect()
/drivers/video/fbdev/
Dwmt_ge_rops.c42 void wmt_ge_fillrect(struct fb_info *p, const struct fb_fillrect *rect) in wmt_ge_fillrect() argument
51 fg = ((u32 *) (p->pseudo_palette))[rect->color]; in wmt_ge_fillrect()
53 fg = rect->color; in wmt_ge_fillrect()
66 writel(rect->dx, regbase + GE_DESTAREAX_OFF); in wmt_ge_fillrect()
67 writel(rect->dy, regbase + GE_DESTAREAY_OFF); in wmt_ge_fillrect()
68 writel(rect->width - 1, regbase + GE_DESTAREAW_OFF); in wmt_ge_fillrect()
69 writel(rect->height - 1, regbase + GE_DESTAREAH_OFF); in wmt_ge_fillrect()
73 writel(rect->rop == ROP_XOR ? 0x5a : 0xf0, regbase + GE_ROPCODE_OFF); in wmt_ge_fillrect()
Dhitfb.c124 static void hitfb_fillrect(struct fb_info *p, const struct fb_fillrect *rect) in hitfb_fillrect() argument
126 if (rect->rop != ROP_COPY) in hitfb_fillrect()
127 cfb_fillrect(p, rect); in hitfb_fillrect()
134 fb_writew(((u32 *) (p->pseudo_palette))[rect->color], in hitfb_fillrect()
136 hitfb_accel_set_dest(1, rect->dx, rect->dy, rect->width, in hitfb_fillrect()
137 rect->height); in hitfb_fillrect()
140 fb_writew(rect->color, HD64461_GRSCR); in hitfb_fillrect()
141 hitfb_accel_set_dest(0, rect->dx, rect->dy, rect->width, in hitfb_fillrect()
142 rect->height); in hitfb_fillrect()
/drivers/video/fbdev/matrox/
Dmatroxfb_accel.c106 static void matroxfb_fillrect(struct fb_info* info, const struct fb_fillrect* rect);
108 static void matroxfb_cfb4_fillrect(struct fb_info* info, const struct fb_fillrect* rect);
327 static void matroxfb_fillrect(struct fb_info* info, const struct fb_fillrect* rect) { in matroxfb_fillrect() argument
330 switch (rect->rop) { in matroxfb_fillrect()
332 …_clear(minfo, ((u_int32_t *)info->pseudo_palette)[rect->color], rect->dy, rect->dx, rect->height, in matroxfb_fillrect()
395 static void matroxfb_cfb4_fillrect(struct fb_info* info, const struct fb_fillrect* rect) { in matroxfb_cfb4_fillrect() argument
398 switch (rect->rop) { in matroxfb_cfb4_fillrect()
400 …_clear(minfo, ((u_int32_t *)info->pseudo_palette)[rect->color], rect->dy, rect->dx, rect->height, in matroxfb_cfb4_fillrect()

1234567