From: Jani Nikula <jani.nikula@linux.intel.com>
To: Paulo Zanoni <przanoni@gmail.com>, intel-gfx@lists.freedesktop.org
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Subject: Re: [PATCH 01/14] drm/i915: add DP support to intel_ddi_enable_pipe_func
Date: Tue, 16 Oct 2012 13:04:45 +0300 [thread overview]
Message-ID: <871ugylole.fsf@intel.com> (raw)
In-Reply-To: <1350327102-4463-2-git-send-email-przanoni@gmail.com>
On Mon, 15 Oct 2012, Paulo Zanoni <przanoni@gmail.com> wrote:
> From: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
> ---
> drivers/gpu/drm/i915/intel_ddi.c | 34 ++++++++++++++++++++++++++++++----
> drivers/gpu/drm/i915/intel_dp.c | 5 -----
> drivers/gpu/drm/i915/intel_drv.h | 5 +++++
> 3 files changed, 35 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index a78860a..9659c227 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -831,8 +831,10 @@ void intel_ddi_enable_pipe_func(struct drm_crtc *crtc)
> {
> struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> struct intel_encoder *intel_encoder = intel_ddi_get_crtc_encoder(crtc);
> + struct drm_encoder *encoder = &intel_encoder->base;
> struct drm_i915_private *dev_priv = crtc->dev->dev_private;
> enum pipe pipe = intel_crtc->pipe;
> + int type = intel_encoder->type;
> uint32_t temp;
>
> /* Enable PIPE_DDI_FUNC_CTL for the pipe to work in HDMI mode */
> @@ -861,9 +863,8 @@ void intel_ddi_enable_pipe_func(struct drm_crtc *crtc)
> if (crtc->mode.flags & DRM_MODE_FLAG_PHSYNC)
> temp |= PIPE_DDI_PHSYNC;
>
> - if (intel_encoder->type == INTEL_OUTPUT_HDMI) {
> - struct intel_hdmi *intel_hdmi =
> - enc_to_intel_hdmi(&intel_encoder->base);
> + if (type == INTEL_OUTPUT_HDMI) {
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>
> if (intel_hdmi->has_hdmi_sink)
> temp |= PIPE_DDI_MODE_SELECT_HDMI;
> @@ -871,9 +872,34 @@ void intel_ddi_enable_pipe_func(struct drm_crtc *crtc)
> temp |= PIPE_DDI_MODE_SELECT_DVI;
>
> temp |= PIPE_DDI_SELECT_PORT(intel_hdmi->ddi_port);
> - } else if (intel_encoder->type == INTEL_OUTPUT_ANALOG) {
> +
> + } else if (type == INTEL_OUTPUT_ANALOG) {
> temp |= PIPE_DDI_MODE_SELECT_FDI;
> temp |= PIPE_DDI_SELECT_PORT(PORT_E);
> +
> + } else if (type == INTEL_OUTPUT_DISPLAYPORT ||
> + type == INTEL_OUTPUT_EDP) {
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> +
> + temp |= PIPE_DDI_MODE_SELECT_DP_SST;
> + temp |= PIPE_DDI_SELECT_PORT(intel_dp->port);
> +
> + switch (intel_dp->lane_count) {
> + case 1:
> + temp |= PIPE_DDI_PORT_WIDTH_X1;
> + break;
> + case 2:
> + temp |= PIPE_DDI_PORT_WIDTH_X2;
> + break;
> + case 4:
> + temp |= PIPE_DDI_PORT_WIDTH_X4;
> + break;
> + default:
> + temp |= PIPE_DDI_PORT_WIDTH_X4;
> + WARN(1, "Unsupported lane count %d\n",
> + intel_dp->lane_count);
> + }
> +
> } else {
> WARN(1, "Invalid encoder type %d for pipe %d\n",
> intel_encoder->type, pipe);
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index fcce392..871bc17 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -77,11 +77,6 @@ static bool is_cpu_edp(struct intel_dp *intel_dp)
> return is_edp(intel_dp) && !is_pch_edp(intel_dp);
> }
>
> -static struct intel_dp *enc_to_intel_dp(struct drm_encoder *encoder)
> -{
> - return container_of(encoder, struct intel_dp, base.base);
> -}
> -
> static struct intel_dp *intel_attached_dp(struct drm_connector *connector)
> {
> return container_of(intel_attached_encoder(connector),
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 245319a..7e1e670 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -474,6 +474,11 @@ static inline struct intel_encoder *intel_attached_encoder(struct drm_connector
> return to_intel_connector(connector)->encoder;
> }
>
> +static inline struct intel_dp *enc_to_intel_dp(struct drm_encoder *encoder)
> +{
> + return container_of(encoder, struct intel_dp, base.base);
> +}
> +
> extern void intel_connector_attach_encoder(struct intel_connector *connector,
> struct intel_encoder *encoder);
> extern struct drm_encoder *intel_best_encoder(struct drm_connector *connector);
> --
> 1.7.11.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2012-10-16 10:04 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-15 18:51 [PATCH 00/14] Haswell DP enablement Paulo Zanoni
2012-10-15 18:51 ` [PATCH 01/14] drm/i915: add DP support to intel_ddi_enable_pipe_func Paulo Zanoni
2012-10-16 10:04 ` Jani Nikula [this message]
2012-10-15 18:51 ` [PATCH 02/14] drm/i915: add intel_ddi_set_pipe_settings Paulo Zanoni
2012-10-16 8:05 ` Jani Nikula
2012-10-15 18:51 ` [PATCH 03/14] drm/i915: add DP support to intel_ddi_pll_mode_set Paulo Zanoni
2012-10-15 18:51 ` [PATCH 04/14] drm/i915: add DP support to intel_ddi_disable_port Paulo Zanoni
2012-10-16 10:05 ` Jani Nikula
2012-10-15 18:51 ` [PATCH 05/14] drm/i915: add DP support to intel_ddi_mode_set Paulo Zanoni
2012-10-18 18:00 ` Lespiau, Damien
2012-10-15 18:51 ` [PATCH 06/14] drm/i915: add basic Haswell DP link train bits Paulo Zanoni
2012-10-16 11:47 ` Jani Nikula
2012-10-15 18:51 ` [PATCH 07/14] drm/i915: use TU_SIZE macro at intel_dp_set_m_n Paulo Zanoni
2012-10-16 11:49 ` Jani Nikula
2012-10-17 20:27 ` Daniel Vetter
2012-10-18 17:14 ` Paulo Zanoni
2012-10-18 19:36 ` Daniel Vetter
2012-10-15 18:51 ` [PATCH 08/14] drm/i915: fix Haswell DP M/N registers Paulo Zanoni
2012-10-15 20:29 ` Adam Jackson
2012-10-15 20:39 ` Daniel Vetter
2012-10-15 20:45 ` Paulo Zanoni
2012-10-18 15:42 ` [PATCH 08/83] " Paulo Zanoni
2012-10-15 18:51 ` [PATCH 09/14] drm/i915: fix DP AUX register definitions on Haswell Paulo Zanoni
2012-10-18 13:57 ` Lespiau, Damien
2012-10-15 18:51 ` [PATCH 10/14] drm/i915: add DP support to intel_ddi_get_encoder_port Paulo Zanoni
2012-10-18 14:06 ` Lespiau, Damien
2012-10-15 18:51 ` [PATCH 11/14] drm/i915: add DP support to intel_ddi_get_hw_state Paulo Zanoni
2012-10-18 14:14 ` Lespiau, Damien
2012-10-15 18:51 ` [PATCH 12/14] drm/i915: add DP support to intel_enable_ddi Paulo Zanoni
2012-10-18 14:20 ` Lespiau, Damien
2012-10-15 18:51 ` [PATCH 13/14] drm/i915: implement Haswell DP link train sequence Paulo Zanoni
2012-10-18 17:34 ` Lespiau, Damien
2012-10-15 18:51 ` [PATCH 14/14] drm/i915: set the correct function pointers for Haswell DP Paulo Zanoni
2012-10-18 17:36 ` Lespiau, Damien
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871ugylole.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=paulo.r.zanoni@intel.com \
--cc=przanoni@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.