All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v5] drm/i915: Extend gpio read/write to other cores
Date: Thu, 04 Feb 2016 19:14:51 +0200	[thread overview]
Message-ID: <87mvrgtn1w.fsf@intel.com> (raw)
In-Reply-To: <20160204170305.GT23290@intel.com>

On Thu, 04 Feb 2016, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Thu, Feb 04, 2016 at 06:55:15PM +0200, Jani Nikula wrote:
>> From: Deepak M <m.deepak@intel.com>
>> 
>> Make the gpio read/write functions more generic iosf sideband read/write
>> functions, taking the iosf port as argument.
>> 
>> v2: rebase
>> v3: rebase
>> v4 by Jani: address Ville's review
>> v5 by Jani: drop the PCI_DEVFN change (Ville)
>> 
>> Signed-off-by: Deepak M <m.deepak@intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Pushed this patch to dinq, thanks for the review.

BR,
Jani.

>
>> ---
>>  drivers/gpu/drm/i915/i915_drv.h            | 4 ++--
>>  drivers/gpu/drm/i915/i915_reg.h            | 2 ++
>>  drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 5 +++--
>>  drivers/gpu/drm/i915/intel_sideband.c      | 9 +++++----
>>  4 files changed, 12 insertions(+), 8 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index bd126ff3a6e2..8216665405eb 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -3471,8 +3471,8 @@ int sandybridge_pcode_write(struct drm_i915_private *dev_priv, u32 mbox, u32 val
>>  u32 vlv_punit_read(struct drm_i915_private *dev_priv, u32 addr);
>>  void vlv_punit_write(struct drm_i915_private *dev_priv, u32 addr, u32 val);
>>  u32 vlv_nc_read(struct drm_i915_private *dev_priv, u8 addr);
>> -u32 vlv_gpio_nc_read(struct drm_i915_private *dev_priv, u32 reg);
>> -void vlv_gpio_nc_write(struct drm_i915_private *dev_priv, u32 reg, u32 val);
>> +u32 vlv_iosf_sb_read(struct drm_i915_private *dev_priv, u8 port, u32 reg);
>> +void vlv_iosf_sb_write(struct drm_i915_private *dev_priv, u8 port, u32 reg, u32 val);
>>  u32 vlv_cck_read(struct drm_i915_private *dev_priv, u32 reg);
>>  void vlv_cck_write(struct drm_i915_private *dev_priv, u32 reg, u32 val);
>>  u32 vlv_ccu_read(struct drm_i915_private *dev_priv, u32 reg);
>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>> index 6867295dbdc1..6732fc139196 100644
>> --- a/drivers/gpu/drm/i915/i915_reg.h
>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>> @@ -618,6 +618,8 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
>>  #define   IOSF_PORT_CCK				0x14
>>  #define   IOSF_PORT_DPIO_2			0x1a
>>  #define   IOSF_PORT_FLISDSI			0x1b
>> +#define   IOSF_PORT_GPIO_SC			0x48
>> +#define   IOSF_PORT_GPIO_SUS			0xa8
>>  #define   IOSF_PORT_CCU				0xa9
>>  #define VLV_IOSF_DATA				_MMIO(VLV_DISPLAY_BASE + 0x2104)
>>  #define VLV_IOSF_ADDR				_MMIO(VLV_DISPLAY_BASE + 0x2108)
>> diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
>> index bcc083db7632..b96ac87902b4 100644
>> --- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
>> +++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
>> @@ -235,14 +235,15 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data)
>>  	if (!gtable[gpio].init) {
>>  		/* program the function */
>>  		/* FIXME: remove constant below */
>> -		vlv_gpio_nc_write(dev_priv, function, 0x2000CC00);
>> +		vlv_iosf_sb_write(dev_priv, IOSF_PORT_GPIO_NC, function,
>> +				  0x2000CC00);
>>  		gtable[gpio].init = 1;
>>  	}
>>  
>>  	val = 0x4 | action;
>>  
>>  	/* pull up/down */
>> -	vlv_gpio_nc_write(dev_priv, pad, val);
>> +	vlv_iosf_sb_write(dev_priv, IOSF_PORT_GPIO_NC, pad, val);
>>  	mutex_unlock(&dev_priv->sb_lock);
>>  
>>  out:
>> diff --git a/drivers/gpu/drm/i915/intel_sideband.c b/drivers/gpu/drm/i915/intel_sideband.c
>> index f5b0ab6f5942..c3998188cf35 100644
>> --- a/drivers/gpu/drm/i915/intel_sideband.c
>> +++ b/drivers/gpu/drm/i915/intel_sideband.c
>> @@ -129,17 +129,18 @@ u32 vlv_nc_read(struct drm_i915_private *dev_priv, u8 addr)
>>  	return val;
>>  }
>>  
>> -u32 vlv_gpio_nc_read(struct drm_i915_private *dev_priv, u32 reg)
>> +u32 vlv_iosf_sb_read(struct drm_i915_private *dev_priv, u8 port, u32 reg)
>>  {
>>  	u32 val = 0;
>> -	vlv_sideband_rw(dev_priv, PCI_DEVFN(0, 0), IOSF_PORT_GPIO_NC,
>> +	vlv_sideband_rw(dev_priv, PCI_DEVFN(0, 0), port,
>>  			SB_CRRDDA_NP, reg, &val);
>>  	return val;
>>  }
>>  
>> -void vlv_gpio_nc_write(struct drm_i915_private *dev_priv, u32 reg, u32 val)
>> +void vlv_iosf_sb_write(struct drm_i915_private *dev_priv,
>> +		       u8 port, u32 reg, u32 val)
>>  {
>> -	vlv_sideband_rw(dev_priv, PCI_DEVFN(0, 0), IOSF_PORT_GPIO_NC,
>> +	vlv_sideband_rw(dev_priv, PCI_DEVFN(0, 0), port,
>>  			SB_CRWRDA_NP, reg, &val);
>>  }
>>  
>> -- 
>> 2.1.4

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2016-02-04 17:15 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-04 10:50 [PATCH 0/8] drm/i915/dsi: i2c/gpio Jani Nikula
2016-02-04 10:50 ` [PATCH 1/8] drm/i915/dsi: defend gpio table against out of bounds access Jani Nikula
2016-02-04 15:40   ` Ville Syrjälä
2016-02-04 10:50 ` [PATCH 2/8] drm/i915/dsi: don't pass arbitrary data to sideband Jani Nikula
2016-02-04 15:41   ` Ville Syrjälä
2016-02-04 16:56     ` Jani Nikula
2016-02-04 10:50 ` [PATCH 3/8] drm/i915: Adding the parsing logic for the i2c element Jani Nikula
2016-02-04 15:28   ` Ville Syrjälä
2016-02-04 16:21     ` Jani Nikula
2016-02-04 16:36       ` Ville Syrjälä
2016-02-15 16:48         ` Daniel Vetter
2016-02-04 10:50 ` [PATCH 4/8] drm/i915/dsi: skip gpio element execution when not supported Jani Nikula
2016-02-04 15:36   ` Ville Syrjälä
2016-02-04 16:52   ` [PATCH v2] " Jani Nikula
2016-02-04 17:05     ` Ville Syrjälä
2016-02-04 17:10       ` Jani Nikula
2016-02-04 17:12         ` Jani Nikula
2016-02-04 17:18         ` Ville Syrjälä
2016-02-04 17:22           ` Jani Nikula
2016-02-04 17:48             ` Ville Syrjälä
2016-02-04 17:49     ` Ville Syrjälä
2016-02-04 18:39       ` Jani Nikula
2016-02-04 10:50 ` [PATCH 5/8] drm/i915: put the IOSF port defines in numerical order Jani Nikula
2016-02-04 16:05   ` Ville Syrjälä
2016-02-04 10:50 ` [PATCH 6/8] drm/i915/vlv: drop unused vlv_gps_core_read/write functions Jani Nikula
2016-02-04 16:12   ` Ville Syrjälä
2016-02-04 16:57     ` Jani Nikula
2016-02-04 10:50 ` [PATCH 7/8] drm/i915: Extend gpio read/write to other cores Jani Nikula
2016-02-04 15:39   ` Ville Syrjälä
2016-02-04 16:55   ` [PATCH v5] " Jani Nikula
2016-02-04 17:03     ` Ville Syrjälä
2016-02-04 17:14       ` Jani Nikula [this message]
2016-02-04 10:50 ` [PATCH 8/8] drm/i915/dsi: Added the generic gpio sequence support and gpio table Jani Nikula
2016-02-04 17:51   ` Ville Syrjälä
2016-02-04 12:46 ` ✓ Fi.CI.BAT: success for drm/i915/dsi: i2c/gpio Patchwork
2016-02-05  7:31 ` ✗ Fi.CI.BAT: failure for drm/i915/dsi: i2c/gpio (rev3) Patchwork

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=87mvrgtn1w.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=ville.syrjala@linux.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.