Skip to content

Commit

Permalink
OMAP: DSS2: Taal: Implement configurable ESD interval
Browse files Browse the repository at this point in the history
ESD check in Taal driver is currently on/off feature with hardcoded
interval. This patch changes it to a configurable interval, which can be
set from the board file.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
  • Loading branch information
Tomi Valkeinen committed May 11, 2011
1 parent 88257b2 commit 33a410b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
20 changes: 10 additions & 10 deletions drivers/video/omap2/displays/panel-taal.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,6 @@
#define DCS_GET_ID2 0xdb
#define DCS_GET_ID3 0xdc

#define TAAL_ESD_CHECK_PERIOD msecs_to_jiffies(5000)

static irqreturn_t taal_te_isr(int irq, void *data);
static void taal_te_timeout_work_callback(struct work_struct *work);
static int _taal_enable_te(struct omap_dss_device *dssdev, bool enable);
Expand Down Expand Up @@ -231,6 +229,7 @@ struct taal_data {

struct workqueue_struct *esd_wq;
struct delayed_work esd_work;
unsigned esd_interval;

struct panel_config *panel_config;
};
Expand Down Expand Up @@ -700,6 +699,7 @@ static int taal_probe(struct omap_dss_device *dssdev)
}
td->dssdev = dssdev;
td->panel_config = panel_config;
td->esd_interval = panel_data->esd_interval;

mutex_init(&td->lock);

Expand Down Expand Up @@ -963,7 +963,6 @@ static void taal_power_off(struct omap_dss_device *dssdev)
static int taal_enable(struct omap_dss_device *dssdev)
{
struct taal_data *td = dev_get_drvdata(&dssdev->dev);
struct nokia_dsi_panel_data *panel_data = get_panel_data(dssdev);
int r;

dev_dbg(&dssdev->dev, "enable\n");
Expand All @@ -984,9 +983,9 @@ static int taal_enable(struct omap_dss_device *dssdev)
if (r)
goto err;

if (panel_data->use_esd_check)
if (td->esd_interval > 0)
queue_delayed_work(td->esd_wq, &td->esd_work,
TAAL_ESD_CHECK_PERIOD);
msecs_to_jiffies(td->esd_interval));

dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;

Expand Down Expand Up @@ -1056,7 +1055,6 @@ static int taal_suspend(struct omap_dss_device *dssdev)
static int taal_resume(struct omap_dss_device *dssdev)
{
struct taal_data *td = dev_get_drvdata(&dssdev->dev);
struct nokia_dsi_panel_data *panel_data = get_panel_data(dssdev);
int r;

dev_dbg(&dssdev->dev, "resume\n");
Expand All @@ -1078,9 +1076,9 @@ static int taal_resume(struct omap_dss_device *dssdev)
dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
} else {
dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
if (panel_data->use_esd_check)
if (td->esd_interval > 0)
queue_delayed_work(td->esd_wq, &td->esd_work,
TAAL_ESD_CHECK_PERIOD);
msecs_to_jiffies(td->esd_interval));
}

mutex_unlock(&td->lock);
Expand Down Expand Up @@ -1523,7 +1521,8 @@ static void taal_esd_work(struct work_struct *work)

dsi_bus_unlock();

queue_delayed_work(td->esd_wq, &td->esd_work, TAAL_ESD_CHECK_PERIOD);
queue_delayed_work(td->esd_wq, &td->esd_work,
msecs_to_jiffies(td->esd_interval));

mutex_unlock(&td->lock);
return;
Expand All @@ -1536,7 +1535,8 @@ static void taal_esd_work(struct work_struct *work)

dsi_bus_unlock();

queue_delayed_work(td->esd_wq, &td->esd_work, TAAL_ESD_CHECK_PERIOD);
queue_delayed_work(td->esd_wq, &td->esd_work,
msecs_to_jiffies(td->esd_interval));

mutex_unlock(&td->lock);
}
Expand Down
4 changes: 2 additions & 2 deletions include/video/omap-panel-nokia-dsi.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ struct omap_dss_device;
* @name: panel name
* @use_ext_te: use external TE
* @ext_te_gpio: external TE GPIO
* @use_esd_check: perform ESD checks
* @esd_interval: interval of ESD checks, 0 = disabled (ms)
* @max_backlight_level: maximum backlight level
* @set_backlight: pointer to backlight set function
* @get_backlight: pointer to backlight get function
Expand All @@ -21,7 +21,7 @@ struct nokia_dsi_panel_data {
bool use_ext_te;
int ext_te_gpio;

bool use_esd_check;
unsigned esd_interval;

int max_backlight_level;
int (*set_backlight)(struct omap_dss_device *dssdev, int level);
Expand Down

0 comments on commit 33a410b

Please sign in to comment.