omapdss: HDMI: Use OMAP4 HDMI core functions directly and remove hdmi_ip_ops
[deliverable/linux.git] / drivers / video / omap2 / dss / ti_hdmi.h
index 62a83c79628e793f8adbdd0d1db76f2eec7c7cf5..9eb9b321314d9e3389a7080b0f5bf96ba7a034b2 100644 (file)
@@ -145,33 +145,6 @@ struct hdmi_audio_dma {
        u16                             fifo_threshold;
 };
 
-struct ti_hdmi_ip_ops {
-
-       void (*video_configure)(struct hdmi_ip_data *ip_data);
-
-       int (*phy_enable)(struct hdmi_ip_data *ip_data);
-
-       void (*phy_disable)(struct hdmi_ip_data *ip_data);
-
-       int (*read_edid)(struct hdmi_ip_data *ip_data, u8 *edid, int len);
-
-       void (*dump_core)(struct hdmi_ip_data *ip_data, struct seq_file *s);
-
-       void (*dump_phy)(struct hdmi_ip_data *ip_data, struct seq_file *s);
-
-#if defined(CONFIG_OMAP4_DSS_HDMI_AUDIO)
-       int (*audio_start)(struct hdmi_ip_data *ip_data);
-
-       void (*audio_stop)(struct hdmi_ip_data *ip_data);
-
-       int (*audio_config)(struct hdmi_ip_data *ip_data,
-               struct omap_dss_audio *audio);
-
-       int (*audio_get_dma_port)(u32 *offset, u32 *size);
-#endif
-
-};
-
 /*
  * Refer to section 8.2 in HDMI 1.3 specification for
  * details about infoframe databytes
@@ -223,17 +196,25 @@ struct hdmi_pll_data {
        struct hdmi_pll_info info;
 };
 
+struct hdmi_phy_data {
+       void __iomem *base;
+
+       int irq;
+};
+
+struct hdmi_core_data {
+       void __iomem *base;
+
+       struct hdmi_core_infoframe_avi avi_cfg;
+};
+
 struct hdmi_ip_data {
        struct hdmi_wp_data     wp;
        struct hdmi_pll_data    pll;
+       struct hdmi_phy_data    phy;
+       struct hdmi_core_data   core;
 
-       unsigned long   core_sys_offset;
-       unsigned long   core_av_offset;
-       unsigned long   phy_offset;
-       int             irq;
-       const struct ti_hdmi_ip_ops *ops;
        struct hdmi_config cfg;
-       struct hdmi_core_infoframe_avi avi_cfg;
 
        /* ti_hdmi_4xxx_ip private data. These should be in a separate struct */
        struct mutex lock;
@@ -266,12 +247,13 @@ void hdmi_pll_dump(struct hdmi_pll_data *pll, struct seq_file *s);
 void hdmi_pll_compute(struct hdmi_pll_data *pll, unsigned long clkin, int phy);
 int hdmi_pll_init(struct platform_device *pdev, struct hdmi_pll_data *pll);
 
-int ti_hdmi_4xxx_phy_enable(struct hdmi_ip_data *ip_data);
-void ti_hdmi_4xxx_phy_disable(struct hdmi_ip_data *ip_data);
-int ti_hdmi_4xxx_read_edid(struct hdmi_ip_data *ip_data, u8 *edid, int len);
-void ti_hdmi_4xxx_basic_configure(struct hdmi_ip_data *ip_data);
-void ti_hdmi_4xxx_core_dump(struct hdmi_ip_data *ip_data, struct seq_file *s);
-void ti_hdmi_4xxx_phy_dump(struct hdmi_ip_data *ip_data, struct seq_file *s);
+/* HDMI PHY funcs */
+int hdmi_phy_enable(struct hdmi_phy_data *phy, struct hdmi_wp_data *wp,
+               struct hdmi_config *cfg);
+void hdmi_phy_disable(struct hdmi_phy_data *phy, struct hdmi_wp_data *wp);
+void hdmi_phy_dump(struct hdmi_phy_data *phy, struct seq_file *s);
+int hdmi_phy_init(struct platform_device *pdev, struct hdmi_phy_data *phy);
+
 #if defined(CONFIG_OMAP4_DSS_HDMI_AUDIO)
 int hdmi_compute_acr(u32 sample_freq, u32 *n, u32 *cts);
 int hdmi_wp_audio_enable(struct hdmi_wp_data *wp, bool enable);
@@ -280,10 +262,5 @@ void hdmi_wp_audio_config_format(struct hdmi_wp_data *wp,
                struct hdmi_audio_format *aud_fmt);
 void hdmi_wp_audio_config_dma(struct hdmi_wp_data *wp,
                struct hdmi_audio_dma *aud_dma);
-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
This page took 0.041063 seconds and 5 git commands to generate.