[Intel-gfx] [PATCH 12/29] drm/i915: Streamline gpio_mmio_base deduction

Daniel Vetter daniel at ffwll.ch
Wed Nov 18 01:46:09 PST 2015


On Wed, Nov 04, 2015 at 11:20:00PM +0200, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> If we ignore the BXT situation, we can observe that the only variables
> affecting gpio_mmio_base is IS_VALLEVIEW and HAS_GMCH_DISPLAY. The BXT
> situation we can fit into the same pattern if we change gmbus_pins_bxt[]
> to house the GMCH GPIO register offsets (like we do for all other
> platfotms). So let's do that.
> 
> We could even simplify the VLV situation more by including the
> display_mmio_offset in the GPIO register defines, but let's leave it be
> for now.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> ---
>  drivers/gpu/drm/i915/intel_i2c.c | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c
> index bd58da0..9d35589 100644
> --- a/drivers/gpu/drm/i915/intel_i2c.c
> +++ b/drivers/gpu/drm/i915/intel_i2c.c
> @@ -63,9 +63,9 @@ static const struct gmbus_pin gmbus_pins_skl[] = {
>  };
>  
>  static const struct gmbus_pin gmbus_pins_bxt[] = {
> -	[GMBUS_PIN_1_BXT] = { "dpb", PCH_GPIOB },
> -	[GMBUS_PIN_2_BXT] = { "dpc", PCH_GPIOC },
> -	[GMBUS_PIN_3_BXT] = { "misc", PCH_GPIOD },
> +	[GMBUS_PIN_1_BXT] = { "dpb", GPIOB },
> +	[GMBUS_PIN_2_BXT] = { "dpc", GPIOC },
> +	[GMBUS_PIN_3_BXT] = { "misc", GPIOD },
>  };
>  
>  /* pin is expected to be valid */
> @@ -626,12 +626,11 @@ int intel_setup_gmbus(struct drm_device *dev)
>  
>  	if (HAS_PCH_NOP(dev))
>  		return 0;
> -	else if (HAS_PCH_SPLIT(dev))
> -		dev_priv->gpio_mmio_base = PCH_GPIOA - GPIOA;
> -	else if (IS_VALLEYVIEW(dev))
> +
> +	if (IS_VALLEYVIEW(dev))
>  		dev_priv->gpio_mmio_base = VLV_DISPLAY_BASE;
> -	else
> -		dev_priv->gpio_mmio_base = 0;
> +	else if (!HAS_GMCH_DISPLAY(dev))
> +		dev_priv->gpio_mmio_base = PCH_GPIOA - GPIOA;
>  
>  	mutex_init(&dev_priv->gmbus_mutex);
>  	init_waitqueue_head(&dev_priv->gmbus_wait_queue);
> -- 
> 2.4.10
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://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