Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -495,7 +495,6 @@ struct omap_dss_device {
	bool (*get_mirror)(struct omap_dss_device *dssdev);
	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,
			void *buf, size_t size,
			u16 x, u16 y, u16 w, u16 h);
+9 −3
Original line number Diff line number Diff line
@@ -820,17 +820,23 @@ static int taal_run_test(struct omap_dss_device *dssdev, int test_num)
	u8 id1, id2, id3;
	int r;

	dsi_bus_lock();

	r = taal_dcs_read_1(DCS_GET_ID1, &id1);
	if (r)
		return r;
		goto err;
	r = taal_dcs_read_1(DCS_GET_ID2, &id2);
	if (r)
		return r;
		goto err;
	r = taal_dcs_read_1(DCS_GET_ID3, &id3);
	if (r)
		return r;
		goto err;

	dsi_bus_unlock();
	return 0;
err:
	dsi_bus_unlock();
	return r;
}

static int taal_memory_read(struct omap_dss_device *dssdev,
+0 −38
Original line number Diff line number Diff line
@@ -3584,43 +3584,6 @@ static bool dsi_display_get_mirror(struct omap_dss_device *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,
		void *buf, size_t size,
		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->set_mirror = dsi_display_set_mirror;

	dssdev->run_test = dsi_display_run_test;
	dssdev->memory_read = dsi_display_memory_read;

	/* XXX these should be figured out dynamically */
+4 −4
Original line number Diff line number Diff line
@@ -670,12 +670,12 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
			r = -EFAULT;
			break;
		}
		if (!display || !display->run_test) {
		if (!display || !display->driver->run_test) {
			r = -EINVAL;
			break;
		}

		r = display->run_test(display, p.test_num);
		r = display->driver->run_test(display, p.test_num);

		break;

@@ -685,12 +685,12 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
			r = -EFAULT;
			break;
		}
		if (!display || !display->run_test) {
		if (!display || !display->driver->run_test) {
			r = -EINVAL;
			break;
		}

		r = display->run_test(display, p.test_num);
		r = display->driver->run_test(display, p.test_num);

		break;