Re: [PATCH v2 4/4] drm/i915/dsi: pass display to register macros instead of implicit variable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 22, 2024 at 06:16:59PM -0300, Gustavo Sousa wrote:
> 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@xxxxxxxxx>
> >> 
> >> ---
> >> 
> >> 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? :-)

this is overall better indeed! Thanks

although for the registers the full context was more clear... but maybe
it is just a matter of getting used to it...
nowadays with the b4 in place these small/smart diffs might help the
reviews

Thank you so much

> 
> --
> Gustavo Sousa
> 
> >
> >Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
> >
> >> ---
> >>  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
> >>



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux