[Intel-gfx] [PATCH 3/4] drm/i915: move sdvo mappings to vbt data
Daniel Vetter
daniel at ffwll.ch
Tue Mar 29 11:45:09 UTC 2016
On Thu, Mar 24, 2016 at 05:50:22PM +0200, Jani Nikula wrote:
> Move all data initialized from VBT under dev_priv->vbt. No functional
> changes.
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 3 +--
> drivers/gpu/drm/i915/intel_bios.c | 2 +-
> drivers/gpu/drm/i915/intel_sdvo.c | 16 ++++++++--------
> 3 files changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index ad6f69ef95d5..bf867e28731d 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1491,6 +1491,7 @@ struct intel_vbt_data {
> union child_device_config *child_dev;
>
> struct ddi_vbt_port_info ddi_port_info[I915_MAX_PORTS];
> + struct sdvo_device_mapping sdvo_mappings[2];
> };
>
> enum intel_ddb_partitioning {
> @@ -1823,8 +1824,6 @@ struct drm_i915_private {
>
> /* Kernel Modesetting */
>
> - struct sdvo_device_mapping sdvo_mappings[2];
> -
> struct drm_crtc *plane_to_crtc_mapping[I915_MAX_PIPES];
> struct drm_crtc *pipe_to_crtc_mapping[I915_MAX_PIPES];
> wait_queue_head_t pending_flip_queue;
> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> index 3af8a4a2e145..407fb7a12a49 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -482,7 +482,7 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv,
> child->slave_addr,
> (child->dvo_port == DEVICE_PORT_DVOB) ?
> "SDVOB" : "SDVOC");
> - p_mapping = &(dev_priv->sdvo_mappings[child->dvo_port - 1]);
> + p_mapping = &dev_priv->vbt.sdvo_mappings[child->dvo_port - 1];
Is the long-term plan that you pass around a point to dev_priv->vbt into
all the parsing functions? Could be nice step to reinforce all your work
to have vbt parsing consolidated into one place.
Anyway, on patches 2-4: Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> if (!p_mapping->initialized) {
> p_mapping->dvo_port = child->dvo_port;
> p_mapping->slave_addr = child->slave_addr;
> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
> index fae64bc93c1b..2128fae5687d 100644
> --- a/drivers/gpu/drm/i915/intel_sdvo.c
> +++ b/drivers/gpu/drm/i915/intel_sdvo.c
> @@ -2260,9 +2260,9 @@ intel_sdvo_select_ddc_bus(struct drm_i915_private *dev_priv,
> struct sdvo_device_mapping *mapping;
>
> if (sdvo->port == PORT_B)
> - mapping = &(dev_priv->sdvo_mappings[0]);
> + mapping = &dev_priv->vbt.sdvo_mappings[0];
> else
> - mapping = &(dev_priv->sdvo_mappings[1]);
> + mapping = &dev_priv->vbt.sdvo_mappings[1];
>
> if (mapping->initialized)
> sdvo->ddc_bus = 1 << ((mapping->ddc_pin & 0xf0) >> 4);
> @@ -2278,9 +2278,9 @@ intel_sdvo_select_i2c_bus(struct drm_i915_private *dev_priv,
> u8 pin;
>
> if (sdvo->port == PORT_B)
> - mapping = &dev_priv->sdvo_mappings[0];
> + mapping = &dev_priv->vbt.sdvo_mappings[0];
> else
> - mapping = &dev_priv->sdvo_mappings[1];
> + mapping = &dev_priv->vbt.sdvo_mappings[1];
>
> if (mapping->initialized &&
> intel_gmbus_is_valid_pin(dev_priv, mapping->i2c_pin))
> @@ -2316,11 +2316,11 @@ intel_sdvo_get_slave_addr(struct drm_device *dev, struct intel_sdvo *sdvo)
> struct sdvo_device_mapping *my_mapping, *other_mapping;
>
> if (sdvo->port == PORT_B) {
> - my_mapping = &dev_priv->sdvo_mappings[0];
> - other_mapping = &dev_priv->sdvo_mappings[1];
> + my_mapping = &dev_priv->vbt.sdvo_mappings[0];
> + other_mapping = &dev_priv->vbt.sdvo_mappings[1];
> } else {
> - my_mapping = &dev_priv->sdvo_mappings[1];
> - other_mapping = &dev_priv->sdvo_mappings[0];
> + my_mapping = &dev_priv->vbt.sdvo_mappings[1];
> + other_mapping = &dev_priv->vbt.sdvo_mappings[0];
> }
>
> /* If the BIOS described our SDVO device, take advantage of it. */
> --
> 2.1.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list