From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Jani Nikula <jani.nikula@intel.com>,
Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 1/2] drm/i915/tv: add ->get_config callback
Date: Mon, 18 Nov 2013 22:14:26 +0200 [thread overview]
Message-ID: <20131118201426.GQ7819@intel.com> (raw)
In-Reply-To: <1384761659-4915-1-git-send-email-daniel.vetter@ffwll.ch>
On Mon, Nov 18, 2013 at 09:00:58AM +0100, Daniel Vetter wrote:
> We need this to properly fill in adjusted_mode.crtc_clock, otherwise
> the state checker gets unhappy. This seems to have been forgotten in
> the big clock rework in
>
> commit 18442d08786472c63a0a80c27f92b033dffc26de
> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Date: Fri Sep 13 16:00:08 2013 +0300
>
> drm/i915: Fix port_clock and adjusted_mode.clock readout all over
>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
For the series:
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Although using adjusted_mode.crtc_clock in intel_tv compute_config and
get_config is a bit wrong I think. That's not really the pixel clock
we're shoveling into it, so we're going to be computing the watermarks
incorrectly.
To do it really right, I think we should stick the tv_mode clock to
port_clock, and then compute the pixel rate based on the input mode
and the refresh rate. Or maybe we just need a TV out specific version
of ilk_pipe_pixel_rate() (just like we'd need one for GMCH panel fitter).
The TV out scaler is essentially just another panel fitter anyway.
> ---
> drivers/gpu/drm/i915/intel_tv.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
> index 18c406246a2d..22cf0f4ba248 100644
> --- a/drivers/gpu/drm/i915/intel_tv.c
> +++ b/drivers/gpu/drm/i915/intel_tv.c
> @@ -902,6 +902,13 @@ intel_tv_mode_valid(struct drm_connector *connector,
> }
>
>
> +static void
> +intel_tv_get_config(struct intel_encoder *encoder,
> + struct intel_crtc_config *pipe_config)
> +{
> + pipe_config->adjusted_mode.crtc_clock = pipe_config->port_clock;
> +}
> +
> static bool
> intel_tv_compute_config(struct intel_encoder *encoder,
> struct intel_crtc_config *pipe_config)
> @@ -1621,6 +1628,7 @@ intel_tv_init(struct drm_device *dev)
> DRM_MODE_ENCODER_TVDAC);
>
> intel_encoder->compute_config = intel_tv_compute_config;
> + intel_encoder->get_config = intel_tv_get_config;
> intel_encoder->mode_set = intel_tv_mode_set;
> intel_encoder->enable = intel_enable_tv;
> intel_encoder->disable = intel_disable_tv;
> --
> 1.8.4.rc3
--
Ville Syrjälä
Intel OTC
next prev parent reply other threads:[~2013-11-18 20:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-18 8:00 [PATCH 1/2] drm/i915/tv: add ->get_config callback Daniel Vetter
2013-11-18 8:00 ` [PATCH 2/2] drm/i915: encoder->get_config is no longer optional Daniel Vetter
2013-11-18 20:14 ` Ville Syrjälä [this message]
2013-11-18 21:59 ` [PATCH 1/2] drm/i915/tv: add ->get_config callback Daniel Vetter
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=20131118201426.GQ7819@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=daniel.vetter@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.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.