All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gustavo Sousa <gustavo.sousa@intel.com>
To: Jani Nikula <jani.nikula@intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH v2 4/4] drm/i915/dsi: pass display to register macros instead of implicit variable
Date: Mon, 22 Apr 2024 18:16:59 -0300	[thread overview]
Message-ID: <171382061951.135083.8834293148344873194@gjsousa-mobl2> (raw)
In-Reply-To: <ZibSWldpXDRtgkhc@intel.com>

Quoting Rodrigo Vivi (2024-04-22 18:10:50-03:00)
>On Fri, Apr 19, 2024 at 01:04:06PM +0300, Jani Nikula wrote:
>> Stop relying on the dev_priv local variable in the DSI register
>> macros. Pass struct intel_display pointer to the macros. Move the MIPI
>> DSI MMIO base selection to a different level, passing it to _MMIO_MIPI()
>> and doing the addition there.
>> 
>> Start using the local display variable for all intel_de_* usage, and
>> opportunistically use it for other things than display registers as
>> well.
>> 
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> 
>> ---
>> 
>> Tip: Applying the patch and using 'git show --color-words' is probably
>> the easiest way to review.
>
>wow! this is indeed a nice feature for this case. I had never tried it before.
>Thanks for showing that.
>
>But the registers changes were easier to review the old way. ;)

What about --word-diff for those? :-)

--
Gustavo Sousa

>
>Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
>> ---
>>  drivers/gpu/drm/i915/display/intel_display.c |   8 +-
>>  drivers/gpu/drm/i915/display/vlv_dsi.c       | 337 ++++++++++---------
>>  drivers/gpu/drm/i915/display/vlv_dsi_pll.c   |  22 +-
>>  drivers/gpu/drm/i915/display/vlv_dsi_regs.h  | 324 +++++++++---------
>>  4 files changed, 349 insertions(+), 342 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>> index 96ed1490fec7..b9434465d3a7 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display.c
>> @@ -3722,8 +3722,8 @@ static bool bxt_get_dsi_transcoder_state(struct intel_crtc *crtc,
>>                                           struct intel_crtc_state *pipe_config,
>>                                           struct intel_display_power_domain_set *power_domain_set)
>>  {
>> -        struct drm_device *dev = crtc->base.dev;
>> -        struct drm_i915_private *dev_priv = to_i915(dev);
>> +        struct intel_display *display = to_intel_display(crtc);
>> +        struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>>          enum transcoder cpu_transcoder;
>>          enum port port;
>>          u32 tmp;
>> @@ -3749,11 +3749,11 @@ static bool bxt_get_dsi_transcoder_state(struct intel_crtc *crtc,
>>                          break;
>>  
>>                  /* XXX: this works for video mode only */
>> -                tmp = intel_de_read(dev_priv, BXT_MIPI_PORT_CTRL(port));
>> +                tmp = intel_de_read(display, BXT_MIPI_PORT_CTRL(port));
>>                  if (!(tmp & DPI_ENABLE))
>>                          continue;
>>  
>> -                tmp = intel_de_read(dev_priv, MIPI_CTRL(port));
>> +                tmp = intel_de_read(display, MIPI_CTRL(display, port));
>>                  if ((tmp & BXT_PIPE_SELECT_MASK) != BXT_PIPE_SELECT(crtc->pipe))
>>                          continue;
>>  
>> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
>> index 9967ef58f1ec..ee9923c7b115 100644
>> --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
>> +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
>> @@ -85,18 +85,18 @@ enum mipi_dsi_pixel_format pixel_format_from_register_bits(u32 fmt)
>>  
>>  void vlv_dsi_wait_for_fifo_empty(struct intel_dsi *intel_dsi, enum port port)
>>  {
>> -        struct drm_i915_private *dev_priv = to_i915(intel_dsi->base.base.dev);
>> +        struct intel_display *display = to_intel_display(&intel_dsi->base);
>>          u32 mask;
>>  
>>          mask = LP_CTRL_FIFO_EMPTY | HS_CTRL_FIFO_EMPTY |
>>                  LP_DATA_FIFO_EMPTY | HS_DATA_FIFO_EMPTY;
>>  
>> -        if (intel_de_wait_for_set(dev_priv, MIPI_GEN_FIFO_STAT(port),
>> +        if (intel_de_wait_for_set(display, MIPI_GEN_FIFO_STAT(display, port),
>>                                    mask, 100))
>> -                drm_err(&dev_priv->drm, "DPI FIFOs are not empty\n");
>> +                drm_err(display->drm, "DPI FIFOs are not empty\n");
>>  }
>>  
>> -static void write_data(struct drm_i915_private *dev_priv,
>> +static void write_data(struct intel_display *display,
>>                         i915_reg_t reg,
>>                         const u8 *data, u32 len)
>>  {
>> @@ -108,18 +108,18 @@ static void write_data(struct drm_i915_private *dev_priv,
>>                  for (j = 0; j < min_t(u32, len - i, 4); j++)
>>                          val |= *data++ << 8 * j;
>>  
>> -                intel_de_write(dev_priv, reg, val);
>> +                intel_de_write(display, reg, val);
>>          }
>>  }
>>  
>> -static void read_data(struct drm_i915_private *dev_priv,
>> +static void read_data(struct intel_display *display,
>>                        i915_reg_t reg,
>>                        u8 *data, u32 len)
>>  {
>>          u32 i, j;
>>  
>>          for (i = 0; i < len; i += 4) {
>> -                u32 val = intel_de_read(dev_priv, reg);
>> +                u32 val = intel_de_read(display, reg);
>>  
>>                  for (j = 0; j < min_t(u32, len - i, 4); j++)
>>                          *data++ = val >> 8 * j;
>> @@ -131,7 +131,7 @@ static ssize_t intel_dsi_host_transfer(struct mipi_dsi_host *host,
>>  {
>>          struct intel_dsi_host *intel_dsi_host = to_intel_dsi_host(host);
>>          struct intel_dsi *intel_dsi = intel_dsi_host->intel_dsi;
>> -        struct drm_i915_private *dev_priv = to_i915(intel_dsi->base.base.dev);
>> +        struct intel_display *display = to_intel_display(&intel_dsi->base);
>>          enum port port = intel_dsi_host->port;
>>          struct mipi_dsi_packet packet;
>>          ssize_t ret;
>> @@ -146,51 +146,51 @@ static ssize_t intel_dsi_host_transfer(struct mipi_dsi_host *host,
>>          header = packet.header;
>>  
>>          if (msg->flags & MIPI_DSI_MSG_USE_LPM) {
>> -                data_reg = MIPI_LP_GEN_DATA(port);
>> +                data_reg = MIPI_LP_GEN_DATA(display, port);
>>                  data_mask = LP_DATA_FIFO_FULL;
>> -                ctrl_reg = MIPI_LP_GEN_CTRL(port);
>> +                ctrl_reg = MIPI_LP_GEN_CTRL(display, port);
>>                  ctrl_mask = LP_CTRL_FIFO_FULL;
>>          } else {
>> -                data_reg = MIPI_HS_GEN_DATA(port);
>> +                data_reg = MIPI_HS_GEN_DATA(display, port);
>>                  data_mask = HS_DATA_FIFO_FULL;
>> -                ctrl_reg = MIPI_HS_GEN_CTRL(port);
>> +                ctrl_reg = MIPI_HS_GEN_CTRL(display, port);
>>                  ctrl_mask = HS_CTRL_FIFO_FULL;
>>          }
>>  
>>          /* note: this is never true for reads */
>>          if (packet.payload_length) {
>> -                if (intel_de_wait_for_clear(dev_priv, MIPI_GEN_FIFO_STAT(port),
>> +                if (intel_de_wait_for_clear(display, MIPI_GEN_FIFO_STAT(display, port),
>>                                              data_mask, 50))
>> -                        drm_err(&dev_priv->drm,
>> +                        drm_err(display->drm,
>>                                  "Timeout waiting for HS/LP DATA FIFO !full\n");
>>  
>> -                write_data(dev_priv, data_reg, packet.payload,
>> +                write_data(display, data_reg, packet.payload,
>>                             packet.payload_length);
>>          }
>>  
>>          if (msg->rx_len) {
>> -                intel_de_write(dev_priv, MIPI_INTR_STAT(port),
>> +                intel_de_write(display, MIPI_INTR_STAT(display, port),
>>                                 GEN_READ_DATA_AVAIL);
>>          }
>>  
>> -        if (intel_de_wait_for_clear(dev_priv, MIPI_GEN_FIFO_STAT(port),
>> +        if (intel_de_wait_for_clear(display, MIPI_GEN_FIFO_STAT(display, port),
>>                                      ctrl_mask, 50)) {
>> -                drm_err(&dev_priv->drm,
>> +                drm_err(display->drm,
>>                          "Timeout waiting for HS/LP CTRL FIFO !full\n");
>>          }
>>  
>> -        intel_de_write(dev_priv, ctrl_reg,
>> +        intel_de_write(display, ctrl_reg,
>>                         header[2] << 16 | header[1] << 8 | header[0]);
>>  
>>          /* ->rx_len is set only for reads */
>>          if (msg->rx_len) {
>>                  data_mask = GEN_READ_DATA_AVAIL;
>> -                if (intel_de_wait_for_set(dev_priv, MIPI_INTR_STAT(port),
>> +                if (intel_de_wait_for_set(display, MIPI_INTR_STAT(display, port),
>>                                            data_mask, 50))
>> -                        drm_err(&dev_priv->drm,
>> +                        drm_err(display->drm,
>>                                  "Timeout waiting for read data.\n");
>>  
>> -                read_data(dev_priv, data_reg, msg->rx_buf, msg->rx_len);
>> +                read_data(display, data_reg, msg->rx_buf, msg->rx_len);
>>          }
>>  
>>          /* XXX: fix for reads and writes */
>> @@ -223,7 +223,7 @@ static const struct mipi_dsi_host_ops intel_dsi_host_ops = {
>>  static int dpi_send_cmd(struct intel_dsi *intel_dsi, u32 cmd, bool hs,
>>                          enum port port)
>>  {
>> -        struct drm_i915_private *dev_priv = to_i915(intel_dsi->base.base.dev);
>> +        struct intel_display *display = to_intel_display(&intel_dsi->base);
>>          u32 mask;
>>  
>>          /* XXX: pipe, hs */
>> @@ -233,18 +233,18 @@ static int dpi_send_cmd(struct intel_dsi *intel_dsi, u32 cmd, bool hs,
>>                  cmd |= DPI_LP_MODE;
>>  
>>          /* clear bit */
>> -        intel_de_write(dev_priv, MIPI_INTR_STAT(port), SPL_PKT_SENT_INTERRUPT);
>> +        intel_de_write(display, MIPI_INTR_STAT(display, port), SPL_PKT_SENT_INTERRUPT);
>>  
>>          /* XXX: old code skips write if control unchanged */
>> -        if (cmd == intel_de_read(dev_priv, MIPI_DPI_CONTROL(port)))
>> -                drm_dbg_kms(&dev_priv->drm,
>> +        if (cmd == intel_de_read(display, MIPI_DPI_CONTROL(display, port)))
>> +                drm_dbg_kms(display->drm,
>>                              "Same special packet %02x twice in a row.\n", cmd);
>>  
>> -        intel_de_write(dev_priv, MIPI_DPI_CONTROL(port), cmd);
>> +        intel_de_write(display, MIPI_DPI_CONTROL(display, port), cmd);
>>  
>>          mask = SPL_PKT_SENT_INTERRUPT;
>> -        if (intel_de_wait_for_set(dev_priv, MIPI_INTR_STAT(port), mask, 100))
>> -                drm_err(&dev_priv->drm,
>> +        if (intel_de_wait_for_set(display, MIPI_INTR_STAT(display, port), mask, 100))
>> +                drm_err(display->drm,
>>                          "Video mode command 0x%08x send failed.\n", cmd);
>>  
>>          return 0;
>> @@ -324,7 +324,7 @@ static int intel_dsi_compute_config(struct intel_encoder *encoder,
>>  
>>  static bool glk_dsi_enable_io(struct intel_encoder *encoder)
>>  {
>> -        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          enum port port;
>>          bool cold_boot = false;
>> @@ -334,29 +334,30 @@ static bool glk_dsi_enable_io(struct intel_encoder *encoder)
>>           * Power ON MIPI IO first and then write into IO reset and LP wake bits
>>           */
>>          for_each_dsi_port(port, intel_dsi->ports)
>> -                intel_de_rmw(dev_priv, MIPI_CTRL(port), 0, GLK_MIPIIO_ENABLE);
>> +                intel_de_rmw(display, MIPI_CTRL(display, port), 0, GLK_MIPIIO_ENABLE);
>>  
>>          /* Put the IO into reset */
>> -        intel_de_rmw(dev_priv, MIPI_CTRL(PORT_A), GLK_MIPIIO_RESET_RELEASED, 0);
>> +        intel_de_rmw(display, MIPI_CTRL(display, PORT_A), GLK_MIPIIO_RESET_RELEASED, 0);
>>  
>>          /* Program LP Wake */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                u32 tmp = intel_de_read(dev_priv, MIPI_DEVICE_READY(port));
>> -                intel_de_rmw(dev_priv, MIPI_CTRL(port),
>> +                u32 tmp = intel_de_read(display, MIPI_DEVICE_READY(display, port));
>> +
>> +                intel_de_rmw(display, MIPI_CTRL(display, port),
>>                               GLK_LP_WAKE, (tmp & DEVICE_READY) ? GLK_LP_WAKE : 0);
>>          }
>>  
>>          /* Wait for Pwr ACK */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                if (intel_de_wait_for_set(dev_priv, MIPI_CTRL(port),
>> +                if (intel_de_wait_for_set(display, MIPI_CTRL(display, port),
>>                                            GLK_MIPIIO_PORT_POWERED, 20))
>> -                        drm_err(&dev_priv->drm, "MIPIO port is powergated\n");
>> +                        drm_err(display->drm, "MIPIO port is powergated\n");
>>          }
>>  
>>          /* Check for cold boot scenario */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>>                  cold_boot |=
>> -                        !(intel_de_read(dev_priv, MIPI_DEVICE_READY(port)) & DEVICE_READY);
>> +                        !(intel_de_read(display, MIPI_DEVICE_READY(display, port)) & DEVICE_READY);
>>          }
>>  
>>          return cold_boot;
>> @@ -364,99 +365,100 @@ static bool glk_dsi_enable_io(struct intel_encoder *encoder)
>>  
>>  static void glk_dsi_device_ready(struct intel_encoder *encoder)
>>  {
>> -        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          enum port port;
>>  
>>          /* Wait for MIPI PHY status bit to set */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                if (intel_de_wait_for_set(dev_priv, MIPI_CTRL(port),
>> +                if (intel_de_wait_for_set(display, MIPI_CTRL(display, port),
>>                                            GLK_PHY_STATUS_PORT_READY, 20))
>> -                        drm_err(&dev_priv->drm, "PHY is not ON\n");
>> +                        drm_err(display->drm, "PHY is not ON\n");
>>          }
>>  
>>          /* Get IO out of reset */
>> -        intel_de_rmw(dev_priv, MIPI_CTRL(PORT_A), 0, GLK_MIPIIO_RESET_RELEASED);
>> +        intel_de_rmw(display, MIPI_CTRL(display, PORT_A), 0, GLK_MIPIIO_RESET_RELEASED);
>>  
>>          /* Get IO out of Low power state*/
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                if (!(intel_de_read(dev_priv, MIPI_DEVICE_READY(port)) & DEVICE_READY)) {
>> -                        intel_de_rmw(dev_priv, MIPI_DEVICE_READY(port),
>> +                if (!(intel_de_read(display, MIPI_DEVICE_READY(display, port)) & DEVICE_READY)) {
>> +                        intel_de_rmw(display, MIPI_DEVICE_READY(display, port),
>>                                       ULPS_STATE_MASK, DEVICE_READY);
>>                          usleep_range(10, 15);
>>                  } else {
>>                          /* Enter ULPS */
>> -                        intel_de_rmw(dev_priv, MIPI_DEVICE_READY(port),
>> +                        intel_de_rmw(display, MIPI_DEVICE_READY(display, port),
>>                                       ULPS_STATE_MASK, ULPS_STATE_ENTER | DEVICE_READY);
>>  
>>                          /* Wait for ULPS active */
>> -                        if (intel_de_wait_for_clear(dev_priv, MIPI_CTRL(port),
>> +                        if (intel_de_wait_for_clear(display, MIPI_CTRL(display, port),
>>                                                      GLK_ULPS_NOT_ACTIVE, 20))
>> -                                drm_err(&dev_priv->drm, "ULPS not active\n");
>> +                                drm_err(display->drm, "ULPS not active\n");
>>  
>>                          /* Exit ULPS */
>> -                        intel_de_rmw(dev_priv, MIPI_DEVICE_READY(port),
>> +                        intel_de_rmw(display, MIPI_DEVICE_READY(display, port),
>>                                       ULPS_STATE_MASK, ULPS_STATE_EXIT | DEVICE_READY);
>>  
>>                          /* Enter Normal Mode */
>> -                        intel_de_rmw(dev_priv, MIPI_DEVICE_READY(port),
>> +                        intel_de_rmw(display, MIPI_DEVICE_READY(display, port),
>>                                       ULPS_STATE_MASK,
>>                                       ULPS_STATE_NORMAL_OPERATION | DEVICE_READY);
>>  
>> -                        intel_de_rmw(dev_priv, MIPI_CTRL(port), GLK_LP_WAKE, 0);
>> +                        intel_de_rmw(display, MIPI_CTRL(display, port), GLK_LP_WAKE, 0);
>>                  }
>>          }
>>  
>>          /* Wait for Stop state */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                if (intel_de_wait_for_set(dev_priv, MIPI_CTRL(port),
>> +                if (intel_de_wait_for_set(display, MIPI_CTRL(display, port),
>>                                            GLK_DATA_LANE_STOP_STATE, 20))
>> -                        drm_err(&dev_priv->drm,
>> +                        drm_err(display->drm,
>>                                  "Date lane not in STOP state\n");
>>          }
>>  
>>          /* Wait for AFE LATCH */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                if (intel_de_wait_for_set(dev_priv, BXT_MIPI_PORT_CTRL(port),
>> +                if (intel_de_wait_for_set(display, BXT_MIPI_PORT_CTRL(port),
>>                                            AFE_LATCHOUT, 20))
>> -                        drm_err(&dev_priv->drm,
>> +                        drm_err(display->drm,
>>                                  "D-PHY not entering LP-11 state\n");
>>          }
>>  }
>>  
>>  static void bxt_dsi_device_ready(struct intel_encoder *encoder)
>>  {
>> -        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          enum port port;
>>          u32 val;
>>  
>> -        drm_dbg_kms(&dev_priv->drm, "\n");
>> +        drm_dbg_kms(display->drm, "\n");
>>  
>>          /* Enable MIPI PHY transparent latch */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                intel_de_rmw(dev_priv, BXT_MIPI_PORT_CTRL(port), 0, LP_OUTPUT_HOLD);
>> +                intel_de_rmw(display, BXT_MIPI_PORT_CTRL(port), 0, LP_OUTPUT_HOLD);
>>                  usleep_range(2000, 2500);
>>          }
>>  
>>          /* Clear ULPS and set device ready */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                val = intel_de_read(dev_priv, MIPI_DEVICE_READY(port));
>> +                val = intel_de_read(display, MIPI_DEVICE_READY(display, port));
>>                  val &= ~ULPS_STATE_MASK;
>> -                intel_de_write(dev_priv, MIPI_DEVICE_READY(port), val);
>> +                intel_de_write(display, MIPI_DEVICE_READY(display, port), val);
>>                  usleep_range(2000, 2500);
>>                  val |= DEVICE_READY;
>> -                intel_de_write(dev_priv, MIPI_DEVICE_READY(port), val);
>> +                intel_de_write(display, MIPI_DEVICE_READY(display, port), val);
>>          }
>>  }
>>  
>>  static void vlv_dsi_device_ready(struct intel_encoder *encoder)
>>  {
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          enum port port;
>>  
>> -        drm_dbg_kms(&dev_priv->drm, "\n");
>> +        drm_dbg_kms(display->drm, "\n");
>>  
>>          vlv_flisdsi_get(dev_priv);
>>          /* program rcomp for compliance, reduce from 50 ohms to 45 ohms
>> @@ -469,7 +471,7 @@ static void vlv_dsi_device_ready(struct intel_encoder *encoder)
>>  
>>          for_each_dsi_port(port, intel_dsi->ports) {
>>  
>> -                intel_de_write(dev_priv, MIPI_DEVICE_READY(port),
>> +                intel_de_write(display, MIPI_DEVICE_READY(display, port),
>>                                 ULPS_STATE_ENTER);
>>                  usleep_range(2500, 3000);
>>  
>> @@ -477,14 +479,14 @@ static void vlv_dsi_device_ready(struct intel_encoder *encoder)
>>                   * Common bit for both MIPI Port A & MIPI Port C
>>                   * No similar bit in MIPI Port C reg
>>                   */
>> -                intel_de_rmw(dev_priv, VLV_MIPI_PORT_CTRL(PORT_A), 0, LP_OUTPUT_HOLD);
>> +                intel_de_rmw(display, VLV_MIPI_PORT_CTRL(PORT_A), 0, LP_OUTPUT_HOLD);
>>                  usleep_range(1000, 1500);
>>  
>> -                intel_de_write(dev_priv, MIPI_DEVICE_READY(port),
>> +                intel_de_write(display, MIPI_DEVICE_READY(display, port),
>>                                 ULPS_STATE_EXIT);
>>                  usleep_range(2500, 3000);
>>  
>> -                intel_de_write(dev_priv, MIPI_DEVICE_READY(port),
>> +                intel_de_write(display, MIPI_DEVICE_READY(display, port),
>>                                 DEVICE_READY);
>>                  usleep_range(2500, 3000);
>>          }
>> @@ -504,50 +506,50 @@ static void intel_dsi_device_ready(struct intel_encoder *encoder)
>>  
>>  static void glk_dsi_enter_low_power_mode(struct intel_encoder *encoder)
>>  {
>> -        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          enum port port;
>>  
>>          /* Enter ULPS */
>>          for_each_dsi_port(port, intel_dsi->ports)
>> -                intel_de_rmw(dev_priv, MIPI_DEVICE_READY(port),
>> +                intel_de_rmw(display, MIPI_DEVICE_READY(display, port),
>>                               ULPS_STATE_MASK, ULPS_STATE_ENTER | DEVICE_READY);
>>  
>>          /* Wait for MIPI PHY status bit to unset */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                if (intel_de_wait_for_clear(dev_priv, MIPI_CTRL(port),
>> +                if (intel_de_wait_for_clear(display, MIPI_CTRL(display, port),
>>                                              GLK_PHY_STATUS_PORT_READY, 20))
>> -                        drm_err(&dev_priv->drm, "PHY is not turning OFF\n");
>> +                        drm_err(display->drm, "PHY is not turning OFF\n");
>>          }
>>  
>>          /* Wait for Pwr ACK bit to unset */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                if (intel_de_wait_for_clear(dev_priv, MIPI_CTRL(port),
>> +                if (intel_de_wait_for_clear(display, MIPI_CTRL(display, port),
>>                                              GLK_MIPIIO_PORT_POWERED, 20))
>> -                        drm_err(&dev_priv->drm,
>> +                        drm_err(display->drm,
>>                                  "MIPI IO Port is not powergated\n");
>>          }
>>  }
>>  
>>  static void glk_dsi_disable_mipi_io(struct intel_encoder *encoder)
>>  {
>> -        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          enum port port;
>>  
>>          /* Put the IO into reset */
>> -        intel_de_rmw(dev_priv, MIPI_CTRL(PORT_A), GLK_MIPIIO_RESET_RELEASED, 0);
>> +        intel_de_rmw(display, MIPI_CTRL(display, PORT_A), GLK_MIPIIO_RESET_RELEASED, 0);
>>  
>>          /* Wait for MIPI PHY status bit to unset */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                if (intel_de_wait_for_clear(dev_priv, MIPI_CTRL(port),
>> +                if (intel_de_wait_for_clear(display, MIPI_CTRL(display, port),
>>                                              GLK_PHY_STATUS_PORT_READY, 20))
>> -                        drm_err(&dev_priv->drm, "PHY is not turning OFF\n");
>> +                        drm_err(display->drm, "PHY is not turning OFF\n");
>>          }
>>  
>>          /* Clear MIPI mode */
>>          for_each_dsi_port(port, intel_dsi->ports)
>> -                intel_de_rmw(dev_priv, MIPI_CTRL(port), GLK_MIPIIO_ENABLE, 0);
>> +                intel_de_rmw(display, MIPI_CTRL(display, port), GLK_MIPIIO_ENABLE, 0);
>>  }
>>  
>>  static void glk_dsi_clear_device_ready(struct intel_encoder *encoder)
>> @@ -564,25 +566,26 @@ static i915_reg_t port_ctrl_reg(struct drm_i915_private *i915, enum port port)
>>  
>>  static void vlv_dsi_clear_device_ready(struct intel_encoder *encoder)
>>  {
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          enum port port;
>>  
>> -        drm_dbg_kms(&dev_priv->drm, "\n");
>> +        drm_dbg_kms(display->drm, "\n");
>>          for_each_dsi_port(port, intel_dsi->ports) {
>>                  /* Common bit for both MIPI Port A & MIPI Port C on VLV/CHV */
>>                  i915_reg_t port_ctrl = IS_BROXTON(dev_priv) ?
>>                          BXT_MIPI_PORT_CTRL(port) : VLV_MIPI_PORT_CTRL(PORT_A);
>>  
>> -                intel_de_write(dev_priv, MIPI_DEVICE_READY(port),
>> +                intel_de_write(display, MIPI_DEVICE_READY(display, port),
>>                                 DEVICE_READY | ULPS_STATE_ENTER);
>>                  usleep_range(2000, 2500);
>>  
>> -                intel_de_write(dev_priv, MIPI_DEVICE_READY(port),
>> +                intel_de_write(display, MIPI_DEVICE_READY(display, port),
>>                                 DEVICE_READY | ULPS_STATE_EXIT);
>>                  usleep_range(2000, 2500);
>>  
>> -                intel_de_write(dev_priv, MIPI_DEVICE_READY(port),
>> +                intel_de_write(display, MIPI_DEVICE_READY(display, port),
>>                                 DEVICE_READY | ULPS_STATE_ENTER);
>>                  usleep_range(2000, 2500);
>>  
>> @@ -591,15 +594,15 @@ static void vlv_dsi_clear_device_ready(struct intel_encoder *encoder)
>>                   * Port A only. MIPI Port C has no similar bit for checking.
>>                   */
>>                  if ((IS_BROXTON(dev_priv) || port == PORT_A) &&
>> -                    intel_de_wait_for_clear(dev_priv, port_ctrl,
>> +                    intel_de_wait_for_clear(display, port_ctrl,
>>                                              AFE_LATCHOUT, 30))
>> -                        drm_err(&dev_priv->drm, "DSI LP not going Low\n");
>> +                        drm_err(display->drm, "DSI LP not going Low\n");
>>  
>>                  /* Disable MIPI PHY transparent latch */
>> -                intel_de_rmw(dev_priv, port_ctrl, LP_OUTPUT_HOLD, 0);
>> +                intel_de_rmw(display, port_ctrl, LP_OUTPUT_HOLD, 0);
>>                  usleep_range(1000, 1500);
>>  
>> -                intel_de_write(dev_priv, MIPI_DEVICE_READY(port), 0x00);
>> +                intel_de_write(display, MIPI_DEVICE_READY(display, port), 0x00);
>>                  usleep_range(2000, 2500);
>>          }
>>  }
>> @@ -607,6 +610,7 @@ static void vlv_dsi_clear_device_ready(struct intel_encoder *encoder)
>>  static void intel_dsi_port_enable(struct intel_encoder *encoder,
>>                                    const struct intel_crtc_state *crtc_state)
>>  {
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>>          struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>> @@ -617,11 +621,11 @@ static void intel_dsi_port_enable(struct intel_encoder *encoder,
>>  
>>                  if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv)) {
>>                          for_each_dsi_port(port, intel_dsi->ports)
>> -                                intel_de_rmw(dev_priv, MIPI_CTRL(port),
>> +                                intel_de_rmw(display, MIPI_CTRL(display, port),
>>                                               BXT_PIXEL_OVERLAP_CNT_MASK,
>>                                               temp << BXT_PIXEL_OVERLAP_CNT_SHIFT);
>>                  } else {
>> -                        intel_de_rmw(dev_priv, VLV_CHICKEN_3,
>> +                        intel_de_rmw(display, VLV_CHICKEN_3,
>>                                       PIXEL_OVERLAP_CNT_MASK,
>>                                       temp << PIXEL_OVERLAP_CNT_SHIFT);
>>                  }
>> @@ -631,7 +635,7 @@ static void intel_dsi_port_enable(struct intel_encoder *encoder,
>>                  i915_reg_t port_ctrl = port_ctrl_reg(dev_priv, port);
>>                  u32 temp;
>>  
>> -                temp = intel_de_read(dev_priv, port_ctrl);
>> +                temp = intel_de_read(display, port_ctrl);
>>  
>>                  temp &= ~LANE_CONFIGURATION_MASK;
>>                  temp &= ~DUAL_LINK_MODE_MASK;
>> @@ -651,13 +655,14 @@ static void intel_dsi_port_enable(struct intel_encoder *encoder,
>>                          temp |= DITHERING_ENABLE;
>>  
>>                  /* assert ip_tg_enable signal */
>> -                intel_de_write(dev_priv, port_ctrl, temp | DPI_ENABLE);
>> -                intel_de_posting_read(dev_priv, port_ctrl);
>> +                intel_de_write(display, port_ctrl, temp | DPI_ENABLE);
>> +                intel_de_posting_read(display, port_ctrl);
>>          }
>>  }
>>  
>>  static void intel_dsi_port_disable(struct intel_encoder *encoder)
>>  {
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          enum port port;
>> @@ -666,8 +671,8 @@ static void intel_dsi_port_disable(struct intel_encoder *encoder)
>>                  i915_reg_t port_ctrl = port_ctrl_reg(dev_priv, port);
>>  
>>                  /* de-assert ip_tg_enable signal */
>> -                intel_de_rmw(dev_priv, port_ctrl, DPI_ENABLE, 0);
>> -                intel_de_posting_read(dev_priv, port_ctrl);
>> +                intel_de_rmw(display, port_ctrl, DPI_ENABLE, 0);
>> +                intel_de_posting_read(display, port_ctrl);
>>          }
>>  }
>>  
>> @@ -721,6 +726,7 @@ static void intel_dsi_pre_enable(struct intel_atomic_state *state,
>>                                   const struct intel_crtc_state *pipe_config,
>>                                   const struct drm_connector_state *conn_state)
>>  {
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
>>          struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>> @@ -728,7 +734,7 @@ static void intel_dsi_pre_enable(struct intel_atomic_state *state,
>>          enum port port;
>>          bool glk_cold_boot = false;
>>  
>> -        drm_dbg_kms(&dev_priv->drm, "\n");
>> +        drm_dbg_kms(display->drm, "\n");
>>  
>>          intel_dsi_wait_panel_power_cycle(intel_dsi);
>>  
>> @@ -748,16 +754,16 @@ static void intel_dsi_pre_enable(struct intel_atomic_state *state,
>>  
>>          if (IS_BROXTON(dev_priv)) {
>>                  /* Add MIPI IO reset programming for modeset */
>> -                intel_de_rmw(dev_priv, BXT_P_CR_GT_DISP_PWRON, 0, MIPIO_RST_CTRL);
>> +                intel_de_rmw(display, BXT_P_CR_GT_DISP_PWRON, 0, MIPIO_RST_CTRL);
>>  
>>                  /* Power up DSI regulator */
>> -                intel_de_write(dev_priv, BXT_P_DSI_REGULATOR_CFG, STAP_SELECT);
>> -                intel_de_write(dev_priv, BXT_P_DSI_REGULATOR_TX_CTRL, 0);
>> +                intel_de_write(display, BXT_P_DSI_REGULATOR_CFG, STAP_SELECT);
>> +                intel_de_write(display, BXT_P_DSI_REGULATOR_TX_CTRL, 0);
>>          }
>>  
>>          if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
>>                  /* Disable DPOunit clock gating, can stall pipe */
>> -                intel_de_rmw(dev_priv, DSPCLK_GATE_D(dev_priv),
>> +                intel_de_rmw(display, DSPCLK_GATE_D(dev_priv),
>>                               0, DPOUNIT_CLOCK_GATE_DISABLE);
>>          }
>>  
>> @@ -793,8 +799,8 @@ static void intel_dsi_pre_enable(struct intel_atomic_state *state,
>>           */
>>          if (is_cmd_mode(intel_dsi)) {
>>                  for_each_dsi_port(port, intel_dsi->ports)
>> -                        intel_de_write(dev_priv,
>> -                                       MIPI_MAX_RETURN_PKT_SIZE(port), 8 * 4);
>> +                        intel_de_write(display,
>> +                                       MIPI_MAX_RETURN_PKT_SIZE(display, port), 8 * 4);
>>                  intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_TEAR_ON);
>>                  intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_ON);
>>          } else {
>> @@ -866,11 +872,12 @@ static void intel_dsi_post_disable(struct intel_atomic_state *state,
>>                                     const struct intel_crtc_state *old_crtc_state,
>>                                     const struct drm_connector_state *old_conn_state)
>>  {
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          enum port port;
>>  
>> -        drm_dbg_kms(&dev_priv->drm, "\n");
>> +        drm_dbg_kms(display->drm, "\n");
>>  
>>          if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv)) {
>>                  intel_crtc_vblank_off(old_crtc_state);
>> @@ -901,12 +908,12 @@ static void intel_dsi_post_disable(struct intel_atomic_state *state,
>>  
>>          if (IS_BROXTON(dev_priv)) {
>>                  /* Power down DSI regulator to save power */
>> -                intel_de_write(dev_priv, BXT_P_DSI_REGULATOR_CFG, STAP_SELECT);
>> -                intel_de_write(dev_priv, BXT_P_DSI_REGULATOR_TX_CTRL,
>> +                intel_de_write(display, BXT_P_DSI_REGULATOR_CFG, STAP_SELECT);
>> +                intel_de_write(display, BXT_P_DSI_REGULATOR_TX_CTRL,
>>                                 HS_IO_CTRL_SELECT);
>>  
>>                  /* Add MIPI IO reset programming for modeset */
>> -                intel_de_rmw(dev_priv, BXT_P_CR_GT_DISP_PWRON, MIPIO_RST_CTRL, 0);
>> +                intel_de_rmw(display, BXT_P_CR_GT_DISP_PWRON, MIPIO_RST_CTRL, 0);
>>          }
>>  
>>          if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv)) {
>> @@ -914,7 +921,7 @@ static void intel_dsi_post_disable(struct intel_atomic_state *state,
>>          } else {
>>                  vlv_dsi_pll_disable(encoder);
>>  
>> -                intel_de_rmw(dev_priv, DSPCLK_GATE_D(dev_priv),
>> +                intel_de_rmw(display, DSPCLK_GATE_D(dev_priv),
>>                               DPOUNIT_CLOCK_GATE_DISABLE, 0);
>>          }
>>  
>> @@ -930,13 +937,14 @@ static void intel_dsi_post_disable(struct intel_atomic_state *state,
>>  static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
>>                                     enum pipe *pipe)
>>  {
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          intel_wakeref_t wakeref;
>>          enum port port;
>>          bool active = false;
>>  
>> -        drm_dbg_kms(&dev_priv->drm, "\n");
>> +        drm_dbg_kms(display->drm, "\n");
>>  
>>          wakeref = intel_display_power_get_if_enabled(dev_priv,
>>                                                       encoder->power_domain);
>> @@ -955,7 +963,7 @@ static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
>>          /* XXX: this only works for one DSI output */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>>                  i915_reg_t port_ctrl = port_ctrl_reg(dev_priv, port);
>> -                bool enabled = intel_de_read(dev_priv, port_ctrl) & DPI_ENABLE;
>> +                bool enabled = intel_de_read(display, port_ctrl) & DPI_ENABLE;
>>  
>>                  /*
>>                   * Due to some hardware limitations on VLV/CHV, the DPI enable
>> @@ -964,27 +972,27 @@ static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
>>                   */
>>                  if ((IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) &&
>>                      port == PORT_C)
>> -                        enabled = intel_de_read(dev_priv, TRANSCONF(PIPE_B)) & TRANSCONF_ENABLE;
>> +                        enabled = intel_de_read(display, TRANSCONF(PIPE_B)) & TRANSCONF_ENABLE;
>>  
>>                  /* Try command mode if video mode not enabled */
>>                  if (!enabled) {
>> -                        u32 tmp = intel_de_read(dev_priv,
>> -                                                MIPI_DSI_FUNC_PRG(port));
>> +                        u32 tmp = intel_de_read(display,
>> +                                                MIPI_DSI_FUNC_PRG(display, port));
>>                          enabled = tmp & CMD_MODE_DATA_WIDTH_MASK;
>>                  }
>>  
>>                  if (!enabled)
>>                          continue;
>>  
>> -                if (!(intel_de_read(dev_priv, MIPI_DEVICE_READY(port)) & DEVICE_READY))
>> +                if (!(intel_de_read(display, MIPI_DEVICE_READY(display, port)) & DEVICE_READY))
>>                          continue;
>>  
>>                  if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv)) {
>> -                        u32 tmp = intel_de_read(dev_priv, MIPI_CTRL(port));
>> +                        u32 tmp = intel_de_read(display, MIPI_CTRL(display, port));
>>                          tmp &= BXT_PIPE_SELECT_MASK;
>>                          tmp >>= BXT_PIPE_SELECT_SHIFT;
>>  
>> -                        if (drm_WARN_ON(&dev_priv->drm, tmp > PIPE_C))
>> +                        if (drm_WARN_ON(display->drm, tmp > PIPE_C))
>>                                  continue;
>>  
>>                          *pipe = tmp;
>> @@ -1005,7 +1013,7 @@ static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
>>  static void bxt_dsi_get_pipe_config(struct intel_encoder *encoder,
>>                                      struct intel_crtc_state *pipe_config)
>>  {
>> -        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct drm_display_mode *adjusted_mode =
>>                                          &pipe_config->hw.adjusted_mode;
>>          struct drm_display_mode *adjusted_mode_sw;
>> @@ -1027,11 +1035,11 @@ static void bxt_dsi_get_pipe_config(struct intel_encoder *encoder,
>>           * encoder->get_hw_state() returns true.
>>           */
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                if (intel_de_read(dev_priv, BXT_MIPI_PORT_CTRL(port)) & DPI_ENABLE)
>> +                if (intel_de_read(display, BXT_MIPI_PORT_CTRL(port)) & DPI_ENABLE)
>>                          break;
>>          }
>>  
>> -        fmt = intel_de_read(dev_priv, MIPI_DSI_FUNC_PRG(port)) & VID_MODE_FORMAT_MASK;
>> +        fmt = intel_de_read(display, MIPI_DSI_FUNC_PRG(display, port)) & VID_MODE_FORMAT_MASK;
>>          bpp = mipi_dsi_pixel_format_to_bpp(
>>                          pixel_format_from_register_bits(fmt));
>>  
>> @@ -1043,24 +1051,24 @@ static void bxt_dsi_get_pipe_config(struct intel_encoder *encoder,
>>  
>>          /* In terms of pixels */
>>          adjusted_mode->crtc_hdisplay =
>> -                                intel_de_read(dev_priv,
>> +                                intel_de_read(display,
>>                                                BXT_MIPI_TRANS_HACTIVE(port));
>>          adjusted_mode->crtc_vdisplay =
>> -                                intel_de_read(dev_priv,
>> +                                intel_de_read(display,
>>                                                BXT_MIPI_TRANS_VACTIVE(port));
>>          adjusted_mode->crtc_vtotal =
>> -                                intel_de_read(dev_priv,
>> +                                intel_de_read(display,
>>                                                BXT_MIPI_TRANS_VTOTAL(port));
>>  
>>          hactive = adjusted_mode->crtc_hdisplay;
>> -        hfp = intel_de_read(dev_priv, MIPI_HFP_COUNT(port));
>> +        hfp = intel_de_read(display, MIPI_HFP_COUNT(display, port));
>>  
>>          /*
>>           * Meaningful for video mode non-burst sync pulse mode only,
>>           * can be zero for non-burst sync events and burst modes
>>           */
>> -        hsync = intel_de_read(dev_priv, MIPI_HSYNC_PADDING_COUNT(port));
>> -        hbp = intel_de_read(dev_priv, MIPI_HBP_COUNT(port));
>> +        hsync = intel_de_read(display, MIPI_HSYNC_PADDING_COUNT(display, port));
>> +        hbp = intel_de_read(display, MIPI_HBP_COUNT(display, port));
>>  
>>          /* harizontal values are in terms of high speed byte clock */
>>          hfp = pixels_from_txbyteclkhs(hfp, bpp, lane_count,
>> @@ -1077,8 +1085,8 @@ static void bxt_dsi_get_pipe_config(struct intel_encoder *encoder,
>>          }
>>  
>>          /* vertical values are in terms of lines */
>> -        vfp = intel_de_read(dev_priv, MIPI_VFP_COUNT(port));
>> -        vsync = intel_de_read(dev_priv, MIPI_VSYNC_PADDING_COUNT(port));
>> +        vfp = intel_de_read(display, MIPI_VFP_COUNT(display, port));
>> +        vsync = intel_de_read(display, MIPI_VSYNC_PADDING_COUNT(display, port));
>>  
>>          adjusted_mode->crtc_htotal = hactive + hfp + hsync + hbp;
>>          adjusted_mode->crtc_hsync_start = hfp + adjusted_mode->crtc_hdisplay;
>> @@ -1207,6 +1215,7 @@ static u16 txclkesc(u32 divider, unsigned int us)
>>  static void set_dsi_timings(struct intel_encoder *encoder,
>>                              const struct drm_display_mode *adjusted_mode)
>>  {
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          enum port port;
>> @@ -1249,29 +1258,29 @@ static void set_dsi_timings(struct intel_encoder *encoder,
>>                           * vactive, as they are calculated per channel basis,
>>                           * whereas these values should be based on resolution.
>>                           */
>> -                        intel_de_write(dev_priv, BXT_MIPI_TRANS_HACTIVE(port),
>> +                        intel_de_write(display, BXT_MIPI_TRANS_HACTIVE(port),
>>                                         adjusted_mode->crtc_hdisplay);
>> -                        intel_de_write(dev_priv, BXT_MIPI_TRANS_VACTIVE(port),
>> +                        intel_de_write(display, BXT_MIPI_TRANS_VACTIVE(port),
>>                                         adjusted_mode->crtc_vdisplay);
>> -                        intel_de_write(dev_priv, BXT_MIPI_TRANS_VTOTAL(port),
>> +                        intel_de_write(display, BXT_MIPI_TRANS_VTOTAL(port),
>>                                         adjusted_mode->crtc_vtotal);
>>                  }
>>  
>> -                intel_de_write(dev_priv, MIPI_HACTIVE_AREA_COUNT(port),
>> +                intel_de_write(display, MIPI_HACTIVE_AREA_COUNT(display, port),
>>                                 hactive);
>> -                intel_de_write(dev_priv, MIPI_HFP_COUNT(port), hfp);
>> +                intel_de_write(display, MIPI_HFP_COUNT(display, port), hfp);
>>  
>>                  /* meaningful for video mode non-burst sync pulse mode only,
>>                   * can be zero for non-burst sync events and burst modes */
>> -                intel_de_write(dev_priv, MIPI_HSYNC_PADDING_COUNT(port),
>> +                intel_de_write(display, MIPI_HSYNC_PADDING_COUNT(display, port),
>>                                 hsync);
>> -                intel_de_write(dev_priv, MIPI_HBP_COUNT(port), hbp);
>> +                intel_de_write(display, MIPI_HBP_COUNT(display, port), hbp);
>>  
>>                  /* vertical values are in terms of lines */
>> -                intel_de_write(dev_priv, MIPI_VFP_COUNT(port), vfp);
>> -                intel_de_write(dev_priv, MIPI_VSYNC_PADDING_COUNT(port),
>> +                intel_de_write(display, MIPI_VFP_COUNT(display, port), vfp);
>> +                intel_de_write(display, MIPI_VSYNC_PADDING_COUNT(display, port),
>>                                 vsync);
>> -                intel_de_write(dev_priv, MIPI_VBP_COUNT(port), vbp);
>> +                intel_de_write(display, MIPI_VBP_COUNT(display, port), vbp);
>>          }
>>  }
>>  
>> @@ -1295,6 +1304,7 @@ static u32 pixel_format_to_reg(enum mipi_dsi_pixel_format fmt)
>>  static void intel_dsi_prepare(struct intel_encoder *encoder,
>>                                const struct intel_crtc_state *pipe_config)
>>  {
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>>          struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>> @@ -1304,7 +1314,7 @@ static void intel_dsi_prepare(struct intel_encoder *encoder,
>>          u32 val, tmp;
>>          u16 mode_hdisplay;
>>  
>> -        drm_dbg_kms(&dev_priv->drm, "pipe %c\n", pipe_name(crtc->pipe));
>> +        drm_dbg_kms(display->drm, "pipe %c\n", pipe_name(crtc->pipe));
>>  
>>          mode_hdisplay = adjusted_mode->crtc_hdisplay;
>>  
>> @@ -1320,31 +1330,31 @@ static void intel_dsi_prepare(struct intel_encoder *encoder,
>>                           * escape clock divider, 20MHz, shared for A and C.
>>                           * device ready must be off when doing this! txclkesc?
>>                           */
>> -                        tmp = intel_de_read(dev_priv, MIPI_CTRL(PORT_A));
>> +                        tmp = intel_de_read(display, MIPI_CTRL(display, PORT_A));
>>                          tmp &= ~ESCAPE_CLOCK_DIVIDER_MASK;
>> -                        intel_de_write(dev_priv, MIPI_CTRL(PORT_A),
>> +                        intel_de_write(display, MIPI_CTRL(display, PORT_A),
>>                                         tmp | ESCAPE_CLOCK_DIVIDER_1);
>>  
>>                          /* read request priority is per pipe */
>> -                        tmp = intel_de_read(dev_priv, MIPI_CTRL(port));
>> +                        tmp = intel_de_read(display, MIPI_CTRL(display, port));
>>                          tmp &= ~READ_REQUEST_PRIORITY_MASK;
>> -                        intel_de_write(dev_priv, MIPI_CTRL(port),
>> +                        intel_de_write(display, MIPI_CTRL(display, port),
>>                                         tmp | READ_REQUEST_PRIORITY_HIGH);
>>                  } else if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv)) {
>>                          enum pipe pipe = crtc->pipe;
>>  
>> -                        intel_de_rmw(dev_priv, MIPI_CTRL(port),
>> +                        intel_de_rmw(display, MIPI_CTRL(display, port),
>>                                       BXT_PIPE_SELECT_MASK, BXT_PIPE_SELECT(pipe));
>>                  }
>>  
>>                  /* XXX: why here, why like this? handling in irq handler?! */
>> -                intel_de_write(dev_priv, MIPI_INTR_STAT(port), 0xffffffff);
>> -                intel_de_write(dev_priv, MIPI_INTR_EN(port), 0xffffffff);
>> +                intel_de_write(display, MIPI_INTR_STAT(display, port), 0xffffffff);
>> +                intel_de_write(display, MIPI_INTR_EN(display, port), 0xffffffff);
>>  
>> -                intel_de_write(dev_priv, MIPI_DPHY_PARAM(port),
>> +                intel_de_write(display, MIPI_DPHY_PARAM(display, port),
>>                                 intel_dsi->dphy_reg);
>>  
>> -                intel_de_write(dev_priv, MIPI_DPI_RESOLUTION(port),
>> +                intel_de_write(display, MIPI_DPI_RESOLUTION(display, port),
>>                                 adjusted_mode->crtc_vdisplay << VERTICAL_ADDRESS_SHIFT | mode_hdisplay << HORIZONTAL_ADDRESS_SHIFT);
>>          }
>>  
>> @@ -1372,7 +1382,7 @@ static void intel_dsi_prepare(struct intel_encoder *encoder,
>>          }
>>  
>>          for_each_dsi_port(port, intel_dsi->ports) {
>> -                intel_de_write(dev_priv, MIPI_DSI_FUNC_PRG(port), val);
>> +                intel_de_write(display, MIPI_DSI_FUNC_PRG(display, port), val);
>>  
>>                  /* timeouts for recovery. one frame IIUC. if counter expires,
>>                   * EOT and stop state. */
>> @@ -1393,23 +1403,23 @@ static void intel_dsi_prepare(struct intel_encoder *encoder,
>>  
>>                  if (is_vid_mode(intel_dsi) &&
>>                          intel_dsi->video_mode == BURST_MODE) {
>> -                        intel_de_write(dev_priv, MIPI_HS_TX_TIMEOUT(port),
>> +                        intel_de_write(display, MIPI_HS_TX_TIMEOUT(display, port),
>>                                         txbyteclkhs(adjusted_mode->crtc_htotal, bpp, intel_dsi->lane_count, intel_dsi->burst_mode_ratio) + 1);
>>                  } else {
>> -                        intel_de_write(dev_priv, MIPI_HS_TX_TIMEOUT(port),
>> +                        intel_de_write(display, MIPI_HS_TX_TIMEOUT(display, port),
>>                                         txbyteclkhs(adjusted_mode->crtc_vtotal * adjusted_mode->crtc_htotal, bpp, intel_dsi->lane_count, intel_dsi->burst_mode_ratio) + 1);
>>                  }
>> -                intel_de_write(dev_priv, MIPI_LP_RX_TIMEOUT(port),
>> +                intel_de_write(display, MIPI_LP_RX_TIMEOUT(display, port),
>>                                 intel_dsi->lp_rx_timeout);
>> -                intel_de_write(dev_priv, MIPI_TURN_AROUND_TIMEOUT(port),
>> +                intel_de_write(display, MIPI_TURN_AROUND_TIMEOUT(display, port),
>>                                 intel_dsi->turn_arnd_val);
>> -                intel_de_write(dev_priv, MIPI_DEVICE_RESET_TIMER(port),
>> +                intel_de_write(display, MIPI_DEVICE_RESET_TIMER(display, port),
>>                                 intel_dsi->rst_timer_val);
>>  
>>                  /* dphy stuff */
>>  
>>                  /* in terms of low power clock */
>> -                intel_de_write(dev_priv, MIPI_INIT_COUNT(port),
>> +                intel_de_write(display, MIPI_INIT_COUNT(display, port),
>>                                 txclkesc(intel_dsi->escape_clk_div, 100));
>>  
>>                  if ((IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv)) &&
>> @@ -1420,16 +1430,16 @@ static void intel_dsi_prepare(struct intel_encoder *encoder,
>>                           * getting used. So write the other port
>>                           * if not in dual link mode.
>>                           */
>> -                        intel_de_write(dev_priv,
>> -                                       MIPI_INIT_COUNT(port == PORT_A ? PORT_C : PORT_A),
>> +                        intel_de_write(display,
>> +                                       MIPI_INIT_COUNT(display, port == PORT_A ? PORT_C : PORT_A),
>>                                         intel_dsi->init_count);
>>                  }
>>  
>>                  /* recovery disables */
>> -                intel_de_write(dev_priv, MIPI_EOT_DISABLE(port), tmp);
>> +                intel_de_write(display, MIPI_EOT_DISABLE(display, port), tmp);
>>  
>>                  /* in terms of low power clock */
>> -                intel_de_write(dev_priv, MIPI_INIT_COUNT(port),
>> +                intel_de_write(display, MIPI_INIT_COUNT(display, port),
>>                                 intel_dsi->init_count);
>>  
>>                  /* in terms of txbyteclkhs. actual high to low switch +
>> @@ -1437,7 +1447,7 @@ static void intel_dsi_prepare(struct intel_encoder *encoder,
>>                   *
>>                   * XXX: write MIPI_STOP_STATE_STALL?
>>                   */
>> -                intel_de_write(dev_priv, MIPI_HIGH_LOW_SWITCH_COUNT(port),
>> +                intel_de_write(display, MIPI_HIGH_LOW_SWITCH_COUNT(display, port),
>>                                 intel_dsi->hs_to_lp_count);
>>  
>>                  /* XXX: low power clock equivalence in terms of byte clock.
>> @@ -1446,14 +1456,14 @@ static void intel_dsi_prepare(struct intel_encoder *encoder,
>>                   * txclkesc time / txbyteclk time * (105 + MIPI_STOP_STATE_STALL
>>                   * ) / 105.???
>>                   */
>> -                intel_de_write(dev_priv, MIPI_LP_BYTECLK(port),
>> +                intel_de_write(display, MIPI_LP_BYTECLK(display, port),
>>                                 intel_dsi->lp_byte_clk);
>>  
>>                  if (IS_GEMINILAKE(dev_priv)) {
>> -                        intel_de_write(dev_priv, MIPI_TLPX_TIME_COUNT(port),
>> +                        intel_de_write(display, MIPI_TLPX_TIME_COUNT(display, port),
>>                                         intel_dsi->lp_byte_clk);
>>                          /* Shadow of DPHY reg */
>> -                        intel_de_write(dev_priv, MIPI_CLK_LANE_TIMING(port),
>> +                        intel_de_write(display, MIPI_CLK_LANE_TIMING(display, port),
>>                                         intel_dsi->dphy_reg);
>>                  }
>>  
>> @@ -1462,10 +1472,10 @@ static void intel_dsi_prepare(struct intel_encoder *encoder,
>>                   * this register in terms of byte clocks. based on dsi transfer
>>                   * rate and the number of lanes configured the time taken to
>>                   * transmit 16 long packets in a dsi stream varies. */
>> -                intel_de_write(dev_priv, MIPI_DBI_BW_CTRL(port),
>> +                intel_de_write(display, MIPI_DBI_BW_CTRL(display, port),
>>                                 intel_dsi->bw_timer);
>>  
>> -                intel_de_write(dev_priv, MIPI_CLK_LANE_SWITCH_TIME_CNT(port),
>> +                intel_de_write(display, MIPI_CLK_LANE_SWITCH_TIME_CNT(display, port),
>>                                 intel_dsi->clk_lp_to_hs_count << LP_HS_SSW_CNT_SHIFT | intel_dsi->clk_hs_to_lp_count << HS_LP_PWR_SW_CNT_SHIFT);
>>  
>>                  if (is_vid_mode(intel_dsi)) {
>> @@ -1493,13 +1503,14 @@ static void intel_dsi_prepare(struct intel_encoder *encoder,
>>                                  break;
>>                          }
>>  
>> -                        intel_de_write(dev_priv, MIPI_VIDEO_MODE_FORMAT(port), fmt);
>> +                        intel_de_write(display, MIPI_VIDEO_MODE_FORMAT(display, port), fmt);
>>                  }
>>          }
>>  }
>>  
>>  static void intel_dsi_unprepare(struct intel_encoder *encoder)
>>  {
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>>          enum port port;
>> @@ -1509,17 +1520,17 @@ static void intel_dsi_unprepare(struct intel_encoder *encoder)
>>  
>>          for_each_dsi_port(port, intel_dsi->ports) {
>>                  /* Panel commands can be sent when clock is in LP11 */
>> -                intel_de_write(dev_priv, MIPI_DEVICE_READY(port), 0x0);
>> +                intel_de_write(display, MIPI_DEVICE_READY(display, port), 0x0);
>>  
>>                  if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv))
>>                          bxt_dsi_reset_clocks(encoder, port);
>>                  else
>>                          vlv_dsi_reset_clocks(encoder, port);
>> -                intel_de_write(dev_priv, MIPI_EOT_DISABLE(port), CLOCKSTOP);
>> +                intel_de_write(display, MIPI_EOT_DISABLE(display, port), CLOCKSTOP);
>>  
>> -                intel_de_rmw(dev_priv, MIPI_DSI_FUNC_PRG(port), VID_MODE_FORMAT_MASK, 0);
>> +                intel_de_rmw(display, MIPI_DSI_FUNC_PRG(display, port), VID_MODE_FORMAT_MASK, 0);
>>  
>> -                intel_de_write(dev_priv, MIPI_DEVICE_READY(port), 0x1);
>> +                intel_de_write(display, MIPI_DEVICE_READY(display, port), 0x1);
>>          }
>>  }
>>  
>> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
>> index ae0a0b11bae3..70c5a13a3c75 100644
>> --- a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
>> +++ b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
>> @@ -365,13 +365,13 @@ u32 bxt_dsi_get_pclk(struct intel_encoder *encoder,
>>  
>>  void vlv_dsi_reset_clocks(struct intel_encoder *encoder, enum port port)
>>  {
>> -        u32 temp;
>> -        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>> +        struct intel_display *display = to_intel_display(encoder);
>>          struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>> +        u32 temp;
>>  
>> -        temp = intel_de_read(dev_priv, MIPI_CTRL(port));
>> +        temp = intel_de_read(display, MIPI_CTRL(display, port));
>>          temp &= ~ESCAPE_CLOCK_DIVIDER_MASK;
>> -        intel_de_write(dev_priv, MIPI_CTRL(port),
>> +        intel_de_write(display, MIPI_CTRL(display, port),
>>                         temp | intel_dsi->escape_clk_div << ESCAPE_CLOCK_DIVIDER_SHIFT);
>>  }
>>  
>> @@ -570,24 +570,24 @@ void bxt_dsi_pll_enable(struct intel_encoder *encoder,
>>  
>>  void bxt_dsi_reset_clocks(struct intel_encoder *encoder, enum port port)
>>  {
>> +        struct intel_display *display = to_intel_display(encoder);
>> +        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>>          u32 tmp;
>> -        struct drm_device *dev = encoder->base.dev;
>> -        struct drm_i915_private *dev_priv = to_i915(dev);
>>  
>>          /* Clear old configurations */
>>          if (IS_BROXTON(dev_priv)) {
>> -                tmp = intel_de_read(dev_priv, BXT_MIPI_CLOCK_CTL);
>> +                tmp = intel_de_read(display, BXT_MIPI_CLOCK_CTL);
>>                  tmp &= ~(BXT_MIPI_TX_ESCLK_FIXDIV_MASK(port));
>>                  tmp &= ~(BXT_MIPI_RX_ESCLK_UPPER_FIXDIV_MASK(port));
>>                  tmp &= ~(BXT_MIPI_8X_BY3_DIVIDER_MASK(port));
>>                  tmp &= ~(BXT_MIPI_RX_ESCLK_LOWER_FIXDIV_MASK(port));
>> -                intel_de_write(dev_priv, BXT_MIPI_CLOCK_CTL, tmp);
>> +                intel_de_write(display, BXT_MIPI_CLOCK_CTL, tmp);
>>          } else {
>> -                intel_de_rmw(dev_priv, MIPIO_TXESC_CLK_DIV1, GLK_TX_ESC_CLK_DIV1_MASK, 0);
>> +                intel_de_rmw(display, MIPIO_TXESC_CLK_DIV1, GLK_TX_ESC_CLK_DIV1_MASK, 0);
>>  
>> -                intel_de_rmw(dev_priv, MIPIO_TXESC_CLK_DIV2, GLK_TX_ESC_CLK_DIV2_MASK, 0);
>> +                intel_de_rmw(display, MIPIO_TXESC_CLK_DIV2, GLK_TX_ESC_CLK_DIV2_MASK, 0);
>>          }
>> -        intel_de_write(dev_priv, MIPI_EOT_DISABLE(port), CLOCKSTOP);
>> +        intel_de_write(display, MIPI_EOT_DISABLE(display, port), CLOCKSTOP);
>>  }
>>  
>>  static void assert_dsi_pll(struct drm_i915_private *i915, bool state)
>> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_regs.h b/drivers/gpu/drm/i915/display/vlv_dsi_regs.h
>> index 12a608a73720..c1126d170ec6 100644
>> --- a/drivers/gpu/drm/i915/display/vlv_dsi_regs.h
>> +++ b/drivers/gpu/drm/i915/display/vlv_dsi_regs.h
>> @@ -11,26 +11,23 @@
>>  #define VLV_MIPI_BASE                        VLV_DISPLAY_BASE
>>  #define BXT_MIPI_BASE                        0x60000
>>  
>> -#define _MIPI_MMIO_BASE(__i915) ((__i915)->display.dsi.mmio_base)
>> +#define _MIPI_MMIO_BASE(display)        ((display)->dsi.mmio_base)
>>  
>>  #define _MIPI_PORT(port, a, c)        (((port) == PORT_A) ? a : c)        /* ports A and C only */
>> -#define _MMIO_MIPI(port, a, c)        _MMIO(_MIPI_PORT(port, a, c))
>> +#define _MMIO_MIPI(base, port, a, c)        _MMIO((base) + _MIPI_PORT(port, a, c))
>>  
>>  /* BXT MIPI mode configure */
>> -#define  _BXT_MIPIA_TRANS_HACTIVE                        0x6B0F8
>> -#define  _BXT_MIPIC_TRANS_HACTIVE                        0x6B8F8
>> -#define  BXT_MIPI_TRANS_HACTIVE(tc)        _MMIO_MIPI(tc, \
>> -                _BXT_MIPIA_TRANS_HACTIVE, _BXT_MIPIC_TRANS_HACTIVE)
>> +#define  _BXT_MIPIA_TRANS_HACTIVE                0xb0f8
>> +#define  _BXT_MIPIC_TRANS_HACTIVE                0xb8f8
>> +#define  BXT_MIPI_TRANS_HACTIVE(tc)                _MMIO_MIPI(BXT_MIPI_BASE, tc, _BXT_MIPIA_TRANS_HACTIVE, _BXT_MIPIC_TRANS_HACTIVE)
>>  
>> -#define  _BXT_MIPIA_TRANS_VACTIVE                        0x6B0FC
>> -#define  _BXT_MIPIC_TRANS_VACTIVE                        0x6B8FC
>> -#define  BXT_MIPI_TRANS_VACTIVE(tc)        _MMIO_MIPI(tc, \
>> -                _BXT_MIPIA_TRANS_VACTIVE, _BXT_MIPIC_TRANS_VACTIVE)
>> +#define  _BXT_MIPIA_TRANS_VACTIVE                0xb0fc
>> +#define  _BXT_MIPIC_TRANS_VACTIVE                0xb8fc
>> +#define  BXT_MIPI_TRANS_VACTIVE(tc)                _MMIO_MIPI(BXT_MIPI_BASE, tc, _BXT_MIPIA_TRANS_VACTIVE, _BXT_MIPIC_TRANS_VACTIVE)
>>  
>> -#define  _BXT_MIPIA_TRANS_VTOTAL                        0x6B100
>> -#define  _BXT_MIPIC_TRANS_VTOTAL                        0x6B900
>> -#define  BXT_MIPI_TRANS_VTOTAL(tc)        _MMIO_MIPI(tc, \
>> -                _BXT_MIPIA_TRANS_VTOTAL, _BXT_MIPIC_TRANS_VTOTAL)
>> +#define  _BXT_MIPIA_TRANS_VTOTAL                0xb100
>> +#define  _BXT_MIPIC_TRANS_VTOTAL                0xb900
>> +#define  BXT_MIPI_TRANS_VTOTAL(tc)                _MMIO_MIPI(BXT_MIPI_BASE, tc, _BXT_MIPIA_TRANS_VTOTAL, _BXT_MIPIC_TRANS_VTOTAL)
>>  
>>  #define BXT_P_DSI_REGULATOR_CFG                        _MMIO(0x160020)
>>  #define  STAP_SELECT                                        (1 << 0)
>> @@ -38,14 +35,14 @@
>>  #define BXT_P_DSI_REGULATOR_TX_CTRL                _MMIO(0x160054)
>>  #define  HS_IO_CTRL_SELECT                                (1 << 0)
>>  
>> -#define _MIPIA_PORT_CTRL                        (VLV_DISPLAY_BASE + 0x61190)
>> -#define _MIPIC_PORT_CTRL                        (VLV_DISPLAY_BASE + 0x61700)
>> -#define VLV_MIPI_PORT_CTRL(port)        _MMIO_MIPI(port, _MIPIA_PORT_CTRL, _MIPIC_PORT_CTRL)
>> +#define _MIPIA_PORT_CTRL                        0x61190
>> +#define _MIPIC_PORT_CTRL                        0x61700
>> +#define VLV_MIPI_PORT_CTRL(port)                _MMIO_MIPI(VLV_MIPI_BASE, port, _MIPIA_PORT_CTRL, _MIPIC_PORT_CTRL)
>>  
>>   /* BXT port control */
>> -#define _BXT_MIPIA_PORT_CTRL                                0x6B0C0
>> -#define _BXT_MIPIC_PORT_CTRL                                0x6B8C0
>> -#define BXT_MIPI_PORT_CTRL(tc)        _MMIO_MIPI(tc, _BXT_MIPIA_PORT_CTRL, _BXT_MIPIC_PORT_CTRL)
>> +#define _BXT_MIPIA_PORT_CTRL                        0xb0c0
>> +#define _BXT_MIPIC_PORT_CTRL                        0xb8c0
>> +#define BXT_MIPI_PORT_CTRL(tc)                        _MMIO_MIPI(BXT_MIPI_BASE, tc, _BXT_MIPIA_PORT_CTRL, _BXT_MIPIC_PORT_CTRL)
>>  
>>  #define  DPI_ENABLE                                        (1 << 31) /* A + C */
>>  #define  MIPIA_MIPI4DPHY_DELAY_COUNT_SHIFT                27
>> @@ -87,17 +84,17 @@
>>  #define  LANE_CONFIGURATION_DUAL_LINK_A                        (1 << 0)
>>  #define  LANE_CONFIGURATION_DUAL_LINK_B                        (2 << 0)
>>  
>> -#define _MIPIA_TEARING_CTRL                        (VLV_DISPLAY_BASE + 0x61194)
>> -#define _MIPIC_TEARING_CTRL                        (VLV_DISPLAY_BASE + 0x61704)
>> -#define VLV_MIPI_TEARING_CTRL(port)                _MMIO_MIPI(port, _MIPIA_TEARING_CTRL, _MIPIC_TEARING_CTRL)
>> +#define _MIPIA_TEARING_CTRL                        0x61194
>> +#define _MIPIC_TEARING_CTRL                        0x61704
>> +#define VLV_MIPI_TEARING_CTRL(port)                        _MMIO_MIPI(VLV_MIPI_BASE, port, _MIPIA_TEARING_CTRL, _MIPIC_TEARING_CTRL)
>>  #define  TEARING_EFFECT_DELAY_SHIFT                        0
>>  #define  TEARING_EFFECT_DELAY_MASK                        (0xffff << 0)
>>  
>>  /* MIPI DSI Controller and D-PHY registers */
>>  
>> -#define _MIPIA_DEVICE_READY                (_MIPI_MMIO_BASE(dev_priv) + 0xb000)
>> -#define _MIPIC_DEVICE_READY                (_MIPI_MMIO_BASE(dev_priv) + 0xb800)
>> -#define MIPI_DEVICE_READY(port)                _MMIO_MIPI(port, _MIPIA_DEVICE_READY, _MIPIC_DEVICE_READY)
>> +#define _MIPIA_DEVICE_READY                        0xb000
>> +#define _MIPIC_DEVICE_READY                        0xb800
>> +#define MIPI_DEVICE_READY(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_DEVICE_READY, _MIPIC_DEVICE_READY)
>>  #define  BUS_POSSESSION                                        (1 << 3) /* set to give bus to receiver */
>>  #define  ULPS_STATE_MASK                                (3 << 1)
>>  #define  ULPS_STATE_ENTER                                (2 << 1)
>> @@ -105,12 +102,12 @@
>>  #define  ULPS_STATE_NORMAL_OPERATION                        (0 << 1)
>>  #define  DEVICE_READY                                        (1 << 0)
>>  
>> -#define _MIPIA_INTR_STAT                (_MIPI_MMIO_BASE(dev_priv) + 0xb004)
>> -#define _MIPIC_INTR_STAT                (_MIPI_MMIO_BASE(dev_priv) + 0xb804)
>> -#define MIPI_INTR_STAT(port)                _MMIO_MIPI(port, _MIPIA_INTR_STAT, _MIPIC_INTR_STAT)
>> -#define _MIPIA_INTR_EN                        (_MIPI_MMIO_BASE(dev_priv) + 0xb008)
>> -#define _MIPIC_INTR_EN                        (_MIPI_MMIO_BASE(dev_priv) + 0xb808)
>> -#define MIPI_INTR_EN(port)                _MMIO_MIPI(port, _MIPIA_INTR_EN, _MIPIC_INTR_EN)
>> +#define _MIPIA_INTR_STAT                        0xb004
>> +#define _MIPIC_INTR_STAT                        0xb804
>> +#define MIPI_INTR_STAT(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_INTR_STAT, _MIPIC_INTR_STAT)
>> +#define _MIPIA_INTR_EN                                0xb008
>> +#define _MIPIC_INTR_EN                                0xb808
>> +#define MIPI_INTR_EN(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_INTR_EN, _MIPIC_INTR_EN)
>>  #define  TEARING_EFFECT                                        (1 << 31)
>>  #define  SPL_PKT_SENT_INTERRUPT                                (1 << 30)
>>  #define  GEN_READ_DATA_AVAIL                                (1 << 29)
>> @@ -144,9 +141,9 @@
>>  #define  RXSOT_SYNC_ERROR                                (1 << 1)
>>  #define  RXSOT_ERROR                                        (1 << 0)
>>  
>> -#define _MIPIA_DSI_FUNC_PRG                (_MIPI_MMIO_BASE(dev_priv) + 0xb00c)
>> -#define _MIPIC_DSI_FUNC_PRG                (_MIPI_MMIO_BASE(dev_priv) + 0xb80c)
>> -#define MIPI_DSI_FUNC_PRG(port)                _MMIO_MIPI(port, _MIPIA_DSI_FUNC_PRG, _MIPIC_DSI_FUNC_PRG)
>> +#define _MIPIA_DSI_FUNC_PRG                        0xb00c
>> +#define _MIPIC_DSI_FUNC_PRG                        0xb80c
>> +#define MIPI_DSI_FUNC_PRG(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_DSI_FUNC_PRG, _MIPIC_DSI_FUNC_PRG)
>>  #define  CMD_MODE_DATA_WIDTH_MASK                        (7 << 13)
>>  #define  CMD_MODE_NOT_SUPPORTED                                (0 << 13)
>>  #define  CMD_MODE_DATA_WIDTH_16_BIT                        (1 << 13)
>> @@ -167,77 +164,77 @@
>>  #define  DATA_LANES_PRG_REG_SHIFT                        0
>>  #define  DATA_LANES_PRG_REG_MASK                        (7 << 0)
>>  
>> -#define _MIPIA_HS_TX_TIMEOUT                (_MIPI_MMIO_BASE(dev_priv) + 0xb010)
>> -#define _MIPIC_HS_TX_TIMEOUT                (_MIPI_MMIO_BASE(dev_priv) + 0xb810)
>> -#define MIPI_HS_TX_TIMEOUT(port)        _MMIO_MIPI(port, _MIPIA_HS_TX_TIMEOUT, _MIPIC_HS_TX_TIMEOUT)
>> +#define _MIPIA_HS_TX_TIMEOUT                        0xb010
>> +#define _MIPIC_HS_TX_TIMEOUT                        0xb810
>> +#define MIPI_HS_TX_TIMEOUT(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_HS_TX_TIMEOUT, _MIPIC_HS_TX_TIMEOUT)
>>  #define  HIGH_SPEED_TX_TIMEOUT_COUNTER_MASK                0xffffff
>>  
>> -#define _MIPIA_LP_RX_TIMEOUT                (_MIPI_MMIO_BASE(dev_priv) + 0xb014)
>> -#define _MIPIC_LP_RX_TIMEOUT                (_MIPI_MMIO_BASE(dev_priv) + 0xb814)
>> -#define MIPI_LP_RX_TIMEOUT(port)        _MMIO_MIPI(port, _MIPIA_LP_RX_TIMEOUT, _MIPIC_LP_RX_TIMEOUT)
>> +#define _MIPIA_LP_RX_TIMEOUT                        0xb014
>> +#define _MIPIC_LP_RX_TIMEOUT                        0xb814
>> +#define MIPI_LP_RX_TIMEOUT(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_LP_RX_TIMEOUT, _MIPIC_LP_RX_TIMEOUT)
>>  #define  LOW_POWER_RX_TIMEOUT_COUNTER_MASK                0xffffff
>>  
>> -#define _MIPIA_TURN_AROUND_TIMEOUT        (_MIPI_MMIO_BASE(dev_priv) + 0xb018)
>> -#define _MIPIC_TURN_AROUND_TIMEOUT        (_MIPI_MMIO_BASE(dev_priv) + 0xb818)
>> -#define MIPI_TURN_AROUND_TIMEOUT(port)        _MMIO_MIPI(port, _MIPIA_TURN_AROUND_TIMEOUT, _MIPIC_TURN_AROUND_TIMEOUT)
>> +#define _MIPIA_TURN_AROUND_TIMEOUT                0xb018
>> +#define _MIPIC_TURN_AROUND_TIMEOUT                0xb818
>> +#define MIPI_TURN_AROUND_TIMEOUT(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_TURN_AROUND_TIMEOUT, _MIPIC_TURN_AROUND_TIMEOUT)
>>  #define  TURN_AROUND_TIMEOUT_MASK                        0x3f
>>  
>> -#define _MIPIA_DEVICE_RESET_TIMER        (_MIPI_MMIO_BASE(dev_priv) + 0xb01c)
>> -#define _MIPIC_DEVICE_RESET_TIMER        (_MIPI_MMIO_BASE(dev_priv) + 0xb81c)
>> -#define MIPI_DEVICE_RESET_TIMER(port)        _MMIO_MIPI(port, _MIPIA_DEVICE_RESET_TIMER, _MIPIC_DEVICE_RESET_TIMER)
>> +#define _MIPIA_DEVICE_RESET_TIMER                0xb01c
>> +#define _MIPIC_DEVICE_RESET_TIMER                0xb81c
>> +#define MIPI_DEVICE_RESET_TIMER(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_DEVICE_RESET_TIMER, _MIPIC_DEVICE_RESET_TIMER)
>>  #define  DEVICE_RESET_TIMER_MASK                        0xffff
>>  
>> -#define _MIPIA_DPI_RESOLUTION                (_MIPI_MMIO_BASE(dev_priv) + 0xb020)
>> -#define _MIPIC_DPI_RESOLUTION                (_MIPI_MMIO_BASE(dev_priv) + 0xb820)
>> -#define MIPI_DPI_RESOLUTION(port)        _MMIO_MIPI(port, _MIPIA_DPI_RESOLUTION, _MIPIC_DPI_RESOLUTION)
>> +#define _MIPIA_DPI_RESOLUTION                        0xb020
>> +#define _MIPIC_DPI_RESOLUTION                        0xb820
>> +#define MIPI_DPI_RESOLUTION(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_DPI_RESOLUTION, _MIPIC_DPI_RESOLUTION)
>>  #define  VERTICAL_ADDRESS_SHIFT                                16
>>  #define  VERTICAL_ADDRESS_MASK                                (0xffff << 16)
>>  #define  HORIZONTAL_ADDRESS_SHIFT                        0
>>  #define  HORIZONTAL_ADDRESS_MASK                        0xffff
>>  
>> -#define _MIPIA_DBI_FIFO_THROTTLE        (_MIPI_MMIO_BASE(dev_priv) + 0xb024)
>> -#define _MIPIC_DBI_FIFO_THROTTLE        (_MIPI_MMIO_BASE(dev_priv) + 0xb824)
>> -#define MIPI_DBI_FIFO_THROTTLE(port)        _MMIO_MIPI(port, _MIPIA_DBI_FIFO_THROTTLE, _MIPIC_DBI_FIFO_THROTTLE)
>> +#define _MIPIA_DBI_FIFO_THROTTLE                0xb024
>> +#define _MIPIC_DBI_FIFO_THROTTLE                0xb824
>> +#define MIPI_DBI_FIFO_THROTTLE(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_DBI_FIFO_THROTTLE, _MIPIC_DBI_FIFO_THROTTLE)
>>  #define  DBI_FIFO_EMPTY_HALF                                (0 << 0)
>>  #define  DBI_FIFO_EMPTY_QUARTER                                (1 << 0)
>>  #define  DBI_FIFO_EMPTY_7_LOCATIONS                        (2 << 0)
>>  
>>  /* regs below are bits 15:0 */
>> -#define _MIPIA_HSYNC_PADDING_COUNT        (_MIPI_MMIO_BASE(dev_priv) + 0xb028)
>> -#define _MIPIC_HSYNC_PADDING_COUNT        (_MIPI_MMIO_BASE(dev_priv) + 0xb828)
>> -#define MIPI_HSYNC_PADDING_COUNT(port)        _MMIO_MIPI(port, _MIPIA_HSYNC_PADDING_COUNT, _MIPIC_HSYNC_PADDING_COUNT)
>> +#define _MIPIA_HSYNC_PADDING_COUNT                0xb028
>> +#define _MIPIC_HSYNC_PADDING_COUNT                0xb828
>> +#define MIPI_HSYNC_PADDING_COUNT(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_HSYNC_PADDING_COUNT, _MIPIC_HSYNC_PADDING_COUNT)
>>  
>> -#define _MIPIA_HBP_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb02c)
>> -#define _MIPIC_HBP_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb82c)
>> -#define MIPI_HBP_COUNT(port)                _MMIO_MIPI(port, _MIPIA_HBP_COUNT, _MIPIC_HBP_COUNT)
>> +#define _MIPIA_HBP_COUNT                        0xb02c
>> +#define _MIPIC_HBP_COUNT                        0xb82c
>> +#define MIPI_HBP_COUNT(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_HBP_COUNT, _MIPIC_HBP_COUNT)
>>  
>> -#define _MIPIA_HFP_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb030)
>> -#define _MIPIC_HFP_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb830)
>> -#define MIPI_HFP_COUNT(port)                _MMIO_MIPI(port, _MIPIA_HFP_COUNT, _MIPIC_HFP_COUNT)
>> +#define _MIPIA_HFP_COUNT                        0xb030
>> +#define _MIPIC_HFP_COUNT                        0xb830
>> +#define MIPI_HFP_COUNT(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_HFP_COUNT, _MIPIC_HFP_COUNT)
>>  
>> -#define _MIPIA_HACTIVE_AREA_COUNT        (_MIPI_MMIO_BASE(dev_priv) + 0xb034)
>> -#define _MIPIC_HACTIVE_AREA_COUNT        (_MIPI_MMIO_BASE(dev_priv) + 0xb834)
>> -#define MIPI_HACTIVE_AREA_COUNT(port)        _MMIO_MIPI(port, _MIPIA_HACTIVE_AREA_COUNT, _MIPIC_HACTIVE_AREA_COUNT)
>> +#define _MIPIA_HACTIVE_AREA_COUNT                0xb034
>> +#define _MIPIC_HACTIVE_AREA_COUNT                0xb834
>> +#define MIPI_HACTIVE_AREA_COUNT(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_HACTIVE_AREA_COUNT, _MIPIC_HACTIVE_AREA_COUNT)
>>  
>> -#define _MIPIA_VSYNC_PADDING_COUNT        (_MIPI_MMIO_BASE(dev_priv) + 0xb038)
>> -#define _MIPIC_VSYNC_PADDING_COUNT        (_MIPI_MMIO_BASE(dev_priv) + 0xb838)
>> -#define MIPI_VSYNC_PADDING_COUNT(port)        _MMIO_MIPI(port, _MIPIA_VSYNC_PADDING_COUNT, _MIPIC_VSYNC_PADDING_COUNT)
>> +#define _MIPIA_VSYNC_PADDING_COUNT                0xb038
>> +#define _MIPIC_VSYNC_PADDING_COUNT                0xb838
>> +#define MIPI_VSYNC_PADDING_COUNT(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_VSYNC_PADDING_COUNT, _MIPIC_VSYNC_PADDING_COUNT)
>>  
>> -#define _MIPIA_VBP_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb03c)
>> -#define _MIPIC_VBP_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb83c)
>> -#define MIPI_VBP_COUNT(port)                _MMIO_MIPI(port, _MIPIA_VBP_COUNT, _MIPIC_VBP_COUNT)
>> +#define _MIPIA_VBP_COUNT                        0xb03c
>> +#define _MIPIC_VBP_COUNT                        0xb83c
>> +#define MIPI_VBP_COUNT(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_VBP_COUNT, _MIPIC_VBP_COUNT)
>>  
>> -#define _MIPIA_VFP_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb040)
>> -#define _MIPIC_VFP_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb840)
>> -#define MIPI_VFP_COUNT(port)                _MMIO_MIPI(port, _MIPIA_VFP_COUNT, _MIPIC_VFP_COUNT)
>> +#define _MIPIA_VFP_COUNT                        0xb040
>> +#define _MIPIC_VFP_COUNT                        0xb840
>> +#define MIPI_VFP_COUNT(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_VFP_COUNT, _MIPIC_VFP_COUNT)
>>  
>> -#define _MIPIA_HIGH_LOW_SWITCH_COUNT        (_MIPI_MMIO_BASE(dev_priv) + 0xb044)
>> -#define _MIPIC_HIGH_LOW_SWITCH_COUNT        (_MIPI_MMIO_BASE(dev_priv) + 0xb844)
>> -#define MIPI_HIGH_LOW_SWITCH_COUNT(port)        _MMIO_MIPI(port,        _MIPIA_HIGH_LOW_SWITCH_COUNT, _MIPIC_HIGH_LOW_SWITCH_COUNT)
>> +#define _MIPIA_HIGH_LOW_SWITCH_COUNT                0xb044
>> +#define _MIPIC_HIGH_LOW_SWITCH_COUNT                0xb844
>> +#define MIPI_HIGH_LOW_SWITCH_COUNT(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port,        _MIPIA_HIGH_LOW_SWITCH_COUNT, _MIPIC_HIGH_LOW_SWITCH_COUNT)
>>  
>> -#define _MIPIA_DPI_CONTROL                (_MIPI_MMIO_BASE(dev_priv) + 0xb048)
>> -#define _MIPIC_DPI_CONTROL                (_MIPI_MMIO_BASE(dev_priv) + 0xb848)
>> -#define MIPI_DPI_CONTROL(port)                _MMIO_MIPI(port, _MIPIA_DPI_CONTROL, _MIPIC_DPI_CONTROL)
>> +#define _MIPIA_DPI_CONTROL                        0xb048
>> +#define _MIPIC_DPI_CONTROL                        0xb848
>> +#define MIPI_DPI_CONTROL(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_DPI_CONTROL, _MIPIC_DPI_CONTROL)
>>  #define  DPI_LP_MODE                                        (1 << 6)
>>  #define  BACKLIGHT_OFF                                        (1 << 5)
>>  #define  BACKLIGHT_ON                                        (1 << 4)
>> @@ -246,28 +243,27 @@
>>  #define  TURN_ON                                        (1 << 1)
>>  #define  SHUTDOWN                                        (1 << 0)
>>  
>> -#define _MIPIA_DPI_DATA                        (_MIPI_MMIO_BASE(dev_priv) + 0xb04c)
>> -#define _MIPIC_DPI_DATA                        (_MIPI_MMIO_BASE(dev_priv) + 0xb84c)
>> -#define MIPI_DPI_DATA(port)                _MMIO_MIPI(port, _MIPIA_DPI_DATA, _MIPIC_DPI_DATA)
>> +#define _MIPIA_DPI_DATA                                0xb04c
>> +#define _MIPIC_DPI_DATA                                0xb84c
>> +#define MIPI_DPI_DATA(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_DPI_DATA, _MIPIC_DPI_DATA)
>>  #define  COMMAND_BYTE_SHIFT                                0
>>  #define  COMMAND_BYTE_MASK                                (0x3f << 0)
>>  
>> -#define _MIPIA_INIT_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb050)
>> -#define _MIPIC_INIT_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb850)
>> -#define MIPI_INIT_COUNT(port)                _MMIO_MIPI(port, _MIPIA_INIT_COUNT, _MIPIC_INIT_COUNT)
>> +#define _MIPIA_INIT_COUNT                        0xb050
>> +#define _MIPIC_INIT_COUNT                        0xb850
>> +#define MIPI_INIT_COUNT(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_INIT_COUNT, _MIPIC_INIT_COUNT)
>>  #define  MASTER_INIT_TIMER_SHIFT                        0
>>  #define  MASTER_INIT_TIMER_MASK                                (0xffff << 0)
>>  
>> -#define _MIPIA_MAX_RETURN_PKT_SIZE        (_MIPI_MMIO_BASE(dev_priv) + 0xb054)
>> -#define _MIPIC_MAX_RETURN_PKT_SIZE        (_MIPI_MMIO_BASE(dev_priv) + 0xb854)
>> -#define MIPI_MAX_RETURN_PKT_SIZE(port)        _MMIO_MIPI(port, \
>> -                        _MIPIA_MAX_RETURN_PKT_SIZE, _MIPIC_MAX_RETURN_PKT_SIZE)
>> +#define _MIPIA_MAX_RETURN_PKT_SIZE                0xb054
>> +#define _MIPIC_MAX_RETURN_PKT_SIZE                0xb854
>> +#define MIPI_MAX_RETURN_PKT_SIZE(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_MAX_RETURN_PKT_SIZE, _MIPIC_MAX_RETURN_PKT_SIZE)
>>  #define  MAX_RETURN_PKT_SIZE_SHIFT                        0
>>  #define  MAX_RETURN_PKT_SIZE_MASK                        (0x3ff << 0)
>>  
>> -#define _MIPIA_VIDEO_MODE_FORMAT        (_MIPI_MMIO_BASE(dev_priv) + 0xb058)
>> -#define _MIPIC_VIDEO_MODE_FORMAT        (_MIPI_MMIO_BASE(dev_priv) + 0xb858)
>> -#define MIPI_VIDEO_MODE_FORMAT(port)        _MMIO_MIPI(port, _MIPIA_VIDEO_MODE_FORMAT, _MIPIC_VIDEO_MODE_FORMAT)
>> +#define _MIPIA_VIDEO_MODE_FORMAT                0xb058
>> +#define _MIPIC_VIDEO_MODE_FORMAT                0xb858
>> +#define MIPI_VIDEO_MODE_FORMAT(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_VIDEO_MODE_FORMAT, _MIPIC_VIDEO_MODE_FORMAT)
>>  #define  RANDOM_DPI_DISPLAY_RESOLUTION                        (1 << 4)
>>  #define  DISABLE_VIDEO_BTA                                (1 << 3)
>>  #define  IP_TG_CONFIG                                        (1 << 2)
>> @@ -275,9 +271,9 @@
>>  #define  VIDEO_MODE_NON_BURST_WITH_SYNC_EVENTS                (2 << 0)
>>  #define  VIDEO_MODE_BURST                                (3 << 0)
>>  
>> -#define _MIPIA_EOT_DISABLE                (_MIPI_MMIO_BASE(dev_priv) + 0xb05c)
>> -#define _MIPIC_EOT_DISABLE                (_MIPI_MMIO_BASE(dev_priv) + 0xb85c)
>> -#define MIPI_EOT_DISABLE(port)                _MMIO_MIPI(port, _MIPIA_EOT_DISABLE, _MIPIC_EOT_DISABLE)
>> +#define _MIPIA_EOT_DISABLE                        0xb05c
>> +#define _MIPIC_EOT_DISABLE                        0xb85c
>> +#define MIPI_EOT_DISABLE(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_EOT_DISABLE, _MIPIC_EOT_DISABLE)
>>  #define  BXT_DEFEATURE_DPI_FIFO_CTR                        (1 << 9)
>>  #define  BXT_DPHY_DEFEATURE_EN                                (1 << 8)
>>  #define  LP_RX_TIMEOUT_ERROR_RECOVERY_DISABLE                (1 << 7)
>> @@ -289,36 +285,36 @@
>>  #define  CLOCKSTOP                                        (1 << 1)
>>  #define  EOT_DISABLE                                        (1 << 0)
>>  
>> -#define _MIPIA_LP_BYTECLK                (_MIPI_MMIO_BASE(dev_priv) + 0xb060)
>> -#define _MIPIC_LP_BYTECLK                (_MIPI_MMIO_BASE(dev_priv) + 0xb860)
>> -#define MIPI_LP_BYTECLK(port)                _MMIO_MIPI(port, _MIPIA_LP_BYTECLK, _MIPIC_LP_BYTECLK)
>> +#define _MIPIA_LP_BYTECLK                        0xb060
>> +#define _MIPIC_LP_BYTECLK                        0xb860
>> +#define MIPI_LP_BYTECLK(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_LP_BYTECLK, _MIPIC_LP_BYTECLK)
>>  #define  LP_BYTECLK_SHIFT                                0
>>  #define  LP_BYTECLK_MASK                                (0xffff << 0)
>>  
>> -#define _MIPIA_TLPX_TIME_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb0a4)
>> -#define _MIPIC_TLPX_TIME_COUNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb8a4)
>> -#define MIPI_TLPX_TIME_COUNT(port)         _MMIO_MIPI(port, _MIPIA_TLPX_TIME_COUNT, _MIPIC_TLPX_TIME_COUNT)
>> +#define _MIPIA_TLPX_TIME_COUNT                        0xb0a4
>> +#define _MIPIC_TLPX_TIME_COUNT                        0xb8a4
>> +#define MIPI_TLPX_TIME_COUNT(display, port)         _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_TLPX_TIME_COUNT, _MIPIC_TLPX_TIME_COUNT)
>>  
>> -#define _MIPIA_CLK_LANE_TIMING                (_MIPI_MMIO_BASE(dev_priv) + 0xb098)
>> -#define _MIPIC_CLK_LANE_TIMING                (_MIPI_MMIO_BASE(dev_priv) + 0xb898)
>> -#define MIPI_CLK_LANE_TIMING(port)         _MMIO_MIPI(port, _MIPIA_CLK_LANE_TIMING, _MIPIC_CLK_LANE_TIMING)
>> +#define _MIPIA_CLK_LANE_TIMING                        0xb098
>> +#define _MIPIC_CLK_LANE_TIMING                        0xb898
>> +#define MIPI_CLK_LANE_TIMING(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_CLK_LANE_TIMING, _MIPIC_CLK_LANE_TIMING)
>>  
>>  /* bits 31:0 */
>> -#define _MIPIA_LP_GEN_DATA                (_MIPI_MMIO_BASE(dev_priv) + 0xb064)
>> -#define _MIPIC_LP_GEN_DATA                (_MIPI_MMIO_BASE(dev_priv) + 0xb864)
>> -#define MIPI_LP_GEN_DATA(port)                _MMIO_MIPI(port, _MIPIA_LP_GEN_DATA, _MIPIC_LP_GEN_DATA)
>> +#define _MIPIA_LP_GEN_DATA                        0xb064
>> +#define _MIPIC_LP_GEN_DATA                        0xb864
>> +#define MIPI_LP_GEN_DATA(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_LP_GEN_DATA, _MIPIC_LP_GEN_DATA)
>>  
>>  /* bits 31:0 */
>> -#define _MIPIA_HS_GEN_DATA                (_MIPI_MMIO_BASE(dev_priv) + 0xb068)
>> -#define _MIPIC_HS_GEN_DATA                (_MIPI_MMIO_BASE(dev_priv) + 0xb868)
>> -#define MIPI_HS_GEN_DATA(port)                _MMIO_MIPI(port, _MIPIA_HS_GEN_DATA, _MIPIC_HS_GEN_DATA)
>> -
>> -#define _MIPIA_LP_GEN_CTRL                (_MIPI_MMIO_BASE(dev_priv) + 0xb06c)
>> -#define _MIPIC_LP_GEN_CTRL                (_MIPI_MMIO_BASE(dev_priv) + 0xb86c)
>> -#define MIPI_LP_GEN_CTRL(port)                _MMIO_MIPI(port, _MIPIA_LP_GEN_CTRL, _MIPIC_LP_GEN_CTRL)
>> -#define _MIPIA_HS_GEN_CTRL                (_MIPI_MMIO_BASE(dev_priv) + 0xb070)
>> -#define _MIPIC_HS_GEN_CTRL                (_MIPI_MMIO_BASE(dev_priv) + 0xb870)
>> -#define MIPI_HS_GEN_CTRL(port)                _MMIO_MIPI(port, _MIPIA_HS_GEN_CTRL, _MIPIC_HS_GEN_CTRL)
>> +#define _MIPIA_HS_GEN_DATA                        0xb068
>> +#define _MIPIC_HS_GEN_DATA                        0xb868
>> +#define MIPI_HS_GEN_DATA(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_HS_GEN_DATA, _MIPIC_HS_GEN_DATA)
>> +
>> +#define _MIPIA_LP_GEN_CTRL                        0xb06c
>> +#define _MIPIC_LP_GEN_CTRL                        0xb86c
>> +#define MIPI_LP_GEN_CTRL(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_LP_GEN_CTRL, _MIPIC_LP_GEN_CTRL)
>> +#define _MIPIA_HS_GEN_CTRL                        0xb070
>> +#define _MIPIC_HS_GEN_CTRL                        0xb870
>> +#define MIPI_HS_GEN_CTRL(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_HS_GEN_CTRL, _MIPIC_HS_GEN_CTRL)
>>  #define  LONG_PACKET_WORD_COUNT_SHIFT                        8
>>  #define  LONG_PACKET_WORD_COUNT_MASK                        (0xffff << 8)
>>  #define  SHORT_PACKET_PARAM_SHIFT                        8
>> @@ -329,9 +325,9 @@
>>  #define  DATA_TYPE_MASK                                        (0x3f << 0)
>>  /* data type values, see include/video/mipi_display.h */
>>  
>> -#define _MIPIA_GEN_FIFO_STAT                (_MIPI_MMIO_BASE(dev_priv) + 0xb074)
>> -#define _MIPIC_GEN_FIFO_STAT                (_MIPI_MMIO_BASE(dev_priv) + 0xb874)
>> -#define MIPI_GEN_FIFO_STAT(port)        _MMIO_MIPI(port, _MIPIA_GEN_FIFO_STAT, _MIPIC_GEN_FIFO_STAT)
>> +#define _MIPIA_GEN_FIFO_STAT                        0xb074
>> +#define _MIPIC_GEN_FIFO_STAT                        0xb874
>> +#define MIPI_GEN_FIFO_STAT(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_GEN_FIFO_STAT, _MIPIC_GEN_FIFO_STAT)
>>  #define  DPI_FIFO_EMPTY                                        (1 << 28)
>>  #define  DBI_FIFO_EMPTY                                        (1 << 27)
>>  #define  LP_CTRL_FIFO_EMPTY                                (1 << 26)
>> @@ -347,16 +343,16 @@
>>  #define  HS_DATA_FIFO_HALF_EMPTY                        (1 << 1)
>>  #define  HS_DATA_FIFO_FULL                                (1 << 0)
>>  
>> -#define _MIPIA_HS_LS_DBI_ENABLE                (_MIPI_MMIO_BASE(dev_priv) + 0xb078)
>> -#define _MIPIC_HS_LS_DBI_ENABLE                (_MIPI_MMIO_BASE(dev_priv) + 0xb878)
>> -#define MIPI_HS_LP_DBI_ENABLE(port)        _MMIO_MIPI(port, _MIPIA_HS_LS_DBI_ENABLE, _MIPIC_HS_LS_DBI_ENABLE)
>> +#define _MIPIA_HS_LS_DBI_ENABLE                        0xb078
>> +#define _MIPIC_HS_LS_DBI_ENABLE                        0xb878
>> +#define MIPI_HS_LP_DBI_ENABLE(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_HS_LS_DBI_ENABLE, _MIPIC_HS_LS_DBI_ENABLE)
>>  #define  DBI_HS_LP_MODE_MASK                                (1 << 0)
>>  #define  DBI_LP_MODE                                        (1 << 0)
>>  #define  DBI_HS_MODE                                        (0 << 0)
>>  
>> -#define _MIPIA_DPHY_PARAM                (_MIPI_MMIO_BASE(dev_priv) + 0xb080)
>> -#define _MIPIC_DPHY_PARAM                (_MIPI_MMIO_BASE(dev_priv) + 0xb880)
>> -#define MIPI_DPHY_PARAM(port)                _MMIO_MIPI(port, _MIPIA_DPHY_PARAM, _MIPIC_DPHY_PARAM)
>> +#define _MIPIA_DPHY_PARAM                        0xb080
>> +#define _MIPIC_DPHY_PARAM                        0xb880
>> +#define MIPI_DPHY_PARAM(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_DPHY_PARAM, _MIPIC_DPHY_PARAM)
>>  #define  EXIT_ZERO_COUNT_SHIFT                                24
>>  #define  EXIT_ZERO_COUNT_MASK                                (0x3f << 24)
>>  #define  TRAIL_COUNT_SHIFT                                16
>> @@ -366,34 +362,34 @@
>>  #define  PREPARE_COUNT_SHIFT                                0
>>  #define  PREPARE_COUNT_MASK                                (0x3f << 0)
>>  
>> -#define _MIPIA_DBI_BW_CTRL                (_MIPI_MMIO_BASE(dev_priv) + 0xb084)
>> -#define _MIPIC_DBI_BW_CTRL                (_MIPI_MMIO_BASE(dev_priv) + 0xb884)
>> -#define MIPI_DBI_BW_CTRL(port)                _MMIO_MIPI(port, _MIPIA_DBI_BW_CTRL, _MIPIC_DBI_BW_CTRL)
>> +#define _MIPIA_DBI_BW_CTRL                        0xb084
>> +#define _MIPIC_DBI_BW_CTRL                        0xb884
>> +#define MIPI_DBI_BW_CTRL(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_DBI_BW_CTRL, _MIPIC_DBI_BW_CTRL)
>>  
>> -#define _MIPIA_CLK_LANE_SWITCH_TIME_CNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb088)
>> -#define _MIPIC_CLK_LANE_SWITCH_TIME_CNT                (_MIPI_MMIO_BASE(dev_priv) + 0xb888)
>> -#define MIPI_CLK_LANE_SWITCH_TIME_CNT(port)        _MMIO_MIPI(port, _MIPIA_CLK_LANE_SWITCH_TIME_CNT, _MIPIC_CLK_LANE_SWITCH_TIME_CNT)
>> +#define _MIPIA_CLK_LANE_SWITCH_TIME_CNT                0xb088
>> +#define _MIPIC_CLK_LANE_SWITCH_TIME_CNT                0xb888
>> +#define MIPI_CLK_LANE_SWITCH_TIME_CNT(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_CLK_LANE_SWITCH_TIME_CNT, _MIPIC_CLK_LANE_SWITCH_TIME_CNT)
>>  #define  LP_HS_SSW_CNT_SHIFT                                16
>>  #define  LP_HS_SSW_CNT_MASK                                (0xffff << 16)
>>  #define  HS_LP_PWR_SW_CNT_SHIFT                                0
>>  #define  HS_LP_PWR_SW_CNT_MASK                                (0xffff << 0)
>>  
>> -#define _MIPIA_STOP_STATE_STALL                (_MIPI_MMIO_BASE(dev_priv) + 0xb08c)
>> -#define _MIPIC_STOP_STATE_STALL                (_MIPI_MMIO_BASE(dev_priv) + 0xb88c)
>> -#define MIPI_STOP_STATE_STALL(port)        _MMIO_MIPI(port, _MIPIA_STOP_STATE_STALL, _MIPIC_STOP_STATE_STALL)
>> +#define _MIPIA_STOP_STATE_STALL                        0xb08c
>> +#define _MIPIC_STOP_STATE_STALL                        0xb88c
>> +#define MIPI_STOP_STATE_STALL(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_STOP_STATE_STALL, _MIPIC_STOP_STATE_STALL)
>>  #define  STOP_STATE_STALL_COUNTER_SHIFT                        0
>>  #define  STOP_STATE_STALL_COUNTER_MASK                        (0xff << 0)
>>  
>> -#define _MIPIA_INTR_STAT_REG_1                (_MIPI_MMIO_BASE(dev_priv) + 0xb090)
>> -#define _MIPIC_INTR_STAT_REG_1                (_MIPI_MMIO_BASE(dev_priv) + 0xb890)
>> -#define MIPI_INTR_STAT_REG_1(port)        _MMIO_MIPI(port, _MIPIA_INTR_STAT_REG_1, _MIPIC_INTR_STAT_REG_1)
>> -#define _MIPIA_INTR_EN_REG_1                (_MIPI_MMIO_BASE(dev_priv) + 0xb094)
>> -#define _MIPIC_INTR_EN_REG_1                (_MIPI_MMIO_BASE(dev_priv) + 0xb894)
>> -#define MIPI_INTR_EN_REG_1(port)        _MMIO_MIPI(port, _MIPIA_INTR_EN_REG_1, _MIPIC_INTR_EN_REG_1)
>> +#define _MIPIA_INTR_STAT_REG_1                        0xb090
>> +#define _MIPIC_INTR_STAT_REG_1                        0xb890
>> +#define MIPI_INTR_STAT_REG_1(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_INTR_STAT_REG_1, _MIPIC_INTR_STAT_REG_1)
>> +#define _MIPIA_INTR_EN_REG_1                        0xb094
>> +#define _MIPIC_INTR_EN_REG_1                        0xb894
>> +#define MIPI_INTR_EN_REG_1(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_INTR_EN_REG_1, _MIPIC_INTR_EN_REG_1)
>>  #define  RX_CONTENTION_DETECTED                                (1 << 0)
>>  
>>  /* XXX: only pipe A ?!? */
>> -#define MIPIA_DBI_TYPEC_CTRL                (_MIPI_MMIO_BASE(dev_priv) + 0xb100)
>> +#define MIPIA_DBI_TYPEC_CTRL(display)                (_MIPI_MMIO_BASE(display) + 0xb100)
>>  #define  DBI_TYPEC_ENABLE                                (1 << 31)
>>  #define  DBI_TYPEC_WIP                                        (1 << 30)
>>  #define  DBI_TYPEC_OPTION_SHIFT                                28
>> @@ -406,9 +402,9 @@
>>  
>>  /* MIPI adapter registers */
>>  
>> -#define _MIPIA_CTRL                        (_MIPI_MMIO_BASE(dev_priv) + 0xb104)
>> -#define _MIPIC_CTRL                        (_MIPI_MMIO_BASE(dev_priv) + 0xb904)
>> -#define MIPI_CTRL(port)                        _MMIO_MIPI(port, _MIPIA_CTRL, _MIPIC_CTRL)
>> +#define _MIPIA_CTRL                                0xb104
>> +#define _MIPIC_CTRL                                0xb904
>> +#define MIPI_CTRL(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_CTRL, _MIPIC_CTRL)
>>  #define  ESCAPE_CLOCK_DIVIDER_SHIFT                        5 /* A only */
>>  #define  ESCAPE_CLOCK_DIVIDER_MASK                        (3 << 5)
>>  #define  ESCAPE_CLOCK_DIVIDER_1                                (0 << 5)
>> @@ -439,41 +435,41 @@
>>  #define  GLK_MIPIIO_PORT_POWERED                        (1 << 1) /* RO */
>>  #define  GLK_MIPIIO_ENABLE                                (1 << 0)
>>  
>> -#define _MIPIA_DATA_ADDRESS                (_MIPI_MMIO_BASE(dev_priv) + 0xb108)
>> -#define _MIPIC_DATA_ADDRESS                (_MIPI_MMIO_BASE(dev_priv) + 0xb908)
>> -#define MIPI_DATA_ADDRESS(port)                _MMIO_MIPI(port, _MIPIA_DATA_ADDRESS, _MIPIC_DATA_ADDRESS)
>> +#define _MIPIA_DATA_ADDRESS                        0xb108
>> +#define _MIPIC_DATA_ADDRESS                        0xb908
>> +#define MIPI_DATA_ADDRESS(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_DATA_ADDRESS, _MIPIC_DATA_ADDRESS)
>>  #define  DATA_MEM_ADDRESS_SHIFT                                5
>>  #define  DATA_MEM_ADDRESS_MASK                                (0x7ffffff << 5)
>>  #define  DATA_VALID                                        (1 << 0)
>>  
>> -#define _MIPIA_DATA_LENGTH                (_MIPI_MMIO_BASE(dev_priv) + 0xb10c)
>> -#define _MIPIC_DATA_LENGTH                (_MIPI_MMIO_BASE(dev_priv) + 0xb90c)
>> -#define MIPI_DATA_LENGTH(port)                _MMIO_MIPI(port, _MIPIA_DATA_LENGTH, _MIPIC_DATA_LENGTH)
>> +#define _MIPIA_DATA_LENGTH                        0xb10c
>> +#define _MIPIC_DATA_LENGTH                        0xb90c
>> +#define MIPI_DATA_LENGTH(display, port)                _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_DATA_LENGTH, _MIPIC_DATA_LENGTH)
>>  #define  DATA_LENGTH_SHIFT                                0
>>  #define  DATA_LENGTH_MASK                                (0xfffff << 0)
>>  
>> -#define _MIPIA_COMMAND_ADDRESS                (_MIPI_MMIO_BASE(dev_priv) + 0xb110)
>> -#define _MIPIC_COMMAND_ADDRESS                (_MIPI_MMIO_BASE(dev_priv) + 0xb910)
>> -#define MIPI_COMMAND_ADDRESS(port)        _MMIO_MIPI(port, _MIPIA_COMMAND_ADDRESS, _MIPIC_COMMAND_ADDRESS)
>> +#define _MIPIA_COMMAND_ADDRESS                        0xb110
>> +#define _MIPIC_COMMAND_ADDRESS                        0xb910
>> +#define MIPI_COMMAND_ADDRESS(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_COMMAND_ADDRESS, _MIPIC_COMMAND_ADDRESS)
>>  #define  COMMAND_MEM_ADDRESS_SHIFT                        5
>>  #define  COMMAND_MEM_ADDRESS_MASK                        (0x7ffffff << 5)
>>  #define  AUTO_PWG_ENABLE                                (1 << 2)
>>  #define  MEMORY_WRITE_DATA_FROM_PIPE_RENDERING                (1 << 1)
>>  #define  COMMAND_VALID                                        (1 << 0)
>>  
>> -#define _MIPIA_COMMAND_LENGTH                (_MIPI_MMIO_BASE(dev_priv) + 0xb114)
>> -#define _MIPIC_COMMAND_LENGTH                (_MIPI_MMIO_BASE(dev_priv) + 0xb914)
>> -#define MIPI_COMMAND_LENGTH(port)        _MMIO_MIPI(port, _MIPIA_COMMAND_LENGTH, _MIPIC_COMMAND_LENGTH)
>> +#define _MIPIA_COMMAND_LENGTH                        0xb114
>> +#define _MIPIC_COMMAND_LENGTH                        0xb914
>> +#define MIPI_COMMAND_LENGTH(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_COMMAND_LENGTH, _MIPIC_COMMAND_LENGTH)
>>  #define  COMMAND_LENGTH_SHIFT(n)                        (8 * (n)) /* n: 0...3 */
>>  #define  COMMAND_LENGTH_MASK(n)                                (0xff << (8 * (n)))
>>  
>> -#define _MIPIA_READ_DATA_RETURN0        (_MIPI_MMIO_BASE(dev_priv) + 0xb118)
>> -#define _MIPIC_READ_DATA_RETURN0        (_MIPI_MMIO_BASE(dev_priv) + 0xb918)
>> -#define MIPI_READ_DATA_RETURN(port, n) _MMIO(_MIPI(port, _MIPIA_READ_DATA_RETURN0, _MIPIC_READ_DATA_RETURN0) + 4 * (n)) /* n: 0...7 */
>> +#define _MIPIA_READ_DATA_RETURN0                0xb118
>> +#define _MIPIC_READ_DATA_RETURN0                0xb918
>> +#define MIPI_READ_DATA_RETURN(display, port, n)        _MMIO_MIPI(_MIPI_MMIO_BASE(display) + 4 * (n), port, _MIPIA_READ_DATA_RETURN0, _MIPIC_READ_DATA_RETURN0) /* n: 0...7 */
>>  
>> -#define _MIPIA_READ_DATA_VALID                (_MIPI_MMIO_BASE(dev_priv) + 0xb138)
>> -#define _MIPIC_READ_DATA_VALID                (_MIPI_MMIO_BASE(dev_priv) + 0xb938)
>> -#define MIPI_READ_DATA_VALID(port)        _MMIO_MIPI(port, _MIPIA_READ_DATA_VALID, _MIPIC_READ_DATA_VALID)
>> +#define _MIPIA_READ_DATA_VALID                        0xb138
>> +#define _MIPIC_READ_DATA_VALID                        0xb938
>> +#define MIPI_READ_DATA_VALID(display, port)        _MMIO_MIPI(_MIPI_MMIO_BASE(display), port, _MIPIA_READ_DATA_VALID, _MIPIC_READ_DATA_VALID)
>>  #define  READ_DATA_VALID(n)                                (1 << (n))
>>  
>>  #endif /* __VLV_DSI_REGS_H__ */
>> -- 
>> 2.39.2
>>

  reply	other threads:[~2024-04-22 21:17 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-19 10:04 [PATCH v2 0/4] drm/i915/dsi: stop relying on implicit dev_priv variable Jani Nikula
2024-04-19 10:04 ` [PATCH v2 1/4] drm/i915/dsi: remove unused _MIPIA_AUTOPWG register definition Jani Nikula
2024-04-22 20:59   ` Rodrigo Vivi
2024-04-23 14:41     ` Jani Nikula
2024-04-19 10:04 ` [PATCH v2 2/4] drm/i915/dsi: add VLV_ prefix to VLV only register macros Jani Nikula
2024-04-22 21:00   ` Rodrigo Vivi
2024-04-19 10:04 ` [PATCH v2 3/4] drm/i915/dsi: unify connector/encoder type and name usage Jani Nikula
2024-04-22 21:07   ` Rodrigo Vivi
2024-04-19 10:04 ` [PATCH v2 4/4] drm/i915/dsi: pass display to register macros instead of implicit variable Jani Nikula
2024-04-22 21:10   ` Rodrigo Vivi
2024-04-22 21:16     ` Gustavo Sousa [this message]
2024-04-22 21:21       ` Rodrigo Vivi
2024-04-19 10:46 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsi: stop relying on implicit dev_priv variable (rev2) Patchwork
2024-04-19 10:53 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-04-19 12:04   ` Jani Nikula
2024-04-22 23:33 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsi: stop relying on implicit dev_priv variable (rev3) Patchwork
2024-04-22 23:40 ` ✓ Fi.CI.BAT: success " Patchwork
2024-04-23 20:48 ` ✗ Fi.CI.IGT: failure " 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=171382061951.135083.8834293148344873194@gjsousa-mobl2 \
    --to=gustavo.sousa@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=rodrigo.vivi@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.