From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Imre Deak <imre.deak@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 1/2] drm/i915: rename IOSF sideband opcodes according to the spec
Date: Mon, 19 May 2014 08:00:08 -0700 [thread overview]
Message-ID: <20140519080008.26128110@jbarnes-desktop> (raw)
In-Reply-To: <1400488878-23130-1-git-send-email-imre.deak@intel.com>
On Mon, 19 May 2014 11:41:17 +0300
Imre Deak <imre.deak@intel.com> wrote:
> These opcodes are not specific for an endpoint, but are the same for all
> endpoints. So rename them accordingly, using the name the VLV2 sideband
> HAS uses. Also move the macros to the .c file, since they aren't used
> anywhere else.
>
> Signed-off-by: Imre Deak <imre.deak@intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 5 ----
> drivers/gpu/drm/i915/intel_sideband.c | 51 ++++++++++++++++++++---------------
> 2 files changed, 30 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index ac90786..3d437d1 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -484,9 +484,6 @@
> /* See configdb bunit SB addr map */
> #define BUNIT_REG_BISOC 0x11
>
> -#define PUNIT_OPCODE_REG_READ 6
> -#define PUNIT_OPCODE_REG_WRITE 7
> -
> #define PUNIT_REG_DSPFREQ 0x36
> #define DSPFREQSTAT_SHIFT 30
> #define DSPFREQSTAT_MASK (0x3 << DSPFREQSTAT_SHIFT)
> @@ -580,8 +577,6 @@ enum punit_power_well {
> * Note: digital port B is DDI0, digital pot C is DDI1
> */
> #define DPIO_DEVFN 0
> -#define DPIO_OPCODE_REG_WRITE 1
> -#define DPIO_OPCODE_REG_READ 0
>
> #define DPIO_CTL (VLV_DISPLAY_BASE + 0x2110)
> #define DPIO_MODSEL1 (1<<3) /* if ref clk b == 27 */
> diff --git a/drivers/gpu/drm/i915/intel_sideband.c b/drivers/gpu/drm/i915/intel_sideband.c
> index b1a5514..f3909d5 100644
> --- a/drivers/gpu/drm/i915/intel_sideband.c
> +++ b/drivers/gpu/drm/i915/intel_sideband.c
> @@ -29,12 +29,21 @@
> * IOSF sideband, see VLV2_SidebandMsg_HAS.docx and
> * VLV_VLV2_PUNIT_HAS_0.8.docx
> */
> +
> +/* Standard MMIO read, non-posted */
> +#define SB_MRD_NP 0x00
> +/* Standard MMIO write, non-posted */
> +#define SB_MWR_NP 0x01
> +/* Private register read, double-word addressing, non-posted */
> +#define SB_CRRDDA_NP 0x06
> +/* Private register write, double-word addressing, non-posted */
> +#define SB_CRWRDA_NP 0x07
> +
> static int vlv_sideband_rw(struct drm_i915_private *dev_priv, u32 devfn,
> u32 port, u32 opcode, u32 addr, u32 *val)
> {
> u32 cmd, be = 0xf, bar = 0;
> - bool is_read = (opcode == PUNIT_OPCODE_REG_READ ||
> - opcode == DPIO_OPCODE_REG_READ);
> + bool is_read = (opcode == SB_MRD_NP || opcode == SB_CRRDDA_NP);
>
> cmd = (devfn << IOSF_DEVFN_SHIFT) | (opcode << IOSF_OPCODE_SHIFT) |
> (port << IOSF_PORT_SHIFT) | (be << IOSF_BYTE_ENABLES_SHIFT) |
> @@ -74,7 +83,7 @@ u32 vlv_punit_read(struct drm_i915_private *dev_priv, u8 addr)
>
> mutex_lock(&dev_priv->dpio_lock);
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_PUNIT,
> - PUNIT_OPCODE_REG_READ, addr, &val);
> + SB_CRRDDA_NP, addr, &val);
> mutex_unlock(&dev_priv->dpio_lock);
>
> return val;
> @@ -86,7 +95,7 @@ void vlv_punit_write(struct drm_i915_private *dev_priv, u8 addr, u32 val)
>
> mutex_lock(&dev_priv->dpio_lock);
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_PUNIT,
> - PUNIT_OPCODE_REG_WRITE, addr, &val);
> + SB_CRWRDA_NP, addr, &val);
> mutex_unlock(&dev_priv->dpio_lock);
> }
>
> @@ -95,7 +104,7 @@ u32 vlv_bunit_read(struct drm_i915_private *dev_priv, u32 reg)
> u32 val = 0;
>
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_BUNIT,
> - PUNIT_OPCODE_REG_READ, reg, &val);
> + SB_CRRDDA_NP, reg, &val);
>
> return val;
> }
> @@ -103,7 +112,7 @@ u32 vlv_bunit_read(struct drm_i915_private *dev_priv, u32 reg)
> void vlv_bunit_write(struct drm_i915_private *dev_priv, u32 reg, u32 val)
> {
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_BUNIT,
> - PUNIT_OPCODE_REG_WRITE, reg, &val);
> + SB_CRWRDA_NP, reg, &val);
> }
>
> u32 vlv_nc_read(struct drm_i915_private *dev_priv, u8 addr)
> @@ -114,7 +123,7 @@ u32 vlv_nc_read(struct drm_i915_private *dev_priv, u8 addr)
>
> mutex_lock(&dev_priv->dpio_lock);
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_NC,
> - PUNIT_OPCODE_REG_READ, addr, &val);
> + SB_CRRDDA_NP, addr, &val);
> mutex_unlock(&dev_priv->dpio_lock);
>
> return val;
> @@ -124,56 +133,56 @@ u32 vlv_gpio_nc_read(struct drm_i915_private *dev_priv, u32 reg)
> {
> u32 val = 0;
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_GPIO_NC,
> - PUNIT_OPCODE_REG_READ, reg, &val);
> + SB_CRRDDA_NP, reg, &val);
> return val;
> }
>
> void vlv_gpio_nc_write(struct drm_i915_private *dev_priv, u32 reg, u32 val)
> {
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_GPIO_NC,
> - PUNIT_OPCODE_REG_WRITE, reg, &val);
> + SB_CRWRDA_NP, reg, &val);
> }
>
> u32 vlv_cck_read(struct drm_i915_private *dev_priv, u32 reg)
> {
> u32 val = 0;
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_CCK,
> - PUNIT_OPCODE_REG_READ, reg, &val);
> + SB_CRRDDA_NP, reg, &val);
> return val;
> }
>
> void vlv_cck_write(struct drm_i915_private *dev_priv, u32 reg, u32 val)
> {
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_CCK,
> - PUNIT_OPCODE_REG_WRITE, reg, &val);
> + SB_CRWRDA_NP, reg, &val);
> }
>
> u32 vlv_ccu_read(struct drm_i915_private *dev_priv, u32 reg)
> {
> u32 val = 0;
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_CCU,
> - PUNIT_OPCODE_REG_READ, reg, &val);
> + SB_CRRDDA_NP, reg, &val);
> return val;
> }
>
> void vlv_ccu_write(struct drm_i915_private *dev_priv, u32 reg, u32 val)
> {
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_CCU,
> - PUNIT_OPCODE_REG_WRITE, reg, &val);
> + SB_CRWRDA_NP, reg, &val);
> }
>
> u32 vlv_gps_core_read(struct drm_i915_private *dev_priv, u32 reg)
> {
> u32 val = 0;
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_GPS_CORE,
> - PUNIT_OPCODE_REG_READ, reg, &val);
> + SB_CRRDDA_NP, reg, &val);
> return val;
> }
>
> void vlv_gps_core_write(struct drm_i915_private *dev_priv, u32 reg, u32 val)
> {
> vlv_sideband_rw(dev_priv, PCI_DEVFN(2, 0), IOSF_PORT_GPS_CORE,
> - PUNIT_OPCODE_REG_WRITE, reg, &val);
> + SB_CRWRDA_NP, reg, &val);
> }
>
> u32 vlv_dpio_read(struct drm_i915_private *dev_priv, enum pipe pipe, int reg)
> @@ -181,7 +190,7 @@ u32 vlv_dpio_read(struct drm_i915_private *dev_priv, enum pipe pipe, int reg)
> u32 val = 0;
>
> vlv_sideband_rw(dev_priv, DPIO_DEVFN, DPIO_PHY_IOSF_PORT(DPIO_PHY(pipe)),
> - DPIO_OPCODE_REG_READ, reg, &val);
> + SB_MRD_NP, reg, &val);
>
> /*
> * FIXME: There might be some registers where all 1's is a valid value,
> @@ -196,7 +205,7 @@ u32 vlv_dpio_read(struct drm_i915_private *dev_priv, enum pipe pipe, int reg)
> void vlv_dpio_write(struct drm_i915_private *dev_priv, enum pipe pipe, int reg, u32 val)
> {
> vlv_sideband_rw(dev_priv, DPIO_DEVFN, DPIO_PHY_IOSF_PORT(DPIO_PHY(pipe)),
> - DPIO_OPCODE_REG_WRITE, reg, &val);
> + SB_MWR_NP, reg, &val);
> }
>
> /* SBI access */
> @@ -261,13 +270,13 @@ void intel_sbi_write(struct drm_i915_private *dev_priv, u16 reg, u32 value,
> u32 vlv_flisdsi_read(struct drm_i915_private *dev_priv, u32 reg)
> {
> u32 val = 0;
> - vlv_sideband_rw(dev_priv, DPIO_DEVFN, IOSF_PORT_FLISDSI,
> - DPIO_OPCODE_REG_READ, reg, &val);
> + vlv_sideband_rw(dev_priv, DPIO_DEVFN, IOSF_PORT_FLISDSI, SB_MRD_NP,
> + reg, &val);
> return val;
> }
>
> void vlv_flisdsi_write(struct drm_i915_private *dev_priv, u32 reg, u32 val)
> {
> - vlv_sideband_rw(dev_priv, DPIO_DEVFN, IOSF_PORT_FLISDSI,
> - DPIO_OPCODE_REG_WRITE, reg, &val);
> + vlv_sideband_rw(dev_priv, DPIO_DEVFN, IOSF_PORT_FLISDSI, SB_MWR_NP,
> + reg, &val);
> }
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
--
Jesse Barnes, Intel Open Source Technology Center
prev parent reply other threads:[~2014-05-19 15:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-19 8:41 [PATCH 1/2] drm/i915: rename IOSF sideband opcodes according to the spec Imre Deak
2014-05-19 8:41 ` [PATCH 2/2] drm/i915: vlv/chv: fix DSI sideband register accessing Imre Deak
2014-05-19 15:01 ` Jesse Barnes
2014-05-19 15:10 ` Imre Deak
2014-05-19 15:33 ` Jesse Barnes
2014-05-19 15:50 ` Daniel Vetter
2014-05-26 12:52 ` Jani Nikula
2014-06-02 13:39 ` Kumar, Shobhit
2014-05-19 15:00 ` Jesse Barnes [this message]
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=20140519080008.26128110@jbarnes-desktop \
--to=jbarnes@virtuousgeek.org \
--cc=imre.deak@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/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