All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Jani Nikula <jani.nikula@intel.com>
Cc: intel-gfx@lists.freedesktop.org, Ben Widawsky <ben@bwidawsk.net>
Subject: Re: [RFC PATCH 1/2] drm/i915: shuffle panel code
Date: Tue, 20 May 2014 12:00:27 -0700	[thread overview]
Message-ID: <20140520120027.0bbd698c@jbarnes-desktop> (raw)
In-Reply-To: <1398803449-27148-1-git-send-email-jani.nikula@intel.com>

On Tue, 29 Apr 2014 23:30:48 +0300
Jani Nikula <jani.nikula@intel.com> wrote:

> Somehow a few functions have been dropped in the middle of backlight
> code. Move them around. No functional changes.
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_panel.c | 150 ++++++++++++++++++-------------------
>  1 file changed, 75 insertions(+), 75 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 44ad415e3706..776249bab488 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -42,6 +42,59 @@ intel_fixed_panel_mode(const struct drm_display_mode *fixed_mode,
>  	drm_mode_set_crtcinfo(adjusted_mode, 0);
>  }
>  
> +/**
> + * intel_find_panel_downclock - find the reduced downclock for LVDS in EDID
> + * @dev: drm device
> + * @fixed_mode : panel native mode
> + * @connector: LVDS/eDP connector
> + *
> + * Return downclock_avail
> + * Find the reduced downclock for LVDS/eDP in EDID.
> + */
> +struct drm_display_mode *
> +intel_find_panel_downclock(struct drm_device *dev,
> +			struct drm_display_mode *fixed_mode,
> +			struct drm_connector *connector)
> +{
> +	struct drm_display_mode *scan, *tmp_mode;
> +	int temp_downclock;
> +
> +	temp_downclock = fixed_mode->clock;
> +	tmp_mode = NULL;
> +
> +	list_for_each_entry(scan, &connector->probed_modes, head) {
> +		/*
> +		 * If one mode has the same resolution with the fixed_panel
> +		 * mode while they have the different refresh rate, it means
> +		 * that the reduced downclock is found. In such
> +		 * case we can set the different FPx0/1 to dynamically select
> +		 * between low and high frequency.
> +		 */
> +		if (scan->hdisplay == fixed_mode->hdisplay &&
> +		    scan->hsync_start == fixed_mode->hsync_start &&
> +		    scan->hsync_end == fixed_mode->hsync_end &&
> +		    scan->htotal == fixed_mode->htotal &&
> +		    scan->vdisplay == fixed_mode->vdisplay &&
> +		    scan->vsync_start == fixed_mode->vsync_start &&
> +		    scan->vsync_end == fixed_mode->vsync_end &&
> +		    scan->vtotal == fixed_mode->vtotal) {
> +			if (scan->clock < temp_downclock) {
> +				/*
> +				 * The downclock is already found. But we
> +				 * expect to find the lower downclock.
> +				 */
> +				temp_downclock = scan->clock;
> +				tmp_mode = scan;
> +			}
> +		}
> +	}
> +
> +	if (temp_downclock < fixed_mode->clock)
> +		return drm_mode_duplicate(dev, tmp_mode);
> +	else
> +		return NULL;
> +}
> +
>  /* adjusted_mode has been preset to be the panel's fixed mode */
>  void
>  intel_pch_panel_fitting(struct intel_crtc *intel_crtc,
> @@ -323,6 +376,28 @@ out:
>  	pipe_config->gmch_pfit.lvds_border_bits = border;
>  }
>  
> +enum drm_connector_status
> +intel_panel_detect(struct drm_device *dev)
> +{
> +	struct drm_i915_private *dev_priv = dev->dev_private;
> +
> +	/* Assume that the BIOS does not lie through the OpRegion... */
> +	if (!i915.panel_ignore_lid && dev_priv->opregion.lid_state) {
> +		return ioread32(dev_priv->opregion.lid_state) & 0x1 ?
> +			connector_status_connected :
> +			connector_status_disconnected;
> +	}
> +
> +	switch (i915.panel_ignore_lid) {
> +	case -2:
> +		return connector_status_connected;
> +	case -1:
> +		return connector_status_disconnected;
> +	default:
> +		return connector_status_unknown;
> +	}
> +}
> +
>  static u32 intel_panel_compute_brightness(struct intel_connector *connector,
>  					  u32 val)
>  {
> @@ -795,28 +870,6 @@ void intel_panel_enable_backlight(struct intel_connector *connector)
>  	spin_unlock_irqrestore(&dev_priv->backlight_lock, flags);
>  }
>  
> -enum drm_connector_status
> -intel_panel_detect(struct drm_device *dev)
> -{
> -	struct drm_i915_private *dev_priv = dev->dev_private;
> -
> -	/* Assume that the BIOS does not lie through the OpRegion... */
> -	if (!i915.panel_ignore_lid && dev_priv->opregion.lid_state) {
> -		return ioread32(dev_priv->opregion.lid_state) & 0x1 ?
> -			connector_status_connected :
> -			connector_status_disconnected;
> -	}
> -
> -	switch (i915.panel_ignore_lid) {
> -	case -2:
> -		return connector_status_connected;
> -	case -1:
> -		return connector_status_disconnected;
> -	default:
> -		return connector_status_unknown;
> -	}
> -}
> -
>  #if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE)
>  static int intel_backlight_device_update_status(struct backlight_device *bd)
>  {
> @@ -1103,59 +1156,6 @@ void intel_panel_destroy_backlight(struct drm_connector *connector)
>  	intel_backlight_device_unregister(intel_connector);
>  }
>  
> -/**
> - * intel_find_panel_downclock - find the reduced downclock for LVDS in EDID
> - * @dev: drm device
> - * @fixed_mode : panel native mode
> - * @connector: LVDS/eDP connector
> - *
> - * Return downclock_avail
> - * Find the reduced downclock for LVDS/eDP in EDID.
> - */
> -struct drm_display_mode *
> -intel_find_panel_downclock(struct drm_device *dev,
> -			struct drm_display_mode *fixed_mode,
> -			struct drm_connector *connector)
> -{
> -	struct drm_display_mode *scan, *tmp_mode;
> -	int temp_downclock;
> -
> -	temp_downclock = fixed_mode->clock;
> -	tmp_mode = NULL;
> -
> -	list_for_each_entry(scan, &connector->probed_modes, head) {
> -		/*
> -		 * If one mode has the same resolution with the fixed_panel
> -		 * mode while they have the different refresh rate, it means
> -		 * that the reduced downclock is found. In such
> -		 * case we can set the different FPx0/1 to dynamically select
> -		 * between low and high frequency.
> -		 */
> -		if (scan->hdisplay == fixed_mode->hdisplay &&
> -		    scan->hsync_start == fixed_mode->hsync_start &&
> -		    scan->hsync_end == fixed_mode->hsync_end &&
> -		    scan->htotal == fixed_mode->htotal &&
> -		    scan->vdisplay == fixed_mode->vdisplay &&
> -		    scan->vsync_start == fixed_mode->vsync_start &&
> -		    scan->vsync_end == fixed_mode->vsync_end &&
> -		    scan->vtotal == fixed_mode->vtotal) {
> -			if (scan->clock < temp_downclock) {
> -				/*
> -				 * The downclock is already found. But we
> -				 * expect to find the lower downclock.
> -				 */
> -				temp_downclock = scan->clock;
> -				tmp_mode = scan;
> -			}
> -		}
> -	}
> -
> -	if (temp_downclock < fixed_mode->clock)
> -		return drm_mode_duplicate(dev, tmp_mode);
> -	else
> -		return NULL;
> -}
> -
>  /* Set up chip specific backlight functions */
>  void intel_panel_init_backlight_funcs(struct drm_device *dev)
>  {

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>

-- 
Jesse Barnes, Intel Open Source Technology Center

  parent reply	other threads:[~2014-05-20 19:00 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-29 20:30 [RFC PATCH 1/2] drm/i915: shuffle panel code Jani Nikula
2014-04-29 20:30 ` [RFC PATCH 2/2] drm/i915: respect the VBT minimum backlight brightness Jani Nikula
2014-04-29 20:37   ` Jani Nikula
2014-05-20 19:08   ` Jesse Barnes
2014-06-06 13:40     ` Jani Nikula
2014-06-03 16:40   ` Stéphane Marchesin
2014-06-03 20:26     ` Daniel Vetter
2014-06-04  8:25       ` Stéphane Marchesin
2014-06-04  9:11         ` Jani Nikula
2014-06-04 15:04           ` Stéphane Marchesin
2014-06-05 16:30             ` Jesse Barnes
2014-06-05 16:34             ` Matthew Garrett
2014-05-20 19:00 ` Jesse Barnes [this message]
2014-05-20 19:08   ` [RFC PATCH 1/2] drm/i915: shuffle panel code 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=20140520120027.0bbd698c@jbarnes-desktop \
    --to=jbarnes@virtuousgeek.org \
    --cc=ben@bwidawsk.net \
    --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.