|
@@ -304,13 +304,23 @@ static void rfbi_transfer_area(struct omap_dss_device *dssdev, u16 width,
|
|
|
u16 height, void (*callback)(void *data), void *data)
|
|
|
{
|
|
|
u32 l;
|
|
|
+ struct omap_video_timings timings = {
|
|
|
+ .hsw = 1,
|
|
|
+ .hfp = 1,
|
|
|
+ .hbp = 1,
|
|
|
+ .vsw = 1,
|
|
|
+ .vfp = 0,
|
|
|
+ .vbp = 0,
|
|
|
+ .x_res = width,
|
|
|
+ .y_res = height,
|
|
|
+ };
|
|
|
|
|
|
/*BUG_ON(callback == 0);*/
|
|
|
BUG_ON(rfbi.framedone_callback != NULL);
|
|
|
|
|
|
DSSDBG("rfbi_transfer_area %dx%d\n", width, height);
|
|
|
|
|
|
- dispc_mgr_set_lcd_size(dssdev->manager->id, width, height);
|
|
|
+ dispc_mgr_set_lcd_timings(dssdev->manager->id, &timings);
|
|
|
|
|
|
dispc_mgr_enable(dssdev->manager->id, true);
|
|
|
|
|
@@ -766,6 +776,16 @@ int omap_rfbi_prepare_update(struct omap_dss_device *dssdev,
|
|
|
u16 *x, u16 *y, u16 *w, u16 *h)
|
|
|
{
|
|
|
u16 dw, dh;
|
|
|
+ struct omap_video_timings timings = {
|
|
|
+ .hsw = 1,
|
|
|
+ .hfp = 1,
|
|
|
+ .hbp = 1,
|
|
|
+ .vsw = 1,
|
|
|
+ .vfp = 0,
|
|
|
+ .vbp = 0,
|
|
|
+ .x_res = *w,
|
|
|
+ .y_res = *h,
|
|
|
+ };
|
|
|
|
|
|
dssdev->driver->get_resolution(dssdev, &dw, &dh);
|
|
|
|
|
@@ -784,7 +804,7 @@ int omap_rfbi_prepare_update(struct omap_dss_device *dssdev,
|
|
|
if (*w == 0 || *h == 0)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- dispc_mgr_set_lcd_size(dssdev->manager->id, *w, *h);
|
|
|
+ dispc_mgr_set_lcd_timings(dssdev->manager->id, &timings);
|
|
|
|
|
|
return 0;
|
|
|
}
|