Message ID | 1489576842-17679-1-git-send-email-a.hajda@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
2017년 03월 15일 20:20에 Andrzej Hajda 이(가) 쓴 글: > 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. > With this patch we can get rid of 60 interrupt callbacks per second. As I said before like below, "If panel device node of command mode panel device doesn't provide te-gpios property then now the panel driver will fail to probe. Seems this patch makes it to allow the panel driver probing is always ok even if gpio is invalid." This patch will fix critical issue that the panel driver fails to probe if the panel device node has no te-gpios property. I think adding above sentence to this description would be good. So I will merge this patch after adding the description. I can do this. Thanks, Inki Dae > > Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> > --- > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > index 812e2ec..822094d 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > @@ -1348,9 +1348,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; > } > >
On 21.03.2017 06:10, Inki Dae wrote: > > 2017년 03월 15일 20:20에 Andrzej Hajda 이(가) 쓴 글: >> 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. >> With this patch we can get rid of 60 interrupt callbacks per second. > As I said before like below, > "If panel device node of command mode panel device doesn't provide te-gpios property then now the panel driver will fail to probe. > Seems this patch makes it to allow the panel driver probing is always ok even if gpio is invalid." > > This patch will fix critical issue that the panel driver fails to probe if the panel device node has no te-gpios property. > I think adding above sentence to this description would be good. So I will merge this patch after adding the description. I can do this. Thanks, it seems I have misunderstood your previous post. Regards Andrzej > > Thanks, > Inki Dae > >> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> >> --- >> drivers/gpu/drm/exynos/exynos_drm_dsi.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c >> index 812e2ec..822094d 100644 >> --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c >> +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c >> @@ -1348,9 +1348,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; >> } >> >> >
On 03/15/2017 08:20 PM, Andrzej Hajda wrote: > 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. > With this patch we can get rid of 60 interrupt callbacks per second. > > Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Hoegeun Kwon <hoegeun.kwon@samsung.com> Best regards, Hoegeun
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index 812e2ec..822094d 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c @@ -1348,9 +1348,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; }
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. With this patch we can get rid of 60 interrupt callbacks per second. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> --- drivers/gpu/drm/exynos/exynos_drm_dsi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)