mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 12:52:30 +00:00
OMAPDSS: HDMI: Split video_enable into video_enable/disable
To improve readability, split the video_enable HDMI IP operation into two separate functions for enabling and disabling video. The video_enable function is also modified to return an error value. While there, update these operations for the OMAP4 IP accordingly. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
This commit is contained in:
parent
027bdc85ee
commit
c0456be38f
@ -568,6 +568,7 @@ static const struct ti_hdmi_ip_ops omap4_hdmi_functions = {
|
||||
.pll_enable = ti_hdmi_4xxx_pll_enable,
|
||||
.pll_disable = ti_hdmi_4xxx_pll_disable,
|
||||
.video_enable = ti_hdmi_4xxx_wp_video_start,
|
||||
.video_disable = ti_hdmi_4xxx_wp_video_stop,
|
||||
.dump_wrapper = ti_hdmi_4xxx_wp_dump,
|
||||
.dump_core = ti_hdmi_4xxx_core_dump,
|
||||
.dump_pll = ti_hdmi_4xxx_pll_dump,
|
||||
|
@ -324,7 +324,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
|
||||
|
||||
hdmi_compute_pll(dssdev, phy, &hdmi.ip_data.pll_data);
|
||||
|
||||
hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 0);
|
||||
hdmi.ip_data.ops->video_disable(&hdmi.ip_data);
|
||||
|
||||
/* config the PLL and PHY hdmi_set_pll_pwrfirst */
|
||||
r = hdmi.ip_data.ops->pll_enable(&hdmi.ip_data);
|
||||
@ -358,7 +358,9 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
|
||||
/* tv size */
|
||||
dss_mgr_set_timings(dssdev->manager, &dssdev->panel.timings);
|
||||
|
||||
hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 1);
|
||||
r = hdmi.ip_data.ops->video_enable(&hdmi.ip_data);
|
||||
if (r)
|
||||
goto err_vid_enable;
|
||||
|
||||
r = dss_mgr_enable(dssdev->manager);
|
||||
if (r)
|
||||
@ -367,7 +369,8 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
|
||||
return 0;
|
||||
|
||||
err_mgr_enable:
|
||||
hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 0);
|
||||
hdmi.ip_data.ops->video_disable(&hdmi.ip_data);
|
||||
err_vid_enable:
|
||||
hdmi.ip_data.ops->phy_disable(&hdmi.ip_data);
|
||||
hdmi.ip_data.ops->pll_disable(&hdmi.ip_data);
|
||||
err:
|
||||
@ -379,7 +382,7 @@ static void hdmi_power_off(struct omap_dss_device *dssdev)
|
||||
{
|
||||
dss_mgr_disable(dssdev->manager);
|
||||
|
||||
hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 0);
|
||||
hdmi.ip_data.ops->video_disable(&hdmi.ip_data);
|
||||
hdmi.ip_data.ops->phy_disable(&hdmi.ip_data);
|
||||
hdmi.ip_data.ops->pll_disable(&hdmi.ip_data);
|
||||
hdmi_runtime_put();
|
||||
|
@ -96,7 +96,9 @@ struct ti_hdmi_ip_ops {
|
||||
|
||||
void (*pll_disable)(struct hdmi_ip_data *ip_data);
|
||||
|
||||
void (*video_enable)(struct hdmi_ip_data *ip_data, bool start);
|
||||
int (*video_enable)(struct hdmi_ip_data *ip_data);
|
||||
|
||||
void (*video_disable)(struct hdmi_ip_data *ip_data);
|
||||
|
||||
void (*dump_wrapper)(struct hdmi_ip_data *ip_data, struct seq_file *s);
|
||||
|
||||
@ -175,7 +177,8 @@ 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);
|
||||
bool ti_hdmi_4xxx_detect(struct hdmi_ip_data *ip_data);
|
||||
void ti_hdmi_4xxx_wp_video_start(struct hdmi_ip_data *ip_data, bool start);
|
||||
int ti_hdmi_4xxx_wp_video_start(struct hdmi_ip_data *ip_data);
|
||||
void ti_hdmi_4xxx_wp_video_stop(struct hdmi_ip_data *ip_data);
|
||||
int ti_hdmi_4xxx_pll_enable(struct hdmi_ip_data *ip_data);
|
||||
void ti_hdmi_4xxx_pll_disable(struct hdmi_ip_data *ip_data);
|
||||
void ti_hdmi_4xxx_basic_configure(struct hdmi_ip_data *ip_data);
|
||||
|
@ -699,9 +699,15 @@ static void hdmi_wp_init(struct omap_video_timings *timings,
|
||||
|
||||
}
|
||||
|
||||
void ti_hdmi_4xxx_wp_video_start(struct hdmi_ip_data *ip_data, bool start)
|
||||
int ti_hdmi_4xxx_wp_video_start(struct hdmi_ip_data *ip_data)
|
||||
{
|
||||
REG_FLD_MOD(hdmi_wp_base(ip_data), HDMI_WP_VIDEO_CFG, start, 31, 31);
|
||||
REG_FLD_MOD(hdmi_wp_base(ip_data), HDMI_WP_VIDEO_CFG, true, 31, 31);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ti_hdmi_4xxx_wp_video_stop(struct hdmi_ip_data *ip_data)
|
||||
{
|
||||
REG_FLD_MOD(hdmi_wp_base(ip_data), HDMI_WP_VIDEO_CFG, false, 31, 31);
|
||||
}
|
||||
|
||||
static void hdmi_wp_video_init_format(struct hdmi_video_format *video_fmt,
|
||||
|
Loading…
Reference in New Issue
Block a user