diff options
Diffstat (limited to 'drivers/gpu/drm/tilcdc/tilcdc_panel.c')
| -rw-r--r-- | drivers/gpu/drm/tilcdc/tilcdc_panel.c | 24 | 
1 files changed, 9 insertions, 15 deletions
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c index ff7774c17d7c..28c3e2f44f64 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c @@ -22,8 +22,10 @@  #include <video/display_timing.h>  #include <video/of_display_timing.h>  #include <video/videomode.h> +#include <drm/drm_atomic_helper.h>  #include "tilcdc_drv.h" +#include "tilcdc_panel.h"  struct panel_module {  	struct tilcdc_module base; @@ -64,9 +66,7 @@ static void panel_encoder_dpms(struct drm_encoder *encoder, int mode)  static void panel_encoder_prepare(struct drm_encoder *encoder)  { -	struct panel_encoder *panel_encoder = to_panel_encoder(encoder);  	panel_encoder_dpms(encoder, DRM_MODE_DPMS_OFF); -	tilcdc_crtc_set_panel_info(encoder->crtc, panel_encoder->mod->info);  }  static void panel_encoder_commit(struct drm_encoder *encoder) @@ -144,13 +144,6 @@ static void panel_connector_destroy(struct drm_connector *connector)  	drm_connector_cleanup(connector);  } -static enum drm_connector_status panel_connector_detect( -		struct drm_connector *connector, -		bool force) -{ -	return connector_status_connected; -} -  static int panel_connector_get_modes(struct drm_connector *connector)  {  	struct drm_device *dev = connector->dev; @@ -196,9 +189,11 @@ static struct drm_encoder *panel_connector_best_encoder(  static const struct drm_connector_funcs panel_connector_funcs = {  	.destroy            = panel_connector_destroy, -	.dpms               = drm_helper_connector_dpms, -	.detect             = panel_connector_detect, +	.dpms               = drm_atomic_helper_connector_dpms,  	.fill_modes         = drm_helper_probe_single_connector_modes, +	.reset              = drm_atomic_helper_connector_reset, +	.atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, +	.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,  };  static const struct drm_connector_helper_funcs panel_connector_helper_funcs = { @@ -237,8 +232,6 @@ static struct drm_connector *panel_connector_create(struct drm_device *dev,  	if (ret)  		goto fail; -	drm_connector_register(connector); -  	return connector;  fail: @@ -268,6 +261,9 @@ static int panel_modeset_init(struct tilcdc_module *mod, struct drm_device *dev)  	priv->encoders[priv->num_encoders++] = encoder;  	priv->connectors[priv->num_connectors++] = connector; +	tilcdc_crtc_set_panel_info(priv->crtc, +				   to_panel_encoder(encoder)->mod->info); +  	return 0;  } @@ -392,8 +388,6 @@ static int panel_probe(struct platform_device *pdev)  		goto fail_timings;  	} -	mod->preferred_bpp = panel_mod->info->bpp; -  	return 0;  fail_timings:  | 
