diff options
author | Andrzej Hajda <a.hajda@samsung.com> | 2017-03-15 12:20:42 +0100 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2017-03-21 14:30:18 +0900 |
commit | 22e098daae7e53763493b9d9976ef8c65190017e (patch) | |
tree | e9e16e9c81f1ca5f0c62d4d67ef07e728162b886 /drivers/gpu/drm/exynos | |
parent | 9cdf0ed25a9b34fd82cb0eb47a8bdc47dc9f4ff5 (diff) | |
download | op-kernel-dev-22e098daae7e53763493b9d9976ef8c65190017e.zip op-kernel-dev-22e098daae7e53763493b9d9976ef8c65190017e.tar.gz |
drm/exynos/dsi: make te-gpios optional
DSI forwards te-gpios interrupts to display controller, but if display
controller works in HW-TRIGGER mode this interrupt is not necessary.
Making te-gpios property optional allows to avoid generating spare
interrupts.
And also if panel device node of command mode panel device doesn't provide
te-gpios property then the panel driver failed to probe. This was a critial
issue.
With this patch we can not only get rid of 60 interrupt callbacks per second
but also fix the critial issues.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_dsi.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index c671f8e..d7ef263 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c @@ -1335,9 +1335,12 @@ static int exynos_dsi_register_te_irq(struct exynos_dsi *dsi) int te_gpio_irq; dsi->te_gpio = of_get_named_gpio(dsi->panel_node, "te-gpios", 0); + if (dsi->te_gpio == -ENOENT) + return 0; + if (!gpio_is_valid(dsi->te_gpio)) { - dev_err(dsi->dev, "no te-gpios specified\n"); ret = dsi->te_gpio; + dev_err(dsi->dev, "cannot get te-gpios, %d\n", ret); goto out; } |