#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);
struct workqueue_struct *esd_wq;
struct delayed_work esd_work;
+ unsigned esd_interval;
struct panel_config *panel_config;
};
}
td->dssdev = dssdev;
td->panel_config = panel_config;
+ td->esd_interval = panel_data->esd_interval;
mutex_init(&td->lock);
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");
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;
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");
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);
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;
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);
}
* @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
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);