|
@@ -76,8 +76,7 @@ static bool is_cpu_edp(struct intel_dp *intel_dp)
|
|
|
|
|
|
static struct intel_dp *intel_attached_dp(struct drm_connector *connector)
|
|
|
{
|
|
|
- return container_of(intel_attached_encoder(connector),
|
|
|
- struct intel_dp, base);
|
|
|
+ return enc_to_intel_dp(&intel_attached_encoder(connector)->base);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -105,7 +104,7 @@ void
|
|
|
intel_edp_link_config(struct intel_encoder *intel_encoder,
|
|
|
int *lane_num, int *link_bw)
|
|
|
{
|
|
|
- struct intel_dp *intel_dp = container_of(intel_encoder, struct intel_dp, base);
|
|
|
+ struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base);
|
|
|
|
|
|
*lane_num = intel_dp->lane_count;
|
|
|
*link_bw = drm_dp_bw_code_to_link_rate(intel_dp->link_bw);
|
|
@@ -115,7 +114,7 @@ int
|
|
|
intel_edp_target_clock(struct intel_encoder *intel_encoder,
|
|
|
struct drm_display_mode *mode)
|
|
|
{
|
|
|
- struct intel_dp *intel_dp = container_of(intel_encoder, struct intel_dp, base);
|
|
|
+ struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base);
|
|
|
struct intel_connector *intel_connector = intel_dp->attached_connector;
|
|
|
|
|
|
if (intel_connector->panel.fixed_mode)
|
|
@@ -771,7 +770,8 @@ intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode,
|
|
|
struct drm_display_mode *adjusted_mode)
|
|
|
{
|
|
|
struct drm_device *dev = crtc->dev;
|
|
|
- struct intel_encoder *encoder;
|
|
|
+ struct intel_encoder *intel_encoder;
|
|
|
+ struct intel_dp *intel_dp;
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
|
|
int lane_count = 4;
|
|
@@ -782,11 +782,11 @@ intel_dp_set_m_n(struct drm_crtc *crtc, struct drm_display_mode *mode,
|
|
|
/*
|
|
|
* Find the lane count in the intel_encoder private
|
|
|
*/
|
|
|
- for_each_encoder_on_crtc(dev, crtc, encoder) {
|
|
|
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
|
|
|
+ for_each_encoder_on_crtc(dev, crtc, intel_encoder) {
|
|
|
+ intel_dp = enc_to_intel_dp(&intel_encoder->base);
|
|
|
|
|
|
- if (intel_dp->base.type == INTEL_OUTPUT_DISPLAYPORT ||
|
|
|
- intel_dp->base.type == INTEL_OUTPUT_EDP)
|
|
|
+ if (intel_encoder->type == INTEL_OUTPUT_DISPLAYPORT ||
|
|
|
+ intel_encoder->type == INTEL_OUTPUT_EDP)
|
|
|
{
|
|
|
lane_count = intel_dp->lane_count;
|
|
|
break;
|
|
@@ -848,7 +848,7 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode,
|
|
|
struct drm_device *dev = encoder->dev;
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
|
|
|
- struct drm_crtc *crtc = intel_dp->base.base.crtc;
|
|
|
+ struct drm_crtc *crtc = encoder->crtc;
|
|
|
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
|
|
|
|
|
|
/*
|
|
@@ -2278,7 +2278,7 @@ static enum drm_connector_status
|
|
|
intel_dp_detect(struct drm_connector *connector, bool force)
|
|
|
{
|
|
|
struct intel_dp *intel_dp = intel_attached_dp(connector);
|
|
|
- struct drm_device *dev = intel_dp->base.base.dev;
|
|
|
+ struct drm_device *dev = connector->dev;
|
|
|
enum drm_connector_status status;
|
|
|
struct edid *edid = NULL;
|
|
|
char dpcd_hex_dump[sizeof(intel_dp->dpcd) * 3];
|
|
@@ -2316,7 +2316,7 @@ static int intel_dp_get_modes(struct drm_connector *connector)
|
|
|
{
|
|
|
struct intel_dp *intel_dp = intel_attached_dp(connector);
|
|
|
struct intel_connector *intel_connector = to_intel_connector(connector);
|
|
|
- struct drm_device *dev = intel_dp->base.base.dev;
|
|
|
+ struct drm_device *dev = connector->dev;
|
|
|
int ret;
|
|
|
|
|
|
/* We should parse the EDID data and find out if it has an audio sink
|
|
@@ -2492,7 +2492,7 @@ static const struct drm_encoder_funcs intel_dp_enc_funcs = {
|
|
|
static void
|
|
|
intel_dp_hot_plug(struct intel_encoder *intel_encoder)
|
|
|
{
|
|
|
- struct intel_dp *intel_dp = container_of(intel_encoder, struct intel_dp, base);
|
|
|
+ struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base);
|
|
|
|
|
|
intel_dp_check_link_status(intel_dp);
|
|
|
}
|
|
@@ -2502,13 +2502,14 @@ int
|
|
|
intel_trans_dp_port_sel(struct drm_crtc *crtc)
|
|
|
{
|
|
|
struct drm_device *dev = crtc->dev;
|
|
|
- struct intel_encoder *encoder;
|
|
|
+ struct intel_encoder *intel_encoder;
|
|
|
+ struct intel_dp *intel_dp;
|
|
|
|
|
|
- for_each_encoder_on_crtc(dev, crtc, encoder) {
|
|
|
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
|
|
|
+ for_each_encoder_on_crtc(dev, crtc, intel_encoder) {
|
|
|
+ intel_dp = enc_to_intel_dp(&intel_encoder->base);
|
|
|
|
|
|
- if (intel_dp->base.type == INTEL_OUTPUT_DISPLAYPORT ||
|
|
|
- intel_dp->base.type == INTEL_OUTPUT_EDP)
|
|
|
+ if (intel_encoder->type == INTEL_OUTPUT_DISPLAYPORT ||
|
|
|
+ intel_encoder->type == INTEL_OUTPUT_EDP)
|
|
|
return intel_dp->output_reg;
|
|
|
}
|
|
|
|
|
@@ -2802,8 +2803,8 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port)
|
|
|
} else {
|
|
|
/* if this fails, presume the device is a ghost */
|
|
|
DRM_INFO("failed to retrieve link info, disabling eDP\n");
|
|
|
- intel_dp_encoder_destroy(&intel_dp->base.base);
|
|
|
- intel_dp_destroy(&intel_connector->base);
|
|
|
+ intel_dp_encoder_destroy(&intel_encoder->base);
|
|
|
+ intel_dp_destroy(connector);
|
|
|
return;
|
|
|
}
|
|
|
|