diff mbox

[v2] drm/exynos/dsi: make te-gpios optional

Message ID 1489576842-17679-1-git-send-email-a.hajda@samsung.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Andrzej Hajda March 15, 2017, 11:20 a.m. UTC
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(-)

Comments

Inki Dae March 21, 2017, 5:10 a.m. UTC | #1
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;
>  	}
>  
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andrzej Hajda March 21, 2017, 8:55 a.m. UTC | #2
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;
>>  	}
>>  
>>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hoegeun Kwon April 18, 2017, 7:34 a.m. UTC | #3
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

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;
 	}