From e07de50728211363b4f728ac7fd1b590b3445eb6 Mon Sep 17 00:00:00 2001 From: Jassi Brar Date: Wed, 27 Jun 2012 19:34:56 +0530 Subject: [PATCH] --- yaml --- r: 321054 b: refs/heads/master c: 3a5383a2373fd5bc5ebdd781c8ac89ab5d0cb8a4 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/video/omap2/dss/hdmi.c | 1 + trunk/drivers/video/omap2/dss/ti_hdmi.h | 1 + trunk/drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c | 7 ++----- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index b6cd15202655..9f849021214d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ece2f1539e917a4f23c30c2cca41ed5aa127abe3 +refs/heads/master: 3a5383a2373fd5bc5ebdd781c8ac89ab5d0cb8a4 diff --git a/trunk/drivers/video/omap2/dss/hdmi.c b/trunk/drivers/video/omap2/dss/hdmi.c index b07e16bc4527..fb834abc5c2e 100644 --- a/trunk/drivers/video/omap2/dss/hdmi.c +++ b/trunk/drivers/video/omap2/dss/hdmi.c @@ -758,6 +758,7 @@ static int __init omapdss_hdmihw_probe(struct platform_device *pdev) hdmi.ip_data.core_av_offset = HDMI_CORE_AV; hdmi.ip_data.pll_offset = HDMI_PLLCTRL; hdmi.ip_data.phy_offset = HDMI_PHY; + mutex_init(&hdmi.ip_data.lock); hdmi_panel_init(); diff --git a/trunk/drivers/video/omap2/dss/ti_hdmi.h b/trunk/drivers/video/omap2/dss/ti_hdmi.h index d174ca128932..cc292b829c9d 100644 --- a/trunk/drivers/video/omap2/dss/ti_hdmi.h +++ b/trunk/drivers/video/omap2/dss/ti_hdmi.h @@ -177,6 +177,7 @@ struct hdmi_ip_data { /* ti_hdmi_4xxx_ip private data. These should be in a separate struct */ int hpd_gpio; + struct mutex lock; }; int ti_hdmi_4xxx_phy_enable(struct hdmi_ip_data *ip_data); void ti_hdmi_4xxx_phy_disable(struct hdmi_ip_data *ip_data); diff --git a/trunk/drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c b/trunk/drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c index 3fa3d98d1ae7..49b171b1f4ae 100644 --- a/trunk/drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c +++ b/trunk/drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c @@ -235,13 +235,10 @@ void ti_hdmi_4xxx_pll_disable(struct hdmi_ip_data *ip_data) static int hdmi_check_hpd_state(struct hdmi_ip_data *ip_data) { - unsigned long flags; bool hpd; int r; - /* this should be in ti_hdmi_4xxx_ip private data */ - static DEFINE_SPINLOCK(phy_tx_lock); - spin_lock_irqsave(&phy_tx_lock, flags); + mutex_lock(&ip_data->lock); hpd = gpio_get_value(ip_data->hpd_gpio); @@ -257,7 +254,7 @@ static int hdmi_check_hpd_state(struct hdmi_ip_data *ip_data) } err: - spin_unlock_irqrestore(&phy_tx_lock, flags); + mutex_unlock(&ip_data->lock); return r; }