diff options
| author | Tomi Valkeinen <tomi.valkeinen@nokia.com> | 2010-01-08 09:21:28 -0500 |
|---|---|---|
| committer | Tomi Valkeinen <tomi.valkeinen@nokia.com> | 2010-02-24 07:31:26 -0500 |
| commit | 1a75ef422d0d1319bc0fab66b0bf339069519d8c (patch) | |
| tree | b79c0ec7e84912c87d92e6a6aef0cfeb800d1270 | |
| parent | 1bbb275e261eb204795d4a48b3e485f2ad3d627c (diff) | |
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>
| -rw-r--r-- | arch/arm/plat-omap/include/plat/display.h | 1 | ||||
| -rw-r--r-- | drivers/video/omap2/displays/panel-taal.c | 12 | ||||
| -rw-r--r-- | drivers/video/omap2/dss/dsi.c | 38 | ||||
| -rw-r--r-- | drivers/video/omap2/omapfb/omapfb-ioctl.c | 8 |
4 files changed, 13 insertions, 46 deletions
diff --git a/arch/arm/plat-omap/include/plat/display.h b/arch/arm/plat-omap/include/plat/display.h index 0022f6c878c1..fa27d6895b49 100644 --- a/arch/arm/plat-omap/include/plat/display.h +++ b/arch/arm/plat-omap/include/plat/display.h | |||
| @@ -495,7 +495,6 @@ struct omap_dss_device { | |||
| 495 | bool (*get_mirror)(struct omap_dss_device *dssdev); | 495 | bool (*get_mirror)(struct omap_dss_device *dssdev); |
| 496 | int (*set_mirror)(struct omap_dss_device *dssdev, bool enable); | 496 | int (*set_mirror)(struct omap_dss_device *dssdev, bool enable); |
| 497 | 497 | ||
| 498 | int (*run_test)(struct omap_dss_device *dssdev, int test); | ||
| 499 | int (*memory_read)(struct omap_dss_device *dssdev, | 498 | int (*memory_read)(struct omap_dss_device *dssdev, |
| 500 | void *buf, size_t size, | 499 | void *buf, size_t size, |
| 501 | u16 x, u16 y, u16 w, u16 h); | 500 | u16 x, u16 y, u16 w, u16 h); |
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c index 0aaaa8a8e0f5..e6d0954f459f 100644 --- a/drivers/video/omap2/displays/panel-taal.c +++ b/drivers/video/omap2/displays/panel-taal.c | |||
| @@ -820,17 +820,23 @@ static int taal_run_test(struct omap_dss_device *dssdev, int test_num) | |||
| 820 | u8 id1, id2, id3; | 820 | u8 id1, id2, id3; |
| 821 | int r; | 821 | int r; |
| 822 | 822 | ||
| 823 | dsi_bus_lock(); | ||
| 824 | |||
| 823 | r = taal_dcs_read_1(DCS_GET_ID1, &id1); | 825 | r = taal_dcs_read_1(DCS_GET_ID1, &id1); |
| 824 | if (r) | 826 | if (r) |
| 825 | return r; | 827 | goto err; |
| 826 | r = taal_dcs_read_1(DCS_GET_ID2, &id2); | 828 | r = taal_dcs_read_1(DCS_GET_ID2, &id2); |
| 827 | if (r) | 829 | if (r) |
| 828 | return r; | 830 | goto err; |
| 829 | r = taal_dcs_read_1(DCS_GET_ID3, &id3); | 831 | r = taal_dcs_read_1(DCS_GET_ID3, &id3); |
| 830 | if (r) | 832 | if (r) |
| 831 | return r; | 833 | goto err; |
| 832 | 834 | ||
| 835 | dsi_bus_unlock(); | ||
| 833 | return 0; | 836 | return 0; |
| 837 | err: | ||
| 838 | dsi_bus_unlock(); | ||
| 839 | return r; | ||
| 834 | } | 840 | } |
| 835 | 841 | ||
| 836 | static int taal_memory_read(struct omap_dss_device *dssdev, | 842 | static int taal_memory_read(struct omap_dss_device *dssdev, |
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c index 65c062f2862c..f01c9ca0fa5f 100644 --- a/drivers/video/omap2/dss/dsi.c +++ b/drivers/video/omap2/dss/dsi.c | |||
| @@ -3584,43 +3584,6 @@ static bool dsi_display_get_mirror(struct omap_dss_device *dssdev) | |||
| 3584 | return dssdev->driver->get_mirror(dssdev); | 3584 | return dssdev->driver->get_mirror(dssdev); |
| 3585 | } | 3585 | } |
| 3586 | 3586 | ||
| 3587 | static int dsi_display_run_test(struct omap_dss_device *dssdev, int test_num) | ||
| 3588 | { | ||
| 3589 | int r; | ||
| 3590 | |||
| 3591 | if (dssdev->state != OMAP_DSS_DISPLAY_ACTIVE) | ||
| 3592 | return -EIO; | ||
| 3593 | |||
| 3594 | DSSDBGF("%d", test_num); | ||
| 3595 | |||
| 3596 | dsi_bus_lock(); | ||
| 3597 | |||
| 3598 | /* run test first in low speed mode */ | ||
| 3599 | omapdss_dsi_vc_enable_hs(0, 0); | ||
| 3600 | |||
| 3601 | if (dssdev->driver->run_test) { | ||
| 3602 | r = dssdev->driver->run_test(dssdev, test_num); | ||
| 3603 | if (r) | ||
| 3604 | goto end; | ||
| 3605 | } | ||
| 3606 | |||
| 3607 | /* then in high speed */ | ||
| 3608 | omapdss_dsi_vc_enable_hs(0, 1); | ||
| 3609 | |||
| 3610 | if (dssdev->driver->run_test) { | ||
| 3611 | r = dssdev->driver->run_test(dssdev, test_num); | ||
| 3612 | if (r) | ||
| 3613 | goto end; | ||
| 3614 | } | ||
| 3615 | |||
| 3616 | end: | ||
| 3617 | omapdss_dsi_vc_enable_hs(0, 1); | ||
| 3618 | |||
| 3619 | dsi_bus_unlock(); | ||
| 3620 | |||
| 3621 | return r; | ||
| 3622 | } | ||
| 3623 | |||
| 3624 | static int dsi_display_memory_read(struct omap_dss_device *dssdev, | 3587 | static int dsi_display_memory_read(struct omap_dss_device *dssdev, |
| 3625 | void *buf, size_t size, | 3588 | void *buf, size_t size, |
| 3626 | u16 x, u16 y, u16 w, u16 h) | 3589 | u16 x, u16 y, u16 w, u16 h) |
| @@ -3683,7 +3646,6 @@ int dsi_init_display(struct omap_dss_device *dssdev) | |||
| 3683 | dssdev->get_mirror = dsi_display_get_mirror; | 3646 | dssdev->get_mirror = dsi_display_get_mirror; |
| 3684 | dssdev->set_mirror = dsi_display_set_mirror; | 3647 | dssdev->set_mirror = dsi_display_set_mirror; |
| 3685 | 3648 | ||
| 3686 | dssdev->run_test = dsi_display_run_test; | ||
| 3687 | dssdev->memory_read = dsi_display_memory_read; | 3649 | dssdev->memory_read = dsi_display_memory_read; |
| 3688 | 3650 | ||
| 3689 | /* XXX these should be figured out dynamically */ | 3651 | /* XXX these should be figured out dynamically */ |
diff --git a/drivers/video/omap2/omapfb/omapfb-ioctl.c b/drivers/video/omap2/omapfb/omapfb-ioctl.c index 33fc1459a7c9..6dc9b5c587a5 100644 --- a/drivers/video/omap2/omapfb/omapfb-ioctl.c +++ b/drivers/video/omap2/omapfb/omapfb-ioctl.c | |||
| @@ -670,12 +670,12 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg) | |||
| 670 | r = -EFAULT; | 670 | r = -EFAULT; |
| 671 | break; | 671 | break; |
| 672 | } | 672 | } |
| 673 | if (!display || !display->run_test) { | 673 | if (!display || !display->driver->run_test) { |
| 674 | r = -EINVAL; | 674 | r = -EINVAL; |
| 675 | break; | 675 | break; |
| 676 | } | 676 | } |
| 677 | 677 | ||
| 678 | r = display->run_test(display, p.test_num); | 678 | r = display->driver->run_test(display, p.test_num); |
| 679 | 679 | ||
| 680 | break; | 680 | break; |
| 681 | 681 | ||
| @@ -685,12 +685,12 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg) | |||
| 685 | r = -EFAULT; | 685 | r = -EFAULT; |
| 686 | break; | 686 | break; |
| 687 | } | 687 | } |
| 688 | if (!display || !display->run_test) { | 688 | if (!display || !display->driver->run_test) { |
| 689 | r = -EINVAL; | 689 | r = -EINVAL; |
| 690 | break; | 690 | break; |
| 691 | } | 691 | } |
| 692 | 692 | ||
| 693 | r = display->run_test(display, p.test_num); | 693 | r = display->driver->run_test(display, p.test_num); |
| 694 | 694 | ||
| 695 | break; | 695 | break; |
| 696 | 696 | ||
