mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-27 06:34:11 +08:00
drm/exynos: dsi: set TE GPIO IRQ status as IRQ_NOAUTOEN
The exynos_dsi_te_irq_handler() works only dsi(DPMS) is on. So it is enough to enable and disable TE GPIO IRQ in exynos_dsi_enable(disable)_irq() like DSI IRQ. Signed-off-by: YoungJun Cho <yj44.cho@samsung.com> Acked-by: Inki Dae <inki.dae@samsung.com>a Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
This commit is contained in:
parent
ecb84157b5
commit
0cef83a5fd
@ -1155,6 +1155,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)) {
|
||||
@ -1169,14 +1170,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);
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user