diff options
| author | Kuogee Hsieh <khsieh@codeaurora.org> | 2013-12-16 16:16:01 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:24:59 -0700 |
| commit | 3c53abd5a2f3b13f3c2633a9c19444b61136d39f (patch) | |
| tree | 20cd81a87bc9999460f379022beb5b55f19c6135 /drivers/video/fbdev | |
| parent | 16c1333885ca93ae48b4137c530c5b9b6a1da72b (diff) | |
msm: mdss: add DSI video test pattern generator API
Add DSI video mode test pattern generator API support
to use it whenever necessary.
Change-Id: I4bcbfc592bf77fd57ab55ccabd582478e1522acc
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_dsi.h | 5 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_dsi_host.c | 30 |
2 files changed, 21 insertions, 14 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi.h b/drivers/video/fbdev/msm/mdss_dsi.h index bf672aa58ffc..3d4873d1a2fc 100644 --- a/drivers/video/fbdev/msm/mdss_dsi.h +++ b/drivers/video/fbdev/msm/mdss_dsi.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -327,7 +327,8 @@ void mdss_dsi_panel_reset(struct mdss_panel_data *pdata, int enable); void mdss_dsi_phy_disable(struct mdss_dsi_ctrl_pdata *ctrl); void mdss_dsi_phy_init(struct mdss_panel_data *pdata); void mdss_dsi_phy_sw_reset(unsigned char *ctrl_base); -void mdss_dsi_cmd_test_pattern(struct mdss_panel_data *pdata); +void mdss_dsi_cmd_test_pattern(struct mdss_dsi_ctrl_pdata *ctrl); +void mdss_dsi_video_test_pattern(struct mdss_dsi_ctrl_pdata *ctrl); void mdss_dsi_panel_pwm_cfg(struct mdss_dsi_ctrl_pdata *ctrl); void mdss_dsi_ctrl_init(struct mdss_dsi_ctrl_pdata *ctrl); diff --git a/drivers/video/fbdev/msm/mdss_dsi_host.c b/drivers/video/fbdev/msm/mdss_dsi_host.c index cd1cf7fcce7f..b5b32528b722 100644 --- a/drivers/video/fbdev/msm/mdss_dsi_host.c +++ b/drivers/video/fbdev/msm/mdss_dsi_host.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -200,28 +200,34 @@ void mdss_dsi_disable_irq_nosync(struct mdss_dsi_ctrl_pdata *ctrl, u32 term) spin_unlock(&ctrl->irq_lock); } -void mdss_dsi_cmd_test_pattern(struct mdss_panel_data *pdata) +void mdss_dsi_video_test_pattern(struct mdss_dsi_ctrl_pdata *ctrl) { - struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL; int i; - if (pdata == NULL) { - pr_err("%s: Invalid input data\n", __func__); - return; + MIPI_OUTP((ctrl->ctrl_base) + 0x015c, 0x021); + MIPI_OUTP((ctrl->ctrl_base) + 0x0164, 0xff0000); /* red */ + i = 0; + while (i++ < 50) { + MIPI_OUTP((ctrl->ctrl_base) + 0x0180, 0x1); + /* Add sleep to get ~50 fps frame rate*/ + msleep(20); } + MIPI_OUTP((ctrl->ctrl_base) + 0x015c, 0x0); +} - ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata, - panel_data); +void mdss_dsi_cmd_test_pattern(struct mdss_dsi_ctrl_pdata *ctrl) +{ + int i; - MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x015c, 0x201); - MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x016c, 0xff0000); /* red */ + MIPI_OUTP((ctrl->ctrl_base) + 0x015c, 0x201); + MIPI_OUTP((ctrl->ctrl_base) + 0x016c, 0xff0000); /* red */ i = 0; while (i++ < 50) { - MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x0184, 0x1); + MIPI_OUTP((ctrl->ctrl_base) + 0x0184, 0x1); /* Add sleep to get ~50 fps frame rate*/ msleep(20); } - MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x015c, 0x0); + MIPI_OUTP((ctrl->ctrl_base) + 0x015c, 0x0); } void mdss_dsi_host_init(struct mipi_panel_info *pinfo, |
