Commit d25a7d67 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Tomi Valkeinen

drm/omap: Remove supported output check in CRTC connect handler

The CRTC connect handler checks whether the DSS output supports the
DISPC channel assigned to it. As the channel is assigned to the output
by the output driver a failure there could only result from a driver
bug. All the output drivers have been verified and they are always
assigned a DISPC channel that is supported on the SoC they run on. The
check can thus be removed.
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 67dfd2d3
...@@ -2904,13 +2904,6 @@ static int dispc_ovl_enable(struct dispc_device *dispc, ...@@ -2904,13 +2904,6 @@ static int dispc_ovl_enable(struct dispc_device *dispc,
return 0; return 0;
} }
static enum omap_dss_output_id
dispc_mgr_get_supported_outputs(struct dispc_device *dispc,
enum omap_channel channel)
{
return dss_get_supported_outputs(dispc->dss, channel);
}
static void dispc_lcd_enable_signal_polarity(struct dispc_device *dispc, static void dispc_lcd_enable_signal_polarity(struct dispc_device *dispc,
bool act_high) bool act_high)
{ {
...@@ -4742,7 +4735,6 @@ static const struct dispc_ops dispc_ops = { ...@@ -4742,7 +4735,6 @@ static const struct dispc_ops dispc_ops = {
.mgr_set_lcd_config = dispc_mgr_set_lcd_config, .mgr_set_lcd_config = dispc_mgr_set_lcd_config,
.mgr_set_timings = dispc_mgr_set_timings, .mgr_set_timings = dispc_mgr_set_timings,
.mgr_setup = dispc_mgr_setup, .mgr_setup = dispc_mgr_setup,
.mgr_get_supported_outputs = dispc_mgr_get_supported_outputs,
.mgr_gamma_size = dispc_mgr_gamma_size, .mgr_gamma_size = dispc_mgr_gamma_size,
.mgr_set_gamma = dispc_mgr_set_gamma, .mgr_set_gamma = dispc_mgr_set_gamma,
......
...@@ -678,12 +678,6 @@ unsigned long dss_get_max_fck_rate(struct dss_device *dss) ...@@ -678,12 +678,6 @@ unsigned long dss_get_max_fck_rate(struct dss_device *dss)
return dss->feat->fck_freq_max; return dss->feat->fck_freq_max;
} }
enum omap_dss_output_id dss_get_supported_outputs(struct dss_device *dss,
enum omap_channel channel)
{
return dss->feat->outputs[channel];
}
static int dss_setup_default_clock(struct dss_device *dss) static int dss_setup_default_clock(struct dss_device *dss)
{ {
unsigned long max_dss_fck, prate; unsigned long max_dss_fck, prate;
......
...@@ -317,8 +317,6 @@ void dss_runtime_put(struct dss_device *dss); ...@@ -317,8 +317,6 @@ void dss_runtime_put(struct dss_device *dss);
unsigned long dss_get_dispc_clk_rate(struct dss_device *dss); unsigned long dss_get_dispc_clk_rate(struct dss_device *dss);
unsigned long dss_get_max_fck_rate(struct dss_device *dss); unsigned long dss_get_max_fck_rate(struct dss_device *dss);
enum omap_dss_output_id dss_get_supported_outputs(struct dss_device *dss,
enum omap_channel channel);
int dss_dpi_select_source(struct dss_device *dss, int port, int dss_dpi_select_source(struct dss_device *dss, int port,
enum omap_channel channel); enum omap_channel channel);
void dss_select_hdmi_venc_clk_source(struct dss_device *dss, void dss_select_hdmi_venc_clk_source(struct dss_device *dss,
......
...@@ -640,8 +640,6 @@ struct dispc_ops { ...@@ -640,8 +640,6 @@ struct dispc_ops {
const struct videomode *vm); const struct videomode *vm);
void (*mgr_setup)(struct dispc_device *dispc, enum omap_channel channel, void (*mgr_setup)(struct dispc_device *dispc, enum omap_channel channel,
const struct omap_overlay_manager_info *info); const struct omap_overlay_manager_info *info);
enum omap_dss_output_id (*mgr_get_supported_outputs)(
struct dispc_device *dispc, enum omap_channel channel);
u32 (*mgr_gamma_size)(struct dispc_device *dispc, u32 (*mgr_gamma_size)(struct dispc_device *dispc,
enum omap_channel channel); enum omap_channel channel);
void (*mgr_set_gamma)(struct dispc_device *dispc, void (*mgr_set_gamma)(struct dispc_device *dispc,
......
...@@ -114,12 +114,6 @@ static int omap_crtc_dss_connect(struct omap_drm_private *priv, ...@@ -114,12 +114,6 @@ static int omap_crtc_dss_connect(struct omap_drm_private *priv,
enum omap_channel channel, enum omap_channel channel,
struct omap_dss_device *dst) struct omap_dss_device *dst)
{ {
const struct dispc_ops *dispc_ops = priv->dispc_ops;
struct dispc_device *dispc = priv->dispc;
if (!(dispc_ops->mgr_get_supported_outputs(dispc, channel) & dst->id))
return -EINVAL;
dst->dispc_channel_connected = true; dst->dispc_channel_connected = true;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment