OMAPDSS: HDMI: Add op to get audio DMA port address offset
authorRicardo Neri <ricardo.neri@ti.com>
Tue, 6 Nov 2012 06:19:16 +0000 (00:19 -0600)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 6 Nov 2012 11:33:36 +0000 (13:33 +0200)
It could be possible that the DMA port differs accross diferent HDMI IPs. Thus,
add an IP-specific function to obtain the address offset and size of the DMA
data port.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/dss_features.c
drivers/video/omap2/dss/ti_hdmi.h
drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c

index 3e8287c8709dcfe2175ac4f36bc143b8df30eeaa..8dcecbca46a5daac09008d8ed890cc892e42acfe 100644 (file)
@@ -820,6 +820,7 @@ static const struct ti_hdmi_ip_ops omap4_hdmi_functions = {
        .audio_start            =       ti_hdmi_4xxx_audio_start,
        .audio_stop             =       ti_hdmi_4xxx_audio_stop,
        .audio_config           =       ti_hdmi_4xxx_audio_config,
+       .audio_get_dma_port     =       ti_hdmi_4xxx_audio_get_dma_port,
 #endif
 
 };
index b046c208cb9708fc30db861759c6a2cf01fde3be..216aa704f9d72ef08b06a82865d5b8fda03cc876 100644 (file)
@@ -102,6 +102,8 @@ struct ti_hdmi_ip_ops {
 
        int (*audio_config)(struct hdmi_ip_data *ip_data,
                struct omap_dss_audio *audio);
+
+       int (*audio_get_dma_port)(u32 *offset, u32 *size);
 #endif
 
 };
@@ -183,5 +185,6 @@ int ti_hdmi_4xxx_audio_start(struct hdmi_ip_data *ip_data);
 void ti_hdmi_4xxx_audio_stop(struct hdmi_ip_data *ip_data);
 int ti_hdmi_4xxx_audio_config(struct hdmi_ip_data *ip_data,
                struct omap_dss_audio *audio);
+int ti_hdmi_4xxx_audio_get_dma_port(u32 *offset, u32 *size);
 #endif
 #endif
index a6efff257aa2cb4ee67817664a6d3b6e439c01df..e18b222ed739081819c35ef6276e7b7094068fa4 100644 (file)
@@ -1418,4 +1418,13 @@ void ti_hdmi_4xxx_audio_stop(struct hdmi_ip_data *ip_data)
        REG_FLD_MOD(hdmi_wp_base(ip_data),
                    HDMI_WP_AUDIO_CTRL, false, 30, 30);
 }
+
+int ti_hdmi_4xxx_audio_get_dma_port(u32 *offset, u32 *size)
+{
+       if (!offset || !size)
+               return -EINVAL;
+       *offset = HDMI_WP_AUDIO_DATA;
+       *size = 4;
+       return 0;
+}
 #endif