forked from mirrors/linux
		
	drm/i915: Give encoders useful names
Rather than let the core generate usless encoder names, let's pass in something that actually identifies the piece of hardware we're dealing with. v2: Use 'DSI %c' instead of 'MIPI %c' for DSI encoders (Jani) v3: Use port_name() in DSI code since we have it Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1464371966-15190-7-git-send-email-ville.syrjala@linux.intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
		
							parent
							
								
									38573dc1c3
								
							
						
					
					
						commit
						580d8ed522
					
				
					 10 changed files with 25 additions and 11 deletions
				
			
		| 
						 | 
					@ -839,7 +839,7 @@ void intel_crt_init(struct drm_device *dev)
 | 
				
			||||||
			   &intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA);
 | 
								   &intel_crt_connector_funcs, DRM_MODE_CONNECTOR_VGA);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	drm_encoder_init(dev, &crt->base.base, &intel_crt_enc_funcs,
 | 
						drm_encoder_init(dev, &crt->base.base, &intel_crt_enc_funcs,
 | 
				
			||||||
			 DRM_MODE_ENCODER_DAC, NULL);
 | 
								 DRM_MODE_ENCODER_DAC, "CRT");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	intel_connector_attach_encoder(intel_connector, &crt->base);
 | 
						intel_connector_attach_encoder(intel_connector, &crt->base);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2347,7 +2347,7 @@ void intel_ddi_init(struct drm_device *dev, enum port port)
 | 
				
			||||||
	encoder = &intel_encoder->base;
 | 
						encoder = &intel_encoder->base;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	drm_encoder_init(dev, encoder, &intel_ddi_funcs,
 | 
						drm_encoder_init(dev, encoder, &intel_ddi_funcs,
 | 
				
			||||||
			 DRM_MODE_ENCODER_TMDS, NULL);
 | 
								 DRM_MODE_ENCODER_TMDS, "DDI %c", port_name(port));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	intel_encoder->compute_config = intel_ddi_compute_config;
 | 
						intel_encoder->compute_config = intel_ddi_compute_config;
 | 
				
			||||||
	intel_encoder->enable = intel_enable_ddi;
 | 
						intel_encoder->enable = intel_enable_ddi;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5590,7 +5590,7 @@ intel_dp_init(struct drm_device *dev,
 | 
				
			||||||
	encoder = &intel_encoder->base;
 | 
						encoder = &intel_encoder->base;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (drm_encoder_init(dev, &intel_encoder->base, &intel_dp_enc_funcs,
 | 
						if (drm_encoder_init(dev, &intel_encoder->base, &intel_dp_enc_funcs,
 | 
				
			||||||
			     DRM_MODE_ENCODER_TMDS, NULL))
 | 
								     DRM_MODE_ENCODER_TMDS, "DP %c", port_name(port)))
 | 
				
			||||||
		goto err_encoder_init;
 | 
							goto err_encoder_init;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	intel_encoder->compute_config = intel_dp_compute_config;
 | 
						intel_encoder->compute_config = intel_dp_compute_config;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -534,7 +534,7 @@ intel_dp_create_fake_mst_encoder(struct intel_digital_port *intel_dig_port, enum
 | 
				
			||||||
	intel_mst->primary = intel_dig_port;
 | 
						intel_mst->primary = intel_dig_port;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	drm_encoder_init(dev, &intel_encoder->base, &intel_dp_mst_enc_funcs,
 | 
						drm_encoder_init(dev, &intel_encoder->base, &intel_dp_mst_enc_funcs,
 | 
				
			||||||
			 DRM_MODE_ENCODER_DPMST, NULL);
 | 
								 DRM_MODE_ENCODER_DPMST, "DP-MST %c", pipe_name(pipe));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	intel_encoder->type = INTEL_OUTPUT_DP_MST;
 | 
						intel_encoder->type = INTEL_OUTPUT_DP_MST;
 | 
				
			||||||
	intel_encoder->crtc_mask = 0x7;
 | 
						intel_encoder->crtc_mask = 0x7;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1450,7 +1450,7 @@ void intel_dsi_init(struct drm_device *dev)
 | 
				
			||||||
	connector = &intel_connector->base;
 | 
						connector = &intel_connector->base;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	drm_encoder_init(dev, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
 | 
						drm_encoder_init(dev, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
 | 
				
			||||||
			 NULL);
 | 
								 "DSI %c", port_name(port));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	intel_encoder->compute_config = intel_dsi_compute_config;
 | 
						intel_encoder->compute_config = intel_dsi_compute_config;
 | 
				
			||||||
	intel_encoder->pre_enable = intel_dsi_pre_enable;
 | 
						intel_encoder->pre_enable = intel_dsi_pre_enable;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -406,6 +406,18 @@ intel_dvo_get_current_mode(struct drm_connector *connector)
 | 
				
			||||||
	return mode;
 | 
						return mode;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static char intel_dvo_port_name(i915_reg_t dvo_reg)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if (i915_mmio_reg_equal(dvo_reg, DVOA))
 | 
				
			||||||
 | 
							return 'A';
 | 
				
			||||||
 | 
						else if (i915_mmio_reg_equal(dvo_reg, DVOB))
 | 
				
			||||||
 | 
							return 'B';
 | 
				
			||||||
 | 
						else if (i915_mmio_reg_equal(dvo_reg, DVOC))
 | 
				
			||||||
 | 
							return 'C';
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							return '?';
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void intel_dvo_init(struct drm_device *dev)
 | 
					void intel_dvo_init(struct drm_device *dev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct drm_i915_private *dev_priv = dev->dev_private;
 | 
						struct drm_i915_private *dev_priv = dev->dev_private;
 | 
				
			||||||
| 
						 | 
					@ -428,8 +440,6 @@ void intel_dvo_init(struct drm_device *dev)
 | 
				
			||||||
	intel_dvo->attached_connector = intel_connector;
 | 
						intel_dvo->attached_connector = intel_connector;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	intel_encoder = &intel_dvo->base;
 | 
						intel_encoder = &intel_dvo->base;
 | 
				
			||||||
	drm_encoder_init(dev, &intel_encoder->base,
 | 
					 | 
				
			||||||
			 &intel_dvo_enc_funcs, encoder_type, NULL);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	intel_encoder->disable = intel_disable_dvo;
 | 
						intel_encoder->disable = intel_disable_dvo;
 | 
				
			||||||
	intel_encoder->enable = intel_enable_dvo;
 | 
						intel_encoder->enable = intel_enable_dvo;
 | 
				
			||||||
| 
						 | 
					@ -496,6 +506,10 @@ void intel_dvo_init(struct drm_device *dev)
 | 
				
			||||||
		if (!dvoinit)
 | 
							if (!dvoinit)
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							drm_encoder_init(dev, &intel_encoder->base,
 | 
				
			||||||
 | 
									 &intel_dvo_enc_funcs, encoder_type,
 | 
				
			||||||
 | 
									 "DVO %c", intel_dvo_port_name(dvo->dvo_reg));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		intel_encoder->type = INTEL_OUTPUT_DVO;
 | 
							intel_encoder->type = INTEL_OUTPUT_DVO;
 | 
				
			||||||
		intel_encoder->crtc_mask = (1 << 0) | (1 << 1);
 | 
							intel_encoder->crtc_mask = (1 << 0) | (1 << 1);
 | 
				
			||||||
		switch (dvo->type) {
 | 
							switch (dvo->type) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1945,7 +1945,7 @@ void intel_hdmi_init(struct drm_device *dev,
 | 
				
			||||||
	intel_encoder = &intel_dig_port->base;
 | 
						intel_encoder = &intel_dig_port->base;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	drm_encoder_init(dev, &intel_encoder->base, &intel_hdmi_enc_funcs,
 | 
						drm_encoder_init(dev, &intel_encoder->base, &intel_hdmi_enc_funcs,
 | 
				
			||||||
			 DRM_MODE_ENCODER_TMDS, NULL);
 | 
								 DRM_MODE_ENCODER_TMDS, "HDMI %c", port_name(port));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	intel_encoder->compute_config = intel_hdmi_compute_config;
 | 
						intel_encoder->compute_config = intel_hdmi_compute_config;
 | 
				
			||||||
	if (HAS_PCH_SPLIT(dev)) {
 | 
						if (HAS_PCH_SPLIT(dev)) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -978,7 +978,7 @@ void intel_lvds_init(struct drm_device *dev)
 | 
				
			||||||
			   DRM_MODE_CONNECTOR_LVDS);
 | 
								   DRM_MODE_CONNECTOR_LVDS);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	drm_encoder_init(dev, &intel_encoder->base, &intel_lvds_enc_funcs,
 | 
						drm_encoder_init(dev, &intel_encoder->base, &intel_lvds_enc_funcs,
 | 
				
			||||||
			 DRM_MODE_ENCODER_LVDS, NULL);
 | 
								 DRM_MODE_ENCODER_LVDS, "LVDS");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	intel_encoder->enable = intel_enable_lvds;
 | 
						intel_encoder->enable = intel_enable_lvds;
 | 
				
			||||||
	intel_encoder->pre_enable = intel_pre_enable_lvds;
 | 
						intel_encoder->pre_enable = intel_pre_enable_lvds;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2981,7 +2981,7 @@ bool intel_sdvo_init(struct drm_device *dev,
 | 
				
			||||||
	intel_encoder = &intel_sdvo->base;
 | 
						intel_encoder = &intel_sdvo->base;
 | 
				
			||||||
	intel_encoder->type = INTEL_OUTPUT_SDVO;
 | 
						intel_encoder->type = INTEL_OUTPUT_SDVO;
 | 
				
			||||||
	drm_encoder_init(dev, &intel_encoder->base, &intel_sdvo_enc_funcs, 0,
 | 
						drm_encoder_init(dev, &intel_encoder->base, &intel_sdvo_enc_funcs, 0,
 | 
				
			||||||
			 NULL);
 | 
								 "SDVO %c", port_name(port));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Read the regs to test if we can talk to the device */
 | 
						/* Read the regs to test if we can talk to the device */
 | 
				
			||||||
	for (i = 0; i < 0x40; i++) {
 | 
						for (i = 0; i < 0x40; i++) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1591,7 +1591,7 @@ intel_tv_init(struct drm_device *dev)
 | 
				
			||||||
			   DRM_MODE_CONNECTOR_SVIDEO);
 | 
								   DRM_MODE_CONNECTOR_SVIDEO);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	drm_encoder_init(dev, &intel_encoder->base, &intel_tv_enc_funcs,
 | 
						drm_encoder_init(dev, &intel_encoder->base, &intel_tv_enc_funcs,
 | 
				
			||||||
			 DRM_MODE_ENCODER_TVDAC, NULL);
 | 
								 DRM_MODE_ENCODER_TVDAC, "TV");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	intel_encoder->compute_config = intel_tv_compute_config;
 | 
						intel_encoder->compute_config = intel_tv_compute_config;
 | 
				
			||||||
	intel_encoder->get_config = intel_tv_get_config;
 | 
						intel_encoder->get_config = intel_tv_get_config;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue