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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
This commit is contained in:
parent
1bbb275e26
commit
1a75ef422d
|
@ -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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue