summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/exynos
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2015-06-11 15:08:09 +0200
committerSeung-Woo Kim <sw0312.kim@samsung.com>2016-12-14 13:46:05 +0900
commit26c3fa582e065a26d1aaac2d41f079dc59731974 (patch)
tree4ebe9da7fa0a271461a1094d10374b90c6f58853 /drivers/gpu/drm/exynos
parentb281a6270d9f861e3669a199e58a5bd2a44f0332 (diff)
drm/exynos/hdmi: remove private lock code
Most of the code is called by drm core framework, so it is already synchronized. The only async function is irq routine which only calls drm framework so it does not need to be synchronized.
Diffstat (limited to 'drivers/gpu/drm/exynos')
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c22
1 files changed, 1 insertions, 21 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index d9ce1c961d35..5ee71638ea76 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -21,7 +21,6 @@
#include "regs-hdmi.h"
#include <linux/kernel.h>
-#include <linux/spinlock.h>
#include <linux/wait.h>
#include <linux/i2c.h>
#include <linux/platform_device.h>
@@ -212,7 +211,6 @@ struct hdmi_context {
bool hpd;
bool powered;
bool dvi_mode;
- struct mutex hdmi_mutex;
void __iomem *regs;
int irq;
@@ -1904,11 +1902,8 @@ static void hdmiphy_conf_apply(struct hdmi_context *hdata)
static void hdmi_conf_apply(struct hdmi_context *hdata)
{
- mutex_lock(&hdata->hdmi_mutex);
hdmi_start(hdata, false);
hdmi_conf_init(hdata);
- mutex_unlock(&hdata->hdmi_mutex);
-
hdmi_audio_init(hdata);
/* setting core registers */
@@ -2255,14 +2250,7 @@ static void hdmi_mode_set(struct exynos_drm_display *display,
static void hdmi_poweron(struct hdmi_context *hdata)
{
- mutex_lock(&hdata->hdmi_mutex);
- if (hdata->powered) {
- mutex_unlock(&hdata->hdmi_mutex);
- return;
- }
-
hdata->powered = true;
- mutex_unlock(&hdata->hdmi_mutex);
hdmi_conf_apply(hdata);
}
@@ -2270,10 +2258,8 @@ static void hdmi_poweroff(struct hdmi_context *hdata)
{
struct hdmi_resources *res = &hdata->res;
- mutex_lock(&hdata->hdmi_mutex);
if (!hdata->powered)
- goto out;
- mutex_unlock(&hdata->hdmi_mutex);
+ return;
hdmi_set_refclk(hdata, SYSREG_HDMI_REFCLK_CLKI);
@@ -2296,11 +2282,7 @@ static void hdmi_poweroff(struct hdmi_context *hdata)
pm_runtime_put_sync(hdata->dev);
- mutex_lock(&hdata->hdmi_mutex);
hdata->powered = false;
-
-out:
- mutex_unlock(&hdata->hdmi_mutex);
}
static void hdmi_dpms(struct exynos_drm_display *display, int mode)
@@ -2583,8 +2565,6 @@ static int hdmi_probe(struct platform_device *pdev)
hdata->display.type = EXYNOS_DISPLAY_TYPE_HDMI;
hdata->display.ops = &hdmi_display_ops;
- mutex_init(&hdata->hdmi_mutex);
-
platform_set_drvdata(pdev, hdata);
match = of_match_node(hdmi_match_types, dev->of_node);