intel_uncore_write(&dev_priv->uncore, FW_BLC_SELF, enable ? FW_BLC_SELF_EN : 0);
                intel_uncore_posting_read(&dev_priv->uncore, FW_BLC_SELF);
        } else if (IS_PINEVIEW(dev_priv)) {
-               val = intel_uncore_read(&dev_priv->uncore, DSPFW3);
+               val = intel_uncore_read(&dev_priv->uncore, DSPFW3(dev_priv));
                was_enabled = val & PINEVIEW_SELF_REFRESH_EN;
                if (enable)
                        val |= PINEVIEW_SELF_REFRESH_EN;
                else
                        val &= ~PINEVIEW_SELF_REFRESH_EN;
-               intel_uncore_write(&dev_priv->uncore, DSPFW3, val);
-               intel_uncore_posting_read(&dev_priv->uncore, DSPFW3);
+               intel_uncore_write(&dev_priv->uncore, DSPFW3(dev_priv), val);
+               intel_uncore_posting_read(&dev_priv->uncore, DSPFW3(dev_priv));
        } else if (IS_I945G(dev_priv) || IS_I945GM(dev_priv)) {
                was_enabled = intel_uncore_read(&dev_priv->uncore, FW_BLC_SELF) & FW_BLC_SELF_EN;
                val = enable ? _MASKED_BIT_ENABLE(FW_BLC_SELF_EN) :
                                        &pnv_cursor_wm,
                                        pnv_display_wm.fifo_size,
                                        4, latency->cursor_sr);
-               intel_uncore_rmw(&dev_priv->uncore, DSPFW3, DSPFW_CURSOR_SR_MASK,
+               intel_uncore_rmw(&dev_priv->uncore, DSPFW3(dev_priv),
+                                DSPFW_CURSOR_SR_MASK,
                                 FW_WM(wm, CURSOR_SR));
 
                /* Display HPLL off SR */
                                        &pnv_display_hplloff_wm,
                                        pnv_display_hplloff_wm.fifo_size,
                                        cpp, latency->display_hpll_disable);
-               intel_uncore_rmw(&dev_priv->uncore, DSPFW3, DSPFW_HPLL_SR_MASK, FW_WM(wm, HPLL_SR));
+               intel_uncore_rmw(&dev_priv->uncore, DSPFW3(dev_priv),
+                                DSPFW_HPLL_SR_MASK, FW_WM(wm, HPLL_SR));
 
                /* cursor HPLL off SR */
                wm = intel_calculate_wm(dev_priv, pixel_rate,
                                        &pnv_cursor_hplloff_wm,
                                        pnv_display_hplloff_wm.fifo_size,
                                        4, latency->cursor_hpll_disable);
-               reg = intel_uncore_read(&dev_priv->uncore, DSPFW3);
+               reg = intel_uncore_read(&dev_priv->uncore, DSPFW3(dev_priv));
                reg &= ~DSPFW_HPLL_CURSOR_MASK;
                reg |= FW_WM(wm, HPLL_CURSOR);
-               intel_uncore_write(&dev_priv->uncore, DSPFW3, reg);
+               intel_uncore_write(&dev_priv->uncore, DSPFW3(dev_priv), reg);
                drm_dbg_kms(&dev_priv->drm, "DSPFW3 register is %x\n", reg);
 
                intel_set_memory_cxsr(dev_priv, true);
                           FW_WM(wm->pipe[PIPE_B].plane[PLANE_SPRITE0], SPRITEB) |
                           FW_WM(wm->pipe[PIPE_A].plane[PLANE_CURSOR], CURSORA) |
                           FW_WM(wm->pipe[PIPE_A].plane[PLANE_SPRITE0], SPRITEA));
-       intel_uncore_write(&dev_priv->uncore, DSPFW3,
+       intel_uncore_write(&dev_priv->uncore, DSPFW3(dev_priv),
                           (wm->hpll_en ? DSPFW_HPLL_SR_EN : 0) |
                           FW_WM(wm->sr.cursor, CURSOR_SR) |
                           FW_WM(wm->hpll.cursor, HPLL_CURSOR) |
                           FW_WM_VLV(wm->pipe[PIPE_A].plane[PLANE_SPRITE1], SPRITEB) |
                           FW_WM(wm->pipe[PIPE_A].plane[PLANE_CURSOR], CURSORA) |
                           FW_WM_VLV(wm->pipe[PIPE_A].plane[PLANE_SPRITE0], SPRITEA));
-       intel_uncore_write(&dev_priv->uncore, DSPFW3,
+       intel_uncore_write(&dev_priv->uncore, DSPFW3(dev_priv),
                           FW_WM(wm->sr.cursor, CURSOR_SR));
 
        if (IS_CHERRYVIEW(dev_priv)) {
                           FW_WM(8, CURSORA) |
                           FW_WM(8, PLANEC_OLD));
        /* update cursor SR watermark */
-       intel_uncore_write(&dev_priv->uncore, DSPFW3, FW_WM(cursor_sr, CURSOR_SR));
+       intel_uncore_write(&dev_priv->uncore, DSPFW3(dev_priv),
+                          FW_WM(cursor_sr, CURSOR_SR));
 
        if (cxsr_enabled)
                intel_set_memory_cxsr(dev_priv, true);
        wm->pipe[PIPE_A].plane[PLANE_CURSOR] = _FW_WM(tmp, CURSORA);
        wm->pipe[PIPE_A].plane[PLANE_SPRITE0] = _FW_WM(tmp, SPRITEA);
 
-       tmp = intel_uncore_read(&dev_priv->uncore, DSPFW3);
+       tmp = intel_uncore_read(&dev_priv->uncore, DSPFW3(dev_priv));
        wm->hpll_en = tmp & DSPFW_HPLL_SR_EN;
        wm->sr.cursor = _FW_WM(tmp, CURSOR_SR);
        wm->hpll.cursor = _FW_WM(tmp, HPLL_CURSOR);
        wm->pipe[PIPE_A].plane[PLANE_CURSOR] = _FW_WM(tmp, CURSORA);
        wm->pipe[PIPE_A].plane[PLANE_SPRITE0] = _FW_WM_VLV(tmp, SPRITEA);
 
-       tmp = intel_uncore_read(&dev_priv->uncore, DSPFW3);
+       tmp = intel_uncore_read(&dev_priv->uncore, DSPFW3(dev_priv));
        wm->sr.cursor = _FW_WM(tmp, CURSOR_SR);
 
        if (IS_CHERRYVIEW(dev_priv)) {