mirror of https://gitee.com/openkylin/linux.git
drm: omapdrm: hdmi: Replace OMAP SoC model check with HDMI xmit version
The HDMI wrapper code only needs to differentiate between major OMAP revisions, which can be obtained from the HDMI transmitter compatible string. Replace the OMAP SoC model checks to prepare for removal of the OMAP SoC version platform data. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
1fdf9041cd
commit
fe16bc5132
|
@ -234,6 +234,7 @@ struct hdmi_core_audio_config {
|
||||||
struct hdmi_wp_data {
|
struct hdmi_wp_data {
|
||||||
void __iomem *base;
|
void __iomem *base;
|
||||||
phys_addr_t phys_base;
|
phys_addr_t phys_base;
|
||||||
|
unsigned int version;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hdmi_pll_data {
|
struct hdmi_pll_data {
|
||||||
|
@ -312,7 +313,8 @@ void hdmi_wp_video_config_timing(struct hdmi_wp_data *wp,
|
||||||
struct videomode *vm);
|
struct videomode *vm);
|
||||||
void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
|
void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
|
||||||
struct videomode *vm, struct hdmi_config *param);
|
struct videomode *vm, struct hdmi_config *param);
|
||||||
int hdmi_wp_init(struct platform_device *pdev, struct hdmi_wp_data *wp);
|
int hdmi_wp_init(struct platform_device *pdev, struct hdmi_wp_data *wp,
|
||||||
|
unsigned int version);
|
||||||
phys_addr_t hdmi_wp_get_audio_dma_addr(struct hdmi_wp_data *wp);
|
phys_addr_t hdmi_wp_get_audio_dma_addr(struct hdmi_wp_data *wp);
|
||||||
|
|
||||||
/* HDMI PLL funcs */
|
/* HDMI PLL funcs */
|
||||||
|
|
|
@ -699,7 +699,7 @@ static int hdmi4_bind(struct device *dev, struct device *master, void *data)
|
||||||
if (r)
|
if (r)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = hdmi_wp_init(pdev, &hdmi.wp);
|
r = hdmi_wp_init(pdev, &hdmi.wp, 4);
|
||||||
if (r)
|
if (r)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
|
|
@ -731,7 +731,7 @@ static int hdmi5_bind(struct device *dev, struct device *master, void *data)
|
||||||
if (r)
|
if (r)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = hdmi_wp_init(pdev, &hdmi.wp);
|
r = hdmi_wp_init(pdev, &hdmi.wp, 5);
|
||||||
if (r)
|
if (r)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
|
|
@ -178,9 +178,7 @@ void hdmi_wp_video_config_timing(struct hdmi_wp_data *wp,
|
||||||
* However, we don't support OMAP5 ES1 at all, so we can just check for
|
* However, we don't support OMAP5 ES1 at all, so we can just check for
|
||||||
* OMAP4 here.
|
* OMAP4 here.
|
||||||
*/
|
*/
|
||||||
if (omapdss_get_version() == OMAPDSS_VER_OMAP4430_ES1 ||
|
if (wp->version == 4)
|
||||||
omapdss_get_version() == OMAPDSS_VER_OMAP4430_ES2 ||
|
|
||||||
omapdss_get_version() == OMAPDSS_VER_OMAP4)
|
|
||||||
hsync_len_offset = 0;
|
hsync_len_offset = 0;
|
||||||
|
|
||||||
timing_h |= FLD_VAL(vm->hback_porch, 31, 20);
|
timing_h |= FLD_VAL(vm->hback_porch, 31, 20);
|
||||||
|
@ -235,9 +233,7 @@ void hdmi_wp_audio_config_format(struct hdmi_wp_data *wp,
|
||||||
DSSDBG("Enter hdmi_wp_audio_config_format\n");
|
DSSDBG("Enter hdmi_wp_audio_config_format\n");
|
||||||
|
|
||||||
r = hdmi_read_reg(wp->base, HDMI_WP_AUDIO_CFG);
|
r = hdmi_read_reg(wp->base, HDMI_WP_AUDIO_CFG);
|
||||||
if (omapdss_get_version() == OMAPDSS_VER_OMAP4430_ES1 ||
|
if (wp->version == 4) {
|
||||||
omapdss_get_version() == OMAPDSS_VER_OMAP4430_ES2 ||
|
|
||||||
omapdss_get_version() == OMAPDSS_VER_OMAP4) {
|
|
||||||
r = FLD_MOD(r, aud_fmt->stereo_channels, 26, 24);
|
r = FLD_MOD(r, aud_fmt->stereo_channels, 26, 24);
|
||||||
r = FLD_MOD(r, aud_fmt->active_chnnls_msk, 23, 16);
|
r = FLD_MOD(r, aud_fmt->active_chnnls_msk, 23, 16);
|
||||||
}
|
}
|
||||||
|
@ -282,7 +278,8 @@ int hdmi_wp_audio_core_req_enable(struct hdmi_wp_data *wp, bool enable)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int hdmi_wp_init(struct platform_device *pdev, struct hdmi_wp_data *wp)
|
int hdmi_wp_init(struct platform_device *pdev, struct hdmi_wp_data *wp,
|
||||||
|
unsigned int version)
|
||||||
{
|
{
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
|
|
||||||
|
@ -292,6 +289,7 @@ int hdmi_wp_init(struct platform_device *pdev, struct hdmi_wp_data *wp)
|
||||||
return PTR_ERR(wp->base);
|
return PTR_ERR(wp->base);
|
||||||
|
|
||||||
wp->phys_base = res->start;
|
wp->phys_base = res->start;
|
||||||
|
wp->version = version;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue