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 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.