From: Inki Dae <inki.dae@samsung.com>
To: YoungJun Cho <yj44.cho@samsung.com>
Cc: sw0312.kim@samsung.com, dri-devel@lists.freedesktop.org,
a.hajda@samsung.com, kyungmin.park@samsung.com
Subject: Re: [PATCH 6/7] drm/exynos: dsi: move TE irq handler registration position
Date: Fri, 14 Nov 2014 10:49:44 +0900 [thread overview]
Message-ID: <54655FB8.9020505@samsung.com> (raw)
In-Reply-To: <1412144353-13114-7-git-send-email-yj44.cho@samsung.com>
On 2014년 10월 01일 15:19, YoungJun Cho wrote:
> The drm_helper_hpd_irq_event() does dpms control and panel is
> initialized and displayed on by it.
> So should register TE irq handler(exynos_dsi_te_irq_handler())
> beforehand.
This patch also includes some codes not relevant to register TE irq
handler before drm_helper_hpd_irq_event call. How about separating this
patch into two patches?
And below is my comment.
Thanks,
Inki Dae
>
> Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
> Acked-by: Inki Dae <inki.dae@samsung.com>
> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> drivers/gpu/drm/exynos/exynos_drm_dsi.c | 19 ++++++++-----------
> 1 file changed, 8 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> index 24741d8..ded69df 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> @@ -1143,6 +1143,7 @@ static int exynos_dsi_init(struct exynos_dsi *dsi)
> static int exynos_dsi_register_te_irq(struct exynos_dsi *dsi)
> {
> int ret;
> + int te_gpio_irq;
>
> dsi->te_gpio = of_get_named_gpio(dsi->panel_node, "te-gpios", 0);
> if (!gpio_is_valid(dsi->te_gpio)) {
> @@ -1157,14 +1158,10 @@ static int exynos_dsi_register_te_irq(struct exynos_dsi *dsi)
> goto out;
> }
>
> - /*
> - * This TE GPIO IRQ should not be set to IRQ_NOAUTOEN, because panel
> - * calls drm_panel_init() first then calls mipi_dsi_attach() in probe().
> - * It means that te_gpio is invalid when exynos_dsi_enable_irq() is
> - * called by drm_panel_init() before panel is attached.
> - */
> - ret = request_threaded_irq(gpio_to_irq(dsi->te_gpio),
> - exynos_dsi_te_irq_handler, NULL,
> + te_gpio_irq = gpio_to_irq(dsi->te_gpio);
> +
> + irq_set_status_flags(te_gpio_irq, IRQ_NOAUTOEN);
I think with IRQ_NOAUTOEN, te irq wouldn't be enabled automatically. So
shouldn't we call enable_irq() and disable_irq() somewhere?
> + ret = request_threaded_irq(te_gpio_irq, exynos_dsi_te_irq_handler, NULL,
> IRQF_TRIGGER_RISING, "TE", dsi);
> if (ret) {
> dev_err(dsi->dev, "request interrupt failed with %d\n", ret);
> @@ -1195,9 +1192,6 @@ static int exynos_dsi_host_attach(struct mipi_dsi_host *host,
> dsi->mode_flags = device->mode_flags;
> dsi->panel_node = device->dev.of_node;
>
> - if (dsi->connector.dev)
> - drm_helper_hpd_irq_event(dsi->connector.dev);
> -
> /*
> * This is a temporary solution and should be made by more generic way.
> *
> @@ -1211,6 +1205,9 @@ static int exynos_dsi_host_attach(struct mipi_dsi_host *host,
> return ret;
> }
>
> + if (dsi->connector.dev)
> + drm_helper_hpd_irq_event(dsi->connector.dev);
> +
> return 0;
> }
>
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2014-11-14 1:49 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-01 6:19 [PATCH 0/7] drm/exynos: modify LCD I80 interface display YoungJun Cho
2014-10-01 6:19 ` [PATCH 1/7] drm/exynos: fimd: remove unnecessary waiting vblank routine YoungJun Cho
2014-11-13 9:00 ` Inki Dae
2014-10-01 6:19 ` [PATCH 2/7] drm/exynos: fimd: add fimd_channel_win() to clean up code YoungJun Cho
2014-11-13 9:05 ` Inki Dae
2014-10-01 6:19 ` [PATCH 3/7] drm/exynos: fimd: modify vclk calculation for I80 i/f YoungJun Cho
2014-11-13 9:12 ` Inki Dae
2014-11-13 9:54 ` YoungJun Cho
2014-11-14 1:25 ` Inki Dae
2014-10-01 6:19 ` [PATCH 4/7] drm/exynos: fimd: move handle vblank position in TE handler YoungJun Cho
2014-11-14 1:20 ` Inki Dae
2014-10-01 6:19 ` [PATCH 5/7] drm/exynos: fimd: modify I80 i/f interrupt relevant routine YoungJun Cho
2014-11-14 1:36 ` Inki Dae
2014-11-16 0:53 ` YoungJun Cho
2014-10-01 6:19 ` [PATCH 6/7] drm/exynos: dsi: move TE irq handler registration position YoungJun Cho
2014-11-14 1:49 ` Inki Dae [this message]
2014-11-14 2:08 ` YoungJun Cho
2014-10-01 6:19 ` [PATCH 7/7] drm/exynos: dsi: move DSIM_STATE_ENABLED set position YoungJun Cho
2014-11-14 1:53 ` Inki Dae
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54655FB8.9020505@samsung.com \
--to=inki.dae@samsung.com \
--cc=a.hajda@samsung.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=kyungmin.park@samsung.com \
--cc=sw0312.kim@samsung.com \
--cc=yj44.cho@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.