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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox