From f387ba4cc90ffc589c1bda9ee2a46a6646c982f6 Mon Sep 17 00:00:00 2001 From: Axel Castaneda Gonzalez Date: Thu, 3 May 2012 09:00:21 -0500 Subject: [PATCH] --- yaml --- r: 310355 b: refs/heads/master c: 3df9fb5c51ca617e410da890f631100ea9f10652 h: refs/heads/master i: 310353: af4f1ecd76a77b668bbd3d072861c1f3b5b8348e 310351: 11a05e3eb0a4654e4625e559eec8f8d387255d4c v: v3 --- [refs] | 2 +- trunk/drivers/video/omap2/dss/dss_features.c | 2 ++ trunk/drivers/video/omap2/dss/ti_hdmi.h | 6 ++++++ .../drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c | 19 ++++++++++++++----- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 294a94e2d832..11ad105ef902 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7c92af16780c614b493c4e8a9f495f9dc8008de4 +refs/heads/master: 3df9fb5c51ca617e410da890f631100ea9f10652 diff --git a/trunk/drivers/video/omap2/dss/dss_features.c b/trunk/drivers/video/omap2/dss/dss_features.c index 234ed8ad89ea..13b45af5e89d 100644 --- a/trunk/drivers/video/omap2/dss/dss_features.c +++ b/trunk/drivers/video/omap2/dss/dss_features.c @@ -577,6 +577,8 @@ static const struct ti_hdmi_ip_ops omap4_hdmi_functions = { defined(CONFIG_SND_OMAP_SOC_OMAP4_HDMI_MODULE) .audio_enable = ti_hdmi_4xxx_wp_audio_enable, .audio_disable = ti_hdmi_4xxx_wp_audio_disable, + .audio_start = ti_hdmi_4xxx_audio_start, + .audio_stop = ti_hdmi_4xxx_audio_stop, #endif }; diff --git a/trunk/drivers/video/omap2/dss/ti_hdmi.h b/trunk/drivers/video/omap2/dss/ti_hdmi.h index 4c84a9cf2931..8afdd0b7678a 100644 --- a/trunk/drivers/video/omap2/dss/ti_hdmi.h +++ b/trunk/drivers/video/omap2/dss/ti_hdmi.h @@ -113,6 +113,10 @@ struct ti_hdmi_ip_ops { int (*audio_enable)(struct hdmi_ip_data *ip_data); void (*audio_disable)(struct hdmi_ip_data *ip_data); + + int (*audio_start)(struct hdmi_ip_data *ip_data); + + void (*audio_stop)(struct hdmi_ip_data *ip_data); #endif }; @@ -190,5 +194,7 @@ void ti_hdmi_4xxx_phy_dump(struct hdmi_ip_data *ip_data, struct seq_file *s); defined(CONFIG_SND_OMAP_SOC_OMAP4_HDMI_MODULE) int ti_hdmi_4xxx_wp_audio_enable(struct hdmi_ip_data *ip_data); void ti_hdmi_4xxx_wp_audio_disable(struct hdmi_ip_data *ip_data); +int ti_hdmi_4xxx_audio_start(struct hdmi_ip_data *ip_data); +void ti_hdmi_4xxx_audio_stop(struct hdmi_ip_data *ip_data); #endif #endif 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 a1cbd2fe9889..7b524de831a1 100644 --- a/trunk/drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c +++ b/trunk/drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c @@ -1254,21 +1254,30 @@ int hdmi_config_audio_acr(struct hdmi_ip_data *ip_data, int ti_hdmi_4xxx_wp_audio_enable(struct hdmi_ip_data *ip_data) { - REG_FLD_MOD(hdmi_av_base(ip_data), - HDMI_CORE_AV_AUD_MODE, true, 0, 0); REG_FLD_MOD(hdmi_wp_base(ip_data), HDMI_WP_AUDIO_CTRL, true, 31, 31); + return 0; +} + +void ti_hdmi_4xxx_wp_audio_disable(struct hdmi_ip_data *ip_data) +{ + REG_FLD_MOD(hdmi_wp_base(ip_data), + HDMI_WP_AUDIO_CTRL, false, 31, 31); +} + +int ti_hdmi_4xxx_audio_start(struct hdmi_ip_data *ip_data) +{ + REG_FLD_MOD(hdmi_av_base(ip_data), + HDMI_CORE_AV_AUD_MODE, true, 0, 0); REG_FLD_MOD(hdmi_wp_base(ip_data), HDMI_WP_AUDIO_CTRL, true, 30, 30); return 0; } -void ti_hdmi_4xxx_wp_audio_disable(struct hdmi_ip_data *ip_data) +void ti_hdmi_4xxx_audio_stop(struct hdmi_ip_data *ip_data) { REG_FLD_MOD(hdmi_av_base(ip_data), HDMI_CORE_AV_AUD_MODE, false, 0, 0); - REG_FLD_MOD(hdmi_wp_base(ip_data), - HDMI_WP_AUDIO_CTRL, false, 31, 31); REG_FLD_MOD(hdmi_wp_base(ip_data), HDMI_WP_AUDIO_CTRL, false, 30, 30); }