All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm: bridge: analogix/dp: Don't disable interrupts
@ 2016-06-06 14:47 ` Tomeu Vizoso
  0 siblings, 0 replies; 2+ messages in thread
From: Tomeu Vizoso @ 2016-06-06 14:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: Tomeu Vizoso, Caesar Wang, Douglas Anderson, Heiko Stuebner,
	Javier Martinez Canillas, Yakir Yang, David Airlie, dri-devel

Regardless of the status of the bridge, we want to receive HPD events.
Only disable it when suspending.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Caesar Wang <wxt@rock-chips.com>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Javier Martinez Canillas <javier@osg.samsung.com>
Cc: Yakir Yang <ykk@rock-chips.com>
---
 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 7699597070a1..f66a53a5c36e 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1049,7 +1049,6 @@ static void analogix_dp_bridge_enable(struct drm_bridge *bridge)
 
 	phy_power_on(dp->phy);
 	analogix_dp_init_dp(dp);
-	enable_irq(dp->irq);
 	analogix_dp_commit(dp);
 
 	dp->dpms_mode = DRM_MODE_DPMS_ON;
@@ -1069,7 +1068,6 @@ static void analogix_dp_bridge_disable(struct drm_bridge *bridge)
 		}
 	}
 
-	disable_irq(dp->irq);
 	phy_power_off(dp->phy);
 
 	if (dp->plat_data->power_off)
@@ -1349,7 +1347,6 @@ int analogix_dp_bind(struct device *dev, struct drm_device *drm_dev,
 		dev_err(&pdev->dev, "failed to request irq\n");
 		goto err_disable_pm_runtime;
 	}
-	disable_irq(dp->irq);
 
 	dp->drm_dev = drm_dev;
 	dp->encoder = dp->plat_data->encoder;
@@ -1391,6 +1388,8 @@ int analogix_dp_suspend(struct device *dev)
 {
 	struct analogix_dp_device *dp = dev_get_drvdata(dev);
 
+	disable_irq(dp->irq);
+
 	clk_disable_unprepare(dp->clock);
 
 	if (dp->plat_data->panel) {
@@ -1420,6 +1419,8 @@ int analogix_dp_resume(struct device *dev)
 		}
 	}
 
+	enable_irq(dp->irq);
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(analogix_dp_resume);
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCH] drm: bridge: analogix/dp: Don't disable interrupts
@ 2016-06-06 14:47 ` Tomeu Vizoso
  0 siblings, 0 replies; 2+ messages in thread
From: Tomeu Vizoso @ 2016-06-06 14:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: Tomeu Vizoso, Douglas Anderson, dri-devel,
	Javier Martinez Canillas, Caesar Wang

Regardless of the status of the bridge, we want to receive HPD events.
Only disable it when suspending.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Caesar Wang <wxt@rock-chips.com>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Javier Martinez Canillas <javier@osg.samsung.com>
Cc: Yakir Yang <ykk@rock-chips.com>
---
 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 7699597070a1..f66a53a5c36e 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1049,7 +1049,6 @@ static void analogix_dp_bridge_enable(struct drm_bridge *bridge)
 
 	phy_power_on(dp->phy);
 	analogix_dp_init_dp(dp);
-	enable_irq(dp->irq);
 	analogix_dp_commit(dp);
 
 	dp->dpms_mode = DRM_MODE_DPMS_ON;
@@ -1069,7 +1068,6 @@ static void analogix_dp_bridge_disable(struct drm_bridge *bridge)
 		}
 	}
 
-	disable_irq(dp->irq);
 	phy_power_off(dp->phy);
 
 	if (dp->plat_data->power_off)
@@ -1349,7 +1347,6 @@ int analogix_dp_bind(struct device *dev, struct drm_device *drm_dev,
 		dev_err(&pdev->dev, "failed to request irq\n");
 		goto err_disable_pm_runtime;
 	}
-	disable_irq(dp->irq);
 
 	dp->drm_dev = drm_dev;
 	dp->encoder = dp->plat_data->encoder;
@@ -1391,6 +1388,8 @@ int analogix_dp_suspend(struct device *dev)
 {
 	struct analogix_dp_device *dp = dev_get_drvdata(dev);
 
+	disable_irq(dp->irq);
+
 	clk_disable_unprepare(dp->clock);
 
 	if (dp->plat_data->panel) {
@@ -1420,6 +1419,8 @@ int analogix_dp_resume(struct device *dev)
 		}
 	}
 
+	enable_irq(dp->irq);
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(analogix_dp_resume);
-- 
2.5.5

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-06-06 14:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-06 14:47 [PATCH] drm: bridge: analogix/dp: Don't disable interrupts Tomeu Vizoso
2016-06-06 14:47 ` Tomeu Vizoso

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.