Commit 1a75ef42 authored by Tomi Valkeinen's avatar Tomi Valkeinen

OMAP: DSS2: move run_test()

Move run_test() from omap_dss_device to omap_dss_driver.

This is part of a larger patch-set, which moves the control from omapdss
driver to the display driver.
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@nokia.com>
parent 1bbb275e
...@@ -495,7 +495,6 @@ struct omap_dss_device { ...@@ -495,7 +495,6 @@ struct omap_dss_device {
bool (*get_mirror)(struct omap_dss_device *dssdev); bool (*get_mirror)(struct omap_dss_device *dssdev);
int (*set_mirror)(struct omap_dss_device *dssdev, bool enable); int (*set_mirror)(struct omap_dss_device *dssdev, bool enable);
int (*run_test)(struct omap_dss_device *dssdev, int test);
int (*memory_read)(struct omap_dss_device *dssdev, int (*memory_read)(struct omap_dss_device *dssdev,
void *buf, size_t size, void *buf, size_t size,
u16 x, u16 y, u16 w, u16 h); u16 x, u16 y, u16 w, u16 h);
......
...@@ -820,17 +820,23 @@ static int taal_run_test(struct omap_dss_device *dssdev, int test_num) ...@@ -820,17 +820,23 @@ static int taal_run_test(struct omap_dss_device *dssdev, int test_num)
u8 id1, id2, id3; u8 id1, id2, id3;
int r; int r;
dsi_bus_lock();
r = taal_dcs_read_1(DCS_GET_ID1, &id1); r = taal_dcs_read_1(DCS_GET_ID1, &id1);
if (r) if (r)
return r; goto err;
r = taal_dcs_read_1(DCS_GET_ID2, &id2); r = taal_dcs_read_1(DCS_GET_ID2, &id2);
if (r) if (r)
return r; goto err;
r = taal_dcs_read_1(DCS_GET_ID3, &id3); r = taal_dcs_read_1(DCS_GET_ID3, &id3);
if (r) if (r)
return r; goto err;
dsi_bus_unlock();
return 0; return 0;
err:
dsi_bus_unlock();
return r;
} }
static int taal_memory_read(struct omap_dss_device *dssdev, static int taal_memory_read(struct omap_dss_device *dssdev,
......
...@@ -3584,43 +3584,6 @@ static bool dsi_display_get_mirror(struct omap_dss_device *dssdev) ...@@ -3584,43 +3584,6 @@ static bool dsi_display_get_mirror(struct omap_dss_device *dssdev)
return dssdev->driver->get_mirror(dssdev); return dssdev->driver->get_mirror(dssdev);
} }
static int dsi_display_run_test(struct omap_dss_device *dssdev, int test_num)
{
int r;
if (dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
return -EIO;
DSSDBGF("%d", test_num);
dsi_bus_lock();
/* run test first in low speed mode */
omapdss_dsi_vc_enable_hs(0, 0);
if (dssdev->driver->run_test) {
r = dssdev->driver->run_test(dssdev, test_num);
if (r)
goto end;
}
/* then in high speed */
omapdss_dsi_vc_enable_hs(0, 1);
if (dssdev->driver->run_test) {
r = dssdev->driver->run_test(dssdev, test_num);
if (r)
goto end;
}
end:
omapdss_dsi_vc_enable_hs(0, 1);
dsi_bus_unlock();
return r;
}
static int dsi_display_memory_read(struct omap_dss_device *dssdev, static int dsi_display_memory_read(struct omap_dss_device *dssdev,
void *buf, size_t size, void *buf, size_t size,
u16 x, u16 y, u16 w, u16 h) u16 x, u16 y, u16 w, u16 h)
...@@ -3683,7 +3646,6 @@ int dsi_init_display(struct omap_dss_device *dssdev) ...@@ -3683,7 +3646,6 @@ int dsi_init_display(struct omap_dss_device *dssdev)
dssdev->get_mirror = dsi_display_get_mirror; dssdev->get_mirror = dsi_display_get_mirror;
dssdev->set_mirror = dsi_display_set_mirror; dssdev->set_mirror = dsi_display_set_mirror;
dssdev->run_test = dsi_display_run_test;
dssdev->memory_read = dsi_display_memory_read; dssdev->memory_read = dsi_display_memory_read;
/* XXX these should be figured out dynamically */ /* XXX these should be figured out dynamically */
......
...@@ -670,12 +670,12 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg) ...@@ -670,12 +670,12 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
r = -EFAULT; r = -EFAULT;
break; break;
} }
if (!display || !display->run_test) { if (!display || !display->driver->run_test) {
r = -EINVAL; r = -EINVAL;
break; break;
} }
r = display->run_test(display, p.test_num); r = display->driver->run_test(display, p.test_num);
break; break;
...@@ -685,12 +685,12 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg) ...@@ -685,12 +685,12 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
r = -EFAULT; r = -EFAULT;
break; break;
} }
if (!display || !display->run_test) { if (!display || !display->driver->run_test) {
r = -EINVAL; r = -EINVAL;
break; break;
} }
r = display->run_test(display, p.test_num); r = display->driver->run_test(display, p.test_num);
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment