summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2009-02-20 14:57:40 +1000
committerBen Skeggs <bskeggs@redhat.com>2009-02-20 14:57:40 +1000
commit776d4fe69743e5cbfece0e0264b9d5ba8af7248e (patch)
tree1e03bb4d7e6e550b72d2fb3f0273d03d58c80859
parentbedffcd3bc0f29cd302df6a320f82e926fb31179 (diff)
nouveau: use consistant register access macros
We had quite a variety, name them all similarly and add a few new ones that'll be needed for modesetting.
-rw-r--r--linux-core/nouveau_backlight.c14
-rw-r--r--linux-core/nouveau_bios.c28
-rw-r--r--linux-core/nouveau_fence.c2
-rw-r--r--linux-core/nv50_connector.c2
-rw-r--r--linux-core/nv50_crtc.c12
-rw-r--r--linux-core/nv50_cursor.c16
-rw-r--r--linux-core/nv50_dac.c24
-rw-r--r--linux-core/nv50_display.c94
-rw-r--r--linux-core/nv50_i2c.c4
-rw-r--r--linux-core/nv50_sor.c16
-rw-r--r--shared-core/nouveau_dma.c4
-rw-r--r--shared-core/nouveau_dma.h2
-rw-r--r--shared-core/nouveau_drv.h38
-rw-r--r--shared-core/nouveau_fifo.c136
-rw-r--r--shared-core/nouveau_irq.c146
-rw-r--r--shared-core/nouveau_mem.c26
-rw-r--r--shared-core/nouveau_state.c88
-rw-r--r--shared-core/nouveau_swmthd.c24
-rw-r--r--shared-core/nv04_fb.c2
-rw-r--r--shared-core/nv04_fifo.c44
-rw-r--r--shared-core/nv04_graph.c78
-rw-r--r--shared-core/nv04_instmem.c2
-rw-r--r--shared-core/nv04_mc.c2
-rw-r--r--shared-core/nv04_timer.c16
-rw-r--r--shared-core/nv10_fb.c4
-rw-r--r--shared-core/nv10_fifo.c68
-rw-r--r--shared-core/nv10_graph.c128
-rw-r--r--shared-core/nv20_graph.c264
-rw-r--r--shared-core/nv40_fb.c14
-rw-r--r--shared-core/nv40_fifo.c110
-rw-r--r--shared-core/nv40_graph.c242
-rw-r--r--shared-core/nv40_mc.c12
-rw-r--r--shared-core/nv50_fifo.c58
-rw-r--r--shared-core/nv50_graph.c60
-rw-r--r--shared-core/nv50_instmem.c34
-rw-r--r--shared-core/nv50_mc.c2
36 files changed, 912 insertions, 904 deletions
diff --git a/linux-core/nouveau_backlight.c b/linux-core/nouveau_backlight.c
index 51c747a3..e5aa9e03 100644
--- a/linux-core/nouveau_backlight.c
+++ b/linux-core/nouveau_backlight.c
@@ -43,7 +43,7 @@ static int nv40_get_intensity(struct backlight_device *bd)
{
struct drm_device *dev = bl_get_data(bd);
struct drm_nouveau_private *dev_priv = dev->dev_private;
- int val = (NV_READ(NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK) >> 16;
+ int val = (nv_rd32(NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK) >> 16;
return val;
}
@@ -53,9 +53,9 @@ static int nv40_set_intensity(struct backlight_device *bd)
struct drm_device *dev = bl_get_data(bd);
struct drm_nouveau_private *dev_priv = dev->dev_private;
int val = bd->props.brightness;
- int reg = NV_READ(NV40_PMC_BACKLIGHT);
+ int reg = nv_rd32(NV40_PMC_BACKLIGHT);
- NV_WRITE(NV40_PMC_BACKLIGHT,
+ nv_wr32(NV40_PMC_BACKLIGHT,
(val << 16) | (reg & ~NV40_PMC_BACKLIGHT_MASK));
return 0;
@@ -74,7 +74,7 @@ static int nv50_get_intensity(struct backlight_device *bd)
struct drm_device *dev = bl_get_data(bd);
struct drm_nouveau_private *dev_priv = dev->dev_private;
- return NV_READ(NV50_PDISPLAY_BACKLIGHT);
+ return nv_rd32(NV50_PDISPLAY_BACKLIGHT);
}
static int nv50_set_intensity(struct backlight_device *bd)
@@ -83,7 +83,7 @@ static int nv50_set_intensity(struct backlight_device *bd)
struct drm_nouveau_private *dev_priv = dev->dev_private;
int val = bd->props.brightness;
- NV_WRITE(NV50_PDISPLAY_BACKLIGHT, val | NV50_PDISPLAY_BACKLIGHT_ENABLE);
+ nv_wr32(NV50_PDISPLAY_BACKLIGHT, val | NV50_PDISPLAY_BACKLIGHT_ENABLE);
return 0;
}
@@ -101,7 +101,7 @@ static int nouveau_nv40_backlight_init(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
struct backlight_device *bd;
- if (!(NV_READ(NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK))
+ if (!(nv_rd32(NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK))
return 0;
bd = backlight_device_register("nv_backlight", &dev->pdev->dev, dev,
@@ -122,7 +122,7 @@ static int nouveau_nv50_backlight_init(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
struct backlight_device *bd;
- if (!NV_READ(NV50_PDISPLAY_BACKLIGHT))
+ if (!nv_rd32(NV50_PDISPLAY_BACKLIGHT))
return 0;
bd = backlight_device_register("nv_backlight", &dev->pdev->dev, dev,
diff --git a/linux-core/nouveau_bios.c b/linux-core/nouveau_bios.c
index faa2b2b0..bcbedb7d 100644
--- a/linux-core/nouveau_bios.c
+++ b/linux-core/nouveau_bios.c
@@ -69,20 +69,20 @@ static void nv_shadow_bios_rom(struct drm_device *dev, uint8_t *data)
int i;
/* enable access to rom */
- NV_WRITE(NV04_PBUS_PCI_NV_20, NV04_PBUS_PCI_NV_20_ROM_SHADOW_DISABLED);
+ nv_wr32(NV04_PBUS_PCI_NV_20, NV04_PBUS_PCI_NV_20_ROM_SHADOW_DISABLED);
/* This is also valid for pre-NV50, it just happened to be the only define already present. */
for (i=0; i < NV50_PROM__ESIZE; i++) {
/* Appearantly needed for a 6600GT/6800LE bug. */
- data[i] = DRM_READ8(dev_priv->mmio, NV50_PROM + i);
- data[i] = DRM_READ8(dev_priv->mmio, NV50_PROM + i);
- data[i] = DRM_READ8(dev_priv->mmio, NV50_PROM + i);
- data[i] = DRM_READ8(dev_priv->mmio, NV50_PROM + i);
- data[i] = DRM_READ8(dev_priv->mmio, NV50_PROM + i);
+ data[i] = nv_rd08(NV50_PROM + i);
+ data[i] = nv_rd08(NV50_PROM + i);
+ data[i] = nv_rd08(NV50_PROM + i);
+ data[i] = nv_rd08(NV50_PROM + i);
+ data[i] = nv_rd08(NV50_PROM + i);
}
/* disable access to rom */
- NV_WRITE(NV04_PBUS_PCI_NV_20, NV04_PBUS_PCI_NV_20_ROM_SHADOW_ENABLED);
+ nv_wr32(NV04_PBUS_PCI_NV_20, NV04_PBUS_PCI_NV_20_ROM_SHADOW_ENABLED);
}
static void nv_shadow_bios_ramin(struct drm_device *dev, uint8_t *data)
@@ -93,20 +93,20 @@ static void nv_shadow_bios_ramin(struct drm_device *dev, uint8_t *data)
/* Move the bios copy to the start of ramin? */
if (dev_priv->card_type >= NV_50) {
- uint32_t vbios_vram = (NV_READ(0x619f04) & ~0xff) << 8;
+ uint32_t vbios_vram = (nv_rd32(0x619f04) & ~0xff) << 8;
if (!vbios_vram)
- vbios_vram = (NV_READ(0x1700) << 16) + 0xf0000;
+ vbios_vram = (nv_rd32(0x1700) << 16) + 0xf0000;
- old_bar0_pramin = NV_READ(0x1700);
- NV_WRITE(0x1700, vbios_vram >> 16);
+ old_bar0_pramin = nv_rd32(0x1700);
+ nv_wr32(0x1700, vbios_vram >> 16);
}
for (i=0; i < NV50_PROM__ESIZE; i++)
- data[i] = DRM_READ8(dev_priv->mmio, NV04_PRAMIN + i);
+ data[i] = nv_rd08(NV04_PRAMIN + i);
if (dev_priv->card_type >= NV_50)
- NV_WRITE(0x1700, old_bar0_pramin);
+ nv_wr32(0x1700, old_bar0_pramin);
}
static bool nv_shadow_bios(struct drm_device *dev, uint8_t *data)
@@ -640,7 +640,7 @@ bool get_pll_limits(struct drm_device *dev, uint32_t limit_match, struct pll_lim
if (bios->chip_version > 0x10 && bios->chip_version != 0x15 &&
bios->chip_version != 0x1a && bios->chip_version != 0x20)
crystal_strap_mask |= 1 << 22;
- crystal_straps = NV_READ(NV50_PEXTDEV + 0x0) & crystal_strap_mask;
+ crystal_straps = nv_rd32(NV50_PEXTDEV + 0x0) & crystal_strap_mask;
switch (pll_lim_ver) {
/* we use version 0 to indicate a pre limit table bios (single stage pll)
diff --git a/linux-core/nouveau_fence.c b/linux-core/nouveau_fence.c
index 3529bffb..26f98c08 100644
--- a/linux-core/nouveau_fence.c
+++ b/linux-core/nouveau_fence.c
@@ -93,7 +93,7 @@ nouveau_fence_poll(struct drm_device *dev, uint32_t class, uint32_t waiting_type
}
if (1) {
- uint32_t sequence = NV_READ(chan->ref_cnt);
+ uint32_t sequence = nv_rd32(chan->ref_cnt);
DRM_DEBUG("got 0x%08x\n", sequence);
drm_fence_handler(dev, class, sequence, waiting_types, 0);
diff --git a/linux-core/nv50_connector.c b/linux-core/nv50_connector.c
index 9836e1b0..16ab7fbd 100644
--- a/linux-core/nv50_connector.c
+++ b/linux-core/nv50_connector.c
@@ -111,7 +111,7 @@ static int nv50_connector_hpd_detect(struct nv50_connector *connector)
}
/* Check hotplug pins. */
- reg = NV_READ(NV50_PCONNECTOR_HOTPLUG_STATE);
+ reg = nv_rd32(NV50_PCONNECTOR_HOTPLUG_STATE);
if (reg & (NV50_PCONNECTOR_HOTPLUG_STATE_PIN_CONNECTED_I2C0 << (4 * connector->i2c_chan->index)))
present = 1;
diff --git a/linux-core/nv50_crtc.c b/linux-core/nv50_crtc.c
index 009219a1..37b0555e 100644
--- a/linux-core/nv50_crtc.c
+++ b/linux-core/nv50_crtc.c
@@ -401,12 +401,12 @@ static int nv50_crtc_set_clock(struct nv50_crtc *crtc)
uint32_t N1 = 0, N2 = 0, M1 = 0, M2 = 0, log2P = 0;
- uint32_t reg1 = NV_READ(pll_reg + 4);
- uint32_t reg2 = NV_READ(pll_reg + 8);
+ uint32_t reg1 = nv_rd32(pll_reg + 4);
+ uint32_t reg2 = nv_rd32(pll_reg + 8);
DRM_DEBUG("\n");
- NV_WRITE(pll_reg, NV50_PDISPLAY_CRTC_CLK_CLK_CTRL1_CONNECTED | 0x10000011);
+ nv_wr32(pll_reg, NV50_PDISPLAY_CRTC_CLK_CLK_CTRL1_CONNECTED | 0x10000011);
/* The other bits are typically empty, but let's be on the safe side. */
reg1 &= 0xff00ff00;
@@ -420,8 +420,8 @@ static int nv50_crtc_set_clock(struct nv50_crtc *crtc)
reg1 |= (M1 << 16) | N1;
reg2 |= (log2P << 28) | (M2 << 16) | N2;
- NV_WRITE(pll_reg + 4, reg1);
- NV_WRITE(pll_reg + 8, reg2);
+ nv_wr32(pll_reg + 4, reg1);
+ nv_wr32(pll_reg + 8, reg2);
return 0;
}
@@ -433,7 +433,7 @@ static int nv50_crtc_set_clock_mode(struct nv50_crtc *crtc)
DRM_DEBUG("\n");
/* This acknowledges a clock request. */
- NV_WRITE(NV50_PDISPLAY_CRTC_CLK_CLK_CTRL2(crtc->index), 0);
+ nv_wr32(NV50_PDISPLAY_CRTC_CLK_CLK_CTRL2(crtc->index), 0);
return 0;
}
diff --git a/linux-core/nv50_cursor.c b/linux-core/nv50_cursor.c
index f0ac73b2..073b407d 100644
--- a/linux-core/nv50_cursor.c
+++ b/linux-core/nv50_cursor.c
@@ -34,11 +34,11 @@ static int nv50_cursor_enable(struct nv50_crtc *crtc)
DRM_DEBUG("\n");
- NV_WRITE(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index), 0x2000);
- while(NV_READ(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index)) & NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_MASK);
+ nv_wr32(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index), 0x2000);
+ while(nv_rd32(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index)) & NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_MASK);
- NV_WRITE(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index), NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_ON);
- while((NV_READ(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index)) & NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_MASK)
+ nv_wr32(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index), NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_ON);
+ while((nv_rd32(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index)) & NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_MASK)
!= NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_ACTIVE);
crtc->cursor->enabled = true;
@@ -52,8 +52,8 @@ static int nv50_cursor_disable(struct nv50_crtc *crtc)
DRM_DEBUG("\n");
- NV_WRITE(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index), 0);
- while(NV_READ(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index)) & NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_MASK);
+ nv_wr32(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index), 0);
+ while(nv_rd32(NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(crtc->index)) & NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_MASK);
crtc->cursor->enabled = false;
@@ -98,9 +98,9 @@ static int nv50_cursor_set_pos(struct nv50_crtc *crtc, int x, int y)
{
struct drm_nouveau_private *dev_priv = crtc->base.dev->dev_private;
- NV_WRITE(NV50_HW_CURSOR_POS(crtc->index), ((y & 0xFFFF) << 16) | (x & 0xFFFF));
+ nv_wr32(NV50_HW_CURSOR_POS(crtc->index), ((y & 0xFFFF) << 16) | (x & 0xFFFF));
/* Needed to make the cursor move. */
- NV_WRITE(NV50_HW_CURSOR_POS_CTRL(crtc->index), 0);
+ nv_wr32(NV50_HW_CURSOR_POS_CTRL(crtc->index), 0);
return 0;
}
diff --git a/linux-core/nv50_dac.c b/linux-core/nv50_dac.c
index 0404aaca..4cd1a05f 100644
--- a/linux-core/nv50_dac.c
+++ b/linux-core/nv50_dac.c
@@ -92,7 +92,7 @@ static int nv50_dac_set_clock_mode(struct nv50_output *output)
DRM_DEBUG("or %d\n", output->or);
- NV_WRITE(NV50_PDISPLAY_DAC_CLK_CLK_CTRL2(output->or), 0);
+ nv_wr32(NV50_PDISPLAY_DAC_CLK_CLK_CTRL2(output->or), 0);
return 0;
}
@@ -106,9 +106,9 @@ static int nv50_dac_set_power_mode(struct nv50_output *output, int mode)
DRM_DEBUG("or %d\n", or);
/* wait for it to be done */
- while (NV_READ(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or)) & NV50_PDISPLAY_DAC_REGS_DPMS_CTRL_PENDING);
+ while (nv_rd32(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or)) & NV50_PDISPLAY_DAC_REGS_DPMS_CTRL_PENDING);
- val = NV_READ(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or)) & ~0x7F;
+ val = nv_rd32(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or)) & ~0x7F;
if (mode != DRM_MODE_DPMS_ON)
val |= NV50_PDISPLAY_DAC_REGS_DPMS_CTRL_BLANKED;
@@ -129,7 +129,7 @@ static int nv50_dac_set_power_mode(struct nv50_output *output, int mode)
break;
}
- NV_WRITE(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or), val | NV50_PDISPLAY_DAC_REGS_DPMS_CTRL_PENDING);
+ nv_wr32(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or), val | NV50_PDISPLAY_DAC_REGS_DPMS_CTRL_PENDING);
return 0;
}
@@ -141,11 +141,11 @@ static int nv50_dac_detect(struct nv50_output *output)
uint32_t dpms_state, load_pattern, load_state;
int or = output->or;
- NV_WRITE(NV50_PDISPLAY_DAC_REGS_CLK_CTRL1(or), 0x00000001);
- dpms_state = NV_READ(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or));
+ nv_wr32(NV50_PDISPLAY_DAC_REGS_CLK_CTRL1(or), 0x00000001);
+ dpms_state = nv_rd32(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or));
- NV_WRITE(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or), 0x00150000 | NV50_PDISPLAY_DAC_REGS_DPMS_CTRL_PENDING);
- while (NV_READ(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or)) & NV50_PDISPLAY_DAC_REGS_DPMS_CTRL_PENDING);
+ nv_wr32(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or), 0x00150000 | NV50_PDISPLAY_DAC_REGS_DPMS_CTRL_PENDING);
+ while (nv_rd32(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or)) & NV50_PDISPLAY_DAC_REGS_DPMS_CTRL_PENDING);
/* Use bios provided value if possible. */
if (dev_priv->bios.dactestval) {
@@ -156,12 +156,12 @@ static int nv50_dac_detect(struct nv50_output *output)
DRM_DEBUG("Using default load_pattern of %d\n", load_pattern);
}
- NV_WRITE(NV50_PDISPLAY_DAC_REGS_LOAD_CTRL(or), NV50_PDISPLAY_DAC_REGS_LOAD_CTRL_ACTIVE | load_pattern);
+ nv_wr32(NV50_PDISPLAY_DAC_REGS_LOAD_CTRL(or), NV50_PDISPLAY_DAC_REGS_LOAD_CTRL_ACTIVE | load_pattern);
udelay(10000); /* give it some time to process */
- load_state = NV_READ(NV50_PDISPLAY_DAC_REGS_LOAD_CTRL(or));
+ load_state = nv_rd32(NV50_PDISPLAY_DAC_REGS_LOAD_CTRL(or));
- NV_WRITE(NV50_PDISPLAY_DAC_REGS_LOAD_CTRL(or), 0);
- NV_WRITE(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or), dpms_state);
+ nv_wr32(NV50_PDISPLAY_DAC_REGS_LOAD_CTRL(or), 0);
+ nv_wr32(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(or), dpms_state);
if ((load_state & NV50_PDISPLAY_DAC_REGS_LOAD_CTRL_PRESENT) == NV50_PDISPLAY_DAC_REGS_LOAD_CTRL_PRESENT)
present = 1;
diff --git a/linux-core/nv50_display.c b/linux-core/nv50_display.c
index e0f95878..5500e201 100644
--- a/linux-core/nv50_display.c
+++ b/linux-core/nv50_display.c
@@ -40,46 +40,46 @@ static int nv50_display_pre_init(struct nv50_display *display)
DRM_DEBUG("\n");
- NV_WRITE(0x00610184, NV_READ(0x00614004));
+ nv_wr32(0x00610184, nv_rd32(0x00614004));
/*
* I think the 0x006101XX range is some kind of main control area that enables things.
*/
/* CRTC? */
- NV_WRITE(0x00610190 + 0 * 0x10, NV_READ(0x00616100 + 0 * 0x800));
- NV_WRITE(0x00610190 + 1 * 0x10, NV_READ(0x00616100 + 1 * 0x800));
- NV_WRITE(0x00610194 + 0 * 0x10, NV_READ(0x00616104 + 0 * 0x800));
- NV_WRITE(0x00610194 + 1 * 0x10, NV_READ(0x00616104 + 1 * 0x800));
- NV_WRITE(0x00610198 + 0 * 0x10, NV_READ(0x00616108 + 0 * 0x800));
- NV_WRITE(0x00610198 + 1 * 0x10, NV_READ(0x00616108 + 1 * 0x800));
- NV_WRITE(0x0061019c + 0 * 0x10, NV_READ(0x0061610c + 0 * 0x800));
- NV_WRITE(0x0061019c + 1 * 0x10, NV_READ(0x0061610c + 1 * 0x800));
+ nv_wr32(0x00610190 + 0 * 0x10, nv_rd32(0x00616100 + 0 * 0x800));
+ nv_wr32(0x00610190 + 1 * 0x10, nv_rd32(0x00616100 + 1 * 0x800));
+ nv_wr32(0x00610194 + 0 * 0x10, nv_rd32(0x00616104 + 0 * 0x800));
+ nv_wr32(0x00610194 + 1 * 0x10, nv_rd32(0x00616104 + 1 * 0x800));
+ nv_wr32(0x00610198 + 0 * 0x10, nv_rd32(0x00616108 + 0 * 0x800));
+ nv_wr32(0x00610198 + 1 * 0x10, nv_rd32(0x00616108 + 1 * 0x800));
+ nv_wr32(0x0061019c + 0 * 0x10, nv_rd32(0x0061610c + 0 * 0x800));
+ nv_wr32(0x0061019c + 1 * 0x10, nv_rd32(0x0061610c + 1 * 0x800));
/* DAC */
- NV_WRITE(0x006101d0 + 0 * 0x4, NV_READ(0x0061a000 + 0 * 0x800));
- NV_WRITE(0x006101d0 + 1 * 0x4, NV_READ(0x0061a000 + 1 * 0x800));
- NV_WRITE(0x006101d0 + 2 * 0x4, NV_READ(0x0061a000 + 2 * 0x800));
+ nv_wr32(0x006101d0 + 0 * 0x4, nv_rd32(0x0061a000 + 0 * 0x800));
+ nv_wr32(0x006101d0 + 1 * 0x4, nv_rd32(0x0061a000 + 1 * 0x800));
+ nv_wr32(0x006101d0 + 2 * 0x4, nv_rd32(0x0061a000 + 2 * 0x800));
/* SOR */
- NV_WRITE(0x006101e0 + 0 * 0x4, NV_READ(0x0061c000 + 0 * 0x800));
- NV_WRITE(0x006101e0 + 1 * 0x4, NV_READ(0x0061c000 + 1 * 0x800));
+ nv_wr32(0x006101e0 + 0 * 0x4, nv_rd32(0x0061c000 + 0 * 0x800));
+ nv_wr32(0x006101e0 + 1 * 0x4, nv_rd32(0x0061c000 + 1 * 0x800));
/* Something not yet in use, tv-out maybe. */
- NV_WRITE(0x006101f0 + 0 * 0x4, NV_READ(0x0061e000 + 0 * 0x800));
- NV_WRITE(0x006101f0 + 1 * 0x4, NV_READ(0x0061e000 + 1 * 0x800));
- NV_WRITE(0x006101f0 + 2 * 0x4, NV_READ(0x0061e000 + 2 * 0x800));
+ nv_wr32(0x006101f0 + 0 * 0x4, nv_rd32(0x0061e000 + 0 * 0x800));
+ nv_wr32(0x006101f0 + 1 * 0x4, nv_rd32(0x0061e000 + 1 * 0x800));
+ nv_wr32(0x006101f0 + 2 * 0x4, nv_rd32(0x0061e000 + 2 * 0x800));
for (i = 0; i < 3; i++) {
- NV_WRITE(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(i), 0x00550000 | NV50_PDISPLAY_DAC_REGS_DPMS_CTRL_PENDING);
- NV_WRITE(NV50_PDISPLAY_DAC_REGS_CLK_CTRL1(i), 0x00000001);
+ nv_wr32(NV50_PDISPLAY_DAC_REGS_DPMS_CTRL(i), 0x00550000 | NV50_PDISPLAY_DAC_REGS_DPMS_CTRL_PENDING);
+ nv_wr32(NV50_PDISPLAY_DAC_REGS_CLK_CTRL1(i), 0x00000001);
}
/* This used to be in crtc unblank, but seems out of place there. */
- NV_WRITE(NV50_PDISPLAY_UNK_380, 0);
+ nv_wr32(NV50_PDISPLAY_UNK_380, 0);
/* RAM is clamped to 256 MiB. */
ram_amount = nouveau_mem_fb_amount(display->dev);
DRM_DEBUG("ram_amount %d\n", ram_amount);
if (ram_amount > 256*1024*1024)
ram_amount = 256*1024*1024;
- NV_WRITE(NV50_PDISPLAY_RAM_AMOUNT, ram_amount - 1);
- NV_WRITE(NV50_PDISPLAY_UNK_388, 0x150000);
- NV_WRITE(NV50_PDISPLAY_UNK_38C, 0);
+ nv_wr32(NV50_PDISPLAY_RAM_AMOUNT, ram_amount - 1);
+ nv_wr32(NV50_PDISPLAY_UNK_388, 0x150000);
+ nv_wr32(NV50_PDISPLAY_UNK_38C, 0);
display->preinit_done = true;
@@ -95,26 +95,26 @@ static int nv50_display_init(struct nv50_display *display)
DRM_DEBUG("\n");
/* The precise purpose is unknown, i suspect it has something to do with text mode. */
- if (NV_READ(NV50_PDISPLAY_SUPERVISOR) & 0x100) {
- NV_WRITE(NV50_PDISPLAY_SUPERVISOR, 0x100);
- NV_WRITE(0x006194e8, NV_READ(0x006194e8) & ~1);
- while (NV_READ(0x006194e8) & 2);
+ if (nv_rd32(NV50_PDISPLAY_SUPERVISOR) & 0x100) {
+ nv_wr32(NV50_PDISPLAY_SUPERVISOR, 0x100);
+ nv_wr32(0x006194e8, nv_rd32(0x006194e8) & ~1);
+ while (nv_rd32(0x006194e8) & 2);
}
/* taken from nv bug #12637 */
- NV_WRITE(NV50_PDISPLAY_UNK200_CTRL, 0x2b00);
+ nv_wr32(NV50_PDISPLAY_UNK200_CTRL, 0x2b00);
do {
- val = NV_READ(NV50_PDISPLAY_UNK200_CTRL);
+ val = nv_rd32(NV50_PDISPLAY_UNK200_CTRL);
if ((val & 0x9f0000) == 0x20000)
- NV_WRITE(NV50_PDISPLAY_UNK200_CTRL, val | 0x800000);
+ nv_wr32(NV50_PDISPLAY_UNK200_CTRL, val | 0x800000);
if ((val & 0x3f0000) == 0x30000)
- NV_WRITE(NV50_PDISPLAY_UNK200_CTRL, val | 0x200000);
+ nv_wr32(NV50_PDISPLAY_UNK200_CTRL, val | 0x200000);
} while (val & 0x1e0000);
- NV_WRITE(NV50_PDISPLAY_CTRL_STATE, NV50_PDISPLAY_CTRL_STATE_ENABLE);
- NV_WRITE(NV50_PDISPLAY_UNK200_CTRL, 0x1000b03);
- while (!(NV_READ(NV50_PDISPLAY_UNK200_CTRL) & 0x40000000));
+ nv_wr32(NV50_PDISPLAY_CTRL_STATE, NV50_PDISPLAY_CTRL_STATE_ENABLE);
+ nv_wr32(NV50_PDISPLAY_UNK200_CTRL, 0x1000b03);
+ while (!(nv_rd32(NV50_PDISPLAY_UNK200_CTRL) & 0x40000000));
/* For the moment this is just a wrapper, which should be replaced with a real fifo at some point. */
OUT_MODE(NV50_UNK84, 0);
@@ -125,10 +125,10 @@ static int nv50_display_init(struct nv50_display *display)
OUT_MODE(NV50_CRTC0_UNK82C, 0);
/* enable clock change interrupts. */
- NV_WRITE(NV50_PDISPLAY_SUPERVISOR_INTR, NV_READ(NV50_PDISPLAY_SUPERVISOR_INTR) | 0x70);
+ nv_wr32(NV50_PDISPLAY_SUPERVISOR_INTR, nv_rd32(NV50_PDISPLAY_SUPERVISOR_INTR) | 0x70);
/* enable hotplug interrupts */
- NV_WRITE(NV50_PCONNECTOR_HOTPLUG_INTR, 0x7FFF7FFF);
+ nv_wr32(NV50_PCONNECTOR_HOTPLUG_INTR, 0x7FFF7FFF);
display->init_done = true;
@@ -164,24 +164,24 @@ static int nv50_display_disable(struct nv50_display *display)
else
mask = NV50_PDISPLAY_SUPERVISOR_CRTC0;
- NV_WRITE(NV50_PDISPLAY_SUPERVISOR, mask);
- while (!(NV_READ(NV50_PDISPLAY_SUPERVISOR) & mask));
+ nv_wr32(NV50_PDISPLAY_SUPERVISOR, mask);
+ while (!(nv_rd32(NV50_PDISPLAY_SUPERVISOR) & mask));
}
}
- NV_WRITE(NV50_PDISPLAY_UNK200_CTRL, 0);
- NV_WRITE(NV50_PDISPLAY_CTRL_STATE, 0);
- while ((NV_READ(NV50_PDISPLAY_UNK200_CTRL) & 0x1e0000) != 0);
+ nv_wr32(NV50_PDISPLAY_UNK200_CTRL, 0);
+ nv_wr32(NV50_PDISPLAY_CTRL_STATE, 0);
+ while ((nv_rd32(NV50_PDISPLAY_UNK200_CTRL) & 0x1e0000) != 0);
for (i = 0; i < 2; i++) {
- while (NV_READ(NV50_PDISPLAY_SOR_REGS_DPMS_STATE(i)) & NV50_PDISPLAY_SOR_REGS_DPMS_STATE_WAIT);
+ while (nv_rd32(NV50_PDISPLAY_SOR_REGS_DPMS_STATE(i)) & NV50_PDISPLAY_SOR_REGS_DPMS_STATE_WAIT);
}
/* disable clock change interrupts. */
- NV_WRITE(NV50_PDISPLAY_SUPERVISOR_INTR, NV_READ(NV50_PDISPLAY_SUPERVISOR_INTR) & ~0x70);
+ nv_wr32(NV50_PDISPLAY_SUPERVISOR_INTR, nv_rd32(NV50_PDISPLAY_SUPERVISOR_INTR) & ~0x70);
/* disable hotplug interrupts */
- NV_WRITE(NV50_PCONNECTOR_HOTPLUG_INTR, 0);
+ nv_wr32(NV50_PCONNECTOR_HOTPLUG_INTR, 0);
display->init_done = false;
@@ -415,12 +415,12 @@ void nv50_display_command(struct drm_nouveau_private *dev_priv,
DRM_DEBUG("mthd 0x%03X val 0x%08X\n", mthd, val);
- NV_WRITE(NV50_PDISPLAY_CTRL_VAL, val);
- NV_WRITE(NV50_PDISPLAY_CTRL_STATE, NV50_PDISPLAY_CTRL_STATE_PENDING |
+ nv_wr32(NV50_PDISPLAY_CTRL_VAL, val);
+ nv_wr32(NV50_PDISPLAY_CTRL_STATE, NV50_PDISPLAY_CTRL_STATE_PENDING |
NV50_PDISPLAY_CTRL_STATE_ENABLE |
0x10000 | mthd);
- while (NV_READ(NV50_PDISPLAY_CTRL_STATE) & NV50_PDISPLAY_CTRL_STATE_PENDING) {
+ while (nv_rd32(NV50_PDISPLAY_CTRL_STATE) & NV50_PDISPLAY_CTRL_STATE_PENDING) {
counter++;
if (counter > 1000000) {
DRM_ERROR("You probably need a reboot now\n");
diff --git a/linux-core/nv50_i2c.c b/linux-core/nv50_i2c.c
index 30e317c5..7a918739 100644
--- a/linux-core/nv50_i2c.c
+++ b/linux-core/nv50_i2c.c
@@ -71,7 +71,7 @@ static void nv50_i2c_set_bits(struct nv50_i2c_channel *chan, int clock_high, int
if (!port)
return;
- NV_WRITE(port, 4 | (data_high << 1) | clock_high);
+ nv_wr32(port, 4 | (data_high << 1) | clock_high);
}
static void nv50_i2c_get_bits(struct nv50_i2c_channel *chan, int *clock_high, int *data_high)
@@ -83,7 +83,7 @@ static void nv50_i2c_get_bits(struct nv50_i2c_channel *chan, int *clock_high, in
if (!port)
return;
- val = NV_READ(port);
+ val = nv_rd32(port);
if (val & 1)
*clock_high = 1;
diff --git a/linux-core/nv50_sor.c b/linux-core/nv50_sor.c
index 544af867..42d39a55 100644
--- a/linux-core/nv50_sor.c
+++ b/linux-core/nv50_sor.c
@@ -109,7 +109,7 @@ static int nv50_sor_set_clock_mode(struct nv50_output *output)
/* 0x70000 was a late addition to nv, mentioned as fixing tmds initialisation on certain gpu's. */
/* I presume it's some kind of clock setting, but what precisely i do not know. */
- NV_WRITE(NV50_PDISPLAY_SOR_CLK_CLK_CTRL2(output->or), 0x70000 | ((mode->clock > limit) ? 0x101 : 0));
+ nv_wr32(NV50_PDISPLAY_SOR_CLK_CLK_CTRL2(output->or), 0x70000 | ((mode->clock > limit) ? 0x101 : 0));
return 0;
}
@@ -123,16 +123,16 @@ static int nv50_sor_set_power_mode(struct nv50_output *output, int mode)
DRM_DEBUG("or %d\n", output->or);
/* wait for it to be done */
- while (NV_READ(NV50_PDISPLAY_SOR_REGS_DPMS_CTRL(or)) & NV50_PDISPLAY_SOR_REGS_DPMS_CTRL_PENDING);
+ while (nv_rd32(NV50_PDISPLAY_SOR_REGS_DPMS_CTRL(or)) & NV50_PDISPLAY_SOR_REGS_DPMS_CTRL_PENDING);
- val = NV_READ(NV50_PDISPLAY_SOR_REGS_DPMS_CTRL(or));
+ val = nv_rd32(NV50_PDISPLAY_SOR_REGS_DPMS_CTRL(or));
if (mode == DRM_MODE_DPMS_ON)
val |= NV50_PDISPLAY_SOR_REGS_DPMS_CTRL_ON;
else
val &= ~NV50_PDISPLAY_SOR_REGS_DPMS_CTRL_ON;
- NV_WRITE(NV50_PDISPLAY_SOR_REGS_DPMS_CTRL(or), val | NV50_PDISPLAY_SOR_REGS_DPMS_CTRL_PENDING);
+ nv_wr32(NV50_PDISPLAY_SOR_REGS_DPMS_CTRL(or), val | NV50_PDISPLAY_SOR_REGS_DPMS_CTRL_PENDING);
return 0;
}
@@ -207,10 +207,10 @@ int nv50_sor_create(struct drm_device *dev, struct dcb_entry *entry)
if (output->base.encoder_type == DRM_MODE_ENCODER_TMDS) {
int or = output->or;
- NV_WRITE(NV50_PDISPLAY_SOR_REGS_UNK_00C(or), 0x03010700);
- NV_WRITE(NV50_PDISPLAY_SOR_REGS_UNK_010(or), 0x0000152f);
- NV_WRITE(NV50_PDISPLAY_SOR_REGS_UNK_014(or), 0x00000000);
- NV_WRITE(NV50_PDISPLAY_SOR_REGS_UNK_018(or), 0x00245af8);
+ nv_wr32(NV50_PDISPLAY_SOR_REGS_UNK_00C(or), 0x03010700);
+ nv_wr32(NV50_PDISPLAY_SOR_REGS_UNK_010(or), 0x0000152f);
+ nv_wr32(NV50_PDISPLAY_SOR_REGS_UNK_014(or), 0x00000000);
+ nv_wr32(NV50_PDISPLAY_SOR_REGS_UNK_018(or), 0x00245af8);
}
return 0;
diff --git a/shared-core/nouveau_dma.c b/shared-core/nouveau_dma.c
index e8afda88..276575a7 100644
--- a/shared-core/nouveau_dma.c
+++ b/shared-core/nouveau_dma.c
@@ -146,8 +146,8 @@ nouveau_dma_channel_setup(struct nouveau_channel *chan)
return 0;
}
-#define READ_GET() ((NV_READ(chan->get) - chan->pushbuf_base) >> 2)
-#define WRITE_PUT(val) NV_WRITE(chan->put, ((val) << 2) + chan->pushbuf_base)
+#define READ_GET() ((nv_rd32(chan->get) - chan->pushbuf_base) >> 2)
+#define WRITE_PUT(val) nv_wr32(chan->put, ((val) << 2) + chan->pushbuf_base)
int
nouveau_dma_wait(struct nouveau_channel *chan, int size)
diff --git a/shared-core/nouveau_dma.h b/shared-core/nouveau_dma.h
index 424716d2..21c69b1f 100644
--- a/shared-core/nouveau_dma.h
+++ b/shared-core/nouveau_dma.h
@@ -92,7 +92,7 @@ FIRE_RING(struct nouveau_channel *chan)
DRM_MEMORYBARRIER();
chan->dma.put = chan->dma.cur;
- NV_WRITE(chan->put, (chan->dma.put << 2) + chan->pushbuf_base);
+ nv_wr32(chan->put, (chan->dma.put << 2) + chan->pushbuf_base);
}
/* This should allow easy switching to a real fifo in the future. */
diff --git a/shared-core/nouveau_drv.h b/shared-core/nouveau_drv.h
index e18eb5b6..b0b15a35 100644
--- a/shared-core/nouveau_drv.h
+++ b/shared-core/nouveau_drv.h
@@ -688,23 +688,31 @@ extern int nouveau_gem_ioctl_cpu_fini(struct drm_device *, void *,
struct drm_file *);
#if defined(__powerpc__)
-#define NV_READ(reg) in_be32((void __iomem *)(dev_priv->mmio)->handle + (reg) )
-#define NV_WRITE(reg,val) out_be32((void __iomem *)(dev_priv->mmio)->handle + (reg) , (val) )
+#define nv_out32(map,reg,val) out_be32((void __iomem *)(map)->handle + (reg), (val))
+#define nv_out16(map,reg,val) out_be16((void __iomem *)(map)->handle + (reg), (val))
+#define nv_in32(map,reg) in_be32((void __iomem *)(map)->handle + (reg))
+#define nv_in16(map,reg) in_be16((void __iomem *)(map)->handle + (reg))
#else
-#define NV_READ(reg) DRM_READ32( dev_priv->mmio, (reg) )
-#define NV_WRITE(reg,val) DRM_WRITE32( dev_priv->mmio, (reg), (val) )
+#define nv_out32(map,reg,val) DRM_WRITE32((map), (reg), (val))
+#define nv_out16(map,reg,val) DRM_WRITE16((map), (reg), (val))
+#define nv_in32(map,reg) DRM_READ32((map), (reg))
+#define nv_in16(map,reg) DRM_READ16((map), (reg))
#endif
-
+#define nv_out08(map,rev,val) DRM_WRITE8((map), (reg), (val))
+#define nv_in08(map,reg) DRM_READ8((map), (reg))
+
+/* register access */
+#define nv_rd32(reg) nv_in32(dev_priv->mmio, (reg))
+#define nv_wr32(reg,val) nv_out32(dev_priv->mmio, (reg), (val))
+#define nv_rd16(reg) nv_in16(dev_priv->mmio, (reg))
+#define nv_wr16(reg,val) nv_out16(dev_priv->mmio, (reg), (val))
+#define nv_rd08(reg) nv_in08(dev_priv->mmio, (reg))
+#define nv_wr08(reg,val) nv_out08(dev_priv->mmio, (reg), (val))
/* PRAMIN access */
-#if defined(__powerpc__)
-#define NV_RI32(o) in_be32((void __iomem *)(dev_priv->ramin)->handle+(o))
-#define NV_WI32(o,v) out_be32((void __iomem*)(dev_priv->ramin)->handle+(o), (v))
-#else
-#define NV_RI32(o) DRM_READ32(dev_priv->ramin, (o))
-#define NV_WI32(o,v) DRM_WRITE32(dev_priv->ramin, (o), (v))
-#endif
-
-#define INSTANCE_RD(o,i) NV_RI32((o)->im_pramin->start + ((i)<<2))
-#define INSTANCE_WR(o,i,v) NV_WI32((o)->im_pramin->start + ((i)<<2), (v))
+#define nv_ri32(reg) nv_in32(dev_priv->ramin, (reg))
+#define nv_wi32(reg,val) nv_out32(dev_priv->ramin, (reg), (val))
+/* object access */
+#define INSTANCE_RD(o,i) nv_ri32((o)->im_pramin->start + ((i)<<2))
+#define INSTANCE_WR(o,i,v) nv_wi32((o)->im_pramin->start + ((i)<<2), (v))
#endif /* __NOUVEAU_DRV_H__ */
diff --git a/shared-core/nouveau_fifo.c b/shared-core/nouveau_fifo.c
index 9bd5afbb..abc710d9 100644
--- a/shared-core/nouveau_fifo.c
+++ b/shared-core/nouveau_fifo.c
@@ -50,13 +50,13 @@ static int nouveau_fifo_instmem_configure(struct drm_device *dev)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
- NV_WRITE(NV03_PFIFO_RAMHT,
+ nv_wr32(NV03_PFIFO_RAMHT,
(0x03 << 24) /* search 128 */ |
((dev_priv->ramht_bits - 9) << 16) |
(dev_priv->ramht_offset >> 8)
);
- NV_WRITE(NV03_PFIFO_RAMRO, dev_priv->ramro_offset>>8);
+ nv_wr32(NV03_PFIFO_RAMRO, dev_priv->ramro_offset>>8);
switch(dev_priv->card_type)
{
@@ -65,28 +65,28 @@ static int nouveau_fifo_instmem_configure(struct drm_device *dev)
case 0x47:
case 0x49:
case 0x4b:
- NV_WRITE(0x2230, 1);
+ nv_wr32(0x2230, 1);
break;
default:
break;
}
- NV_WRITE(NV40_PFIFO_RAMFC, 0x30002);
+ nv_wr32(NV40_PFIFO_RAMFC, 0x30002);
break;
case NV_44:
- NV_WRITE(NV40_PFIFO_RAMFC, ((nouveau_mem_fb_amount(dev)-512*1024+dev_priv->ramfc_offset)>>16) |
+ nv_wr32(NV40_PFIFO_RAMFC, ((nouveau_mem_fb_amount(dev)-512*1024+dev_priv->ramfc_offset)>>16) |
(2 << 16));
break;
case NV_30:
case NV_20:
case NV_17:
- NV_WRITE(NV03_PFIFO_RAMFC, (dev_priv->ramfc_offset>>8) |
+ nv_wr32(NV03_PFIFO_RAMFC, (dev_priv->ramfc_offset>>8) |
(1 << 16) /* 64 Bytes entry*/);
/* XXX nvidia blob set bit 18, 21,23 for nv20 & nv30 */
break;
case NV_11:
case NV_10:
case NV_04:
- NV_WRITE(NV03_PFIFO_RAMFC, dev_priv->ramfc_offset>>8);
+ nv_wr32(NV03_PFIFO_RAMFC, dev_priv->ramfc_offset>>8);
break;
}
@@ -98,16 +98,16 @@ int nouveau_fifo_init(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
int ret;
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) &
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) &
~NV_PMC_ENABLE_PFIFO);
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) |
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) |
NV_PMC_ENABLE_PFIFO);
/* Enable PFIFO error reporting */
- NV_WRITE(NV03_PFIFO_INTR_0, 0xFFFFFFFF);
- NV_WRITE(NV03_PFIFO_INTR_EN_0, 0xFFFFFFFF);
+ nv_wr32(NV03_PFIFO_INTR_0, 0xFFFFFFFF);
+ nv_wr32(NV03_PFIFO_INTR_EN_0, 0xFFFFFFFF);
- NV_WRITE(NV03_PFIFO_CACHES, 0x00000000);
+ nv_wr32(NV03_PFIFO_CACHES, 0x00000000);
ret = nouveau_fifo_instmem_configure(dev);
if (ret) {
@@ -120,27 +120,27 @@ int nouveau_fifo_init(struct drm_device *dev)
DRM_DEBUG("Setting defaults for remaining PFIFO regs\n");
/* All channels into PIO mode */
- NV_WRITE(NV04_PFIFO_MODE, 0x00000000);
+ nv_wr32(NV04_PFIFO_MODE, 0x00000000);
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH0, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x00000000);
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH0, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x00000000);
/* Channel 0 active, PIO mode */
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH1, 0x00000000);
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH1, 0x00000000);
/* PUT and GET to 0 */
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUT, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_GET, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUT, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_GET, 0x00000000);
/* No cmdbuf object */
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_INSTANCE, 0x00000000);
- NV_WRITE(NV03_PFIFO_CACHE0_PUSH0, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE0_PULL0, 0x00000000);
- NV_WRITE(NV04_PFIFO_SIZE, 0x0000FFFF);
- NV_WRITE(NV04_PFIFO_CACHE1_HASH, 0x0000FFFF);
- NV_WRITE(NV04_PFIFO_CACHE0_PULL1, 0x00000001);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_CTL, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_STATE, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_ENGINE, 0x00000000);
-
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_FETCH, NV_PFIFO_CACHE1_DMA_FETCH_TRIG_112_BYTES |
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_INSTANCE, 0x00000000);
+ nv_wr32(NV03_PFIFO_CACHE0_PUSH0, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE0_PULL0, 0x00000000);
+ nv_wr32(NV04_PFIFO_SIZE, 0x0000FFFF);
+ nv_wr32(NV04_PFIFO_CACHE1_HASH, 0x0000FFFF);
+ nv_wr32(NV04_PFIFO_CACHE0_PULL1, 0x00000001);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_CTL, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_STATE, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_ENGINE, 0x00000000);
+
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_FETCH, NV_PFIFO_CACHE1_DMA_FETCH_TRIG_112_BYTES |
NV_PFIFO_CACHE1_DMA_FETCH_SIZE_128_BYTES |
NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_4 |
#ifdef __BIG_ENDIAN
@@ -148,27 +148,27 @@ int nouveau_fifo_init(struct drm_device *dev)
#endif
0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUSH, 0x00000001);
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH0, 0x00000001);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x00000001);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL1, 0x00000001);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUSH, 0x00000001);
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH0, 0x00000001);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x00000001);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL1, 0x00000001);
/* FIXME on NV04 */
if (dev_priv->card_type >= NV_10) {
- NV_WRITE(NV10_PGRAPH_CTX_USER, 0x0);
- NV_WRITE(NV04_PFIFO_DELAY_0, 0xff /* retrycount*/ );
+ nv_wr32(NV10_PGRAPH_CTX_USER, 0x0);
+ nv_wr32(NV04_PFIFO_DELAY_0, 0xff /* retrycount*/ );
if (dev_priv->card_type >= NV_40)
- NV_WRITE(NV10_PGRAPH_CTX_CONTROL, 0x00002001);
+ nv_wr32(NV10_PGRAPH_CTX_CONTROL, 0x00002001);
else
- NV_WRITE(NV10_PGRAPH_CTX_CONTROL, 0x10110000);
+ nv_wr32(NV10_PGRAPH_CTX_CONTROL, 0x10110000);
} else {
- NV_WRITE(NV04_PGRAPH_CTX_USER, 0x0);
- NV_WRITE(NV04_PFIFO_DELAY_0, 0xff /* retrycount*/ );
- NV_WRITE(NV04_PGRAPH_CTX_CONTROL, 0x10110000);
+ nv_wr32(NV04_PGRAPH_CTX_USER, 0x0);
+ nv_wr32(NV04_PFIFO_DELAY_0, 0xff /* retrycount*/ );
+ nv_wr32(NV04_PGRAPH_CTX_CONTROL, 0x10110000);
}
- NV_WRITE(NV04_PFIFO_DMA_TIMESLICE, 0x001fffff);
- NV_WRITE(NV03_PFIFO_CACHES, 0x00000001);
+ nv_wr32(NV04_PFIFO_DMA_TIMESLICE, 0x001fffff);
+ nv_wr32(NV03_PFIFO_CACHES, 0x00000001);
return 0;
}
@@ -347,10 +347,10 @@ nouveau_fifo_alloc(struct drm_device *dev, struct nouveau_channel **chan_ret,
nouveau_wait_for_idle(dev);
/* disable the fifo caches */
- NV_WRITE(NV03_PFIFO_CACHES, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUSH, NV_READ(NV04_PFIFO_CACHE1_DMA_PUSH)&(~0x1));
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH0, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x00000000);
+ nv_wr32(NV03_PFIFO_CACHES, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUSH, nv_rd32(NV04_PFIFO_CACHE1_DMA_PUSH)&(~0x1));
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH0, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x00000000);
/* Create a graphics context for new channel */
ret = engine->graph.create_context(chan);
@@ -369,8 +369,8 @@ nouveau_fifo_alloc(struct drm_device *dev, struct nouveau_channel **chan_ret,
/* setup channel's default get/put values
* XXX: quite possibly extremely pointless..
*/
- NV_WRITE(chan->get, chan->pushbuf_base);
- NV_WRITE(chan->put, chan->pushbuf_base);
+ nv_wr32(chan->get, chan->pushbuf_base);
+ nv_wr32(chan->put, chan->pushbuf_base);
/* If this is the first channel, setup PFIFO ourselves. For any
* other case, the GPU will handle this when it switches contexts.
@@ -390,14 +390,14 @@ nouveau_fifo_alloc(struct drm_device *dev, struct nouveau_channel **chan_ret,
}
}
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUSH,
- NV_READ(NV04_PFIFO_CACHE1_DMA_PUSH) | 1);
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH0, 0x00000001);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x00000001);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL1, 0x00000001);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUSH,
+ nv_rd32(NV04_PFIFO_CACHE1_DMA_PUSH) | 1);
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH0, 0x00000001);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x00000001);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL1, 0x00000001);
/* reenable the fifo caches */
- NV_WRITE(NV03_PFIFO_CACHES, 1);
+ nv_wr32(NV03_PFIFO_CACHES, 1);
if (dev_priv->mm_enabled) {
ret = nouveau_dma_channel_setup(chan);
@@ -426,8 +426,8 @@ nouveau_channel_idle(struct nouveau_channel *chan)
return 1;
}
- caches = NV_READ(NV03_PFIFO_CACHES);
- NV_WRITE(NV03_PFIFO_CACHES, caches & ~1);
+ caches = nv_rd32(NV03_PFIFO_CACHES);
+ nv_wr32(NV03_PFIFO_CACHES, caches & ~1);
if (engine->fifo.channel_id(dev) != chan->id) {
struct nouveau_gpuobj *ramfc =
@@ -443,11 +443,11 @@ nouveau_channel_idle(struct nouveau_channel *chan)
else
idle = 1;
} else {
- idle = (NV_READ(NV04_PFIFO_CACHE1_DMA_GET) ==
- NV_READ(NV04_PFIFO_CACHE1_DMA_PUT));
+ idle = (nv_rd32(NV04_PFIFO_CACHE1_DMA_GET) ==
+ nv_rd32(NV04_PFIFO_CACHE1_DMA_PUT));
}
- NV_WRITE(NV03_PFIFO_CACHES, caches);
+ nv_wr32(NV03_PFIFO_CACHES, caches);
return idle;
}
@@ -476,10 +476,10 @@ void nouveau_fifo_free(struct nouveau_channel *chan)
*/
/* disable the fifo caches */
- NV_WRITE(NV03_PFIFO_CACHES, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUSH, NV_READ(NV04_PFIFO_CACHE1_DMA_PUSH)&(~0x1));
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH0, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x00000000);
+ nv_wr32(NV03_PFIFO_CACHES, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUSH, nv_rd32(NV04_PFIFO_CACHE1_DMA_PUSH)&(~0x1));
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH0, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x00000000);
// FIXME XXX needs more code
@@ -489,11 +489,11 @@ void nouveau_fifo_free(struct nouveau_channel *chan)
engine->graph.destroy_context(chan);
/* reenable the fifo caches */
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUSH,
- NV_READ(NV04_PFIFO_CACHE1_DMA_PUSH) | 1);
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH0, 0x00000001);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x00000001);
- NV_WRITE(NV03_PFIFO_CACHES, 0x00000001);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUSH,
+ nv_rd32(NV04_PFIFO_CACHE1_DMA_PUSH) | 1);
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH0, 0x00000001);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x00000001);
+ nv_wr32(NV03_PFIFO_CACHES, 0x00000001);
/* Deallocate push buffer */
nouveau_gpuobj_ref_del(dev, &chan->pushbuf);
diff --git a/shared-core/nouveau_irq.c b/shared-core/nouveau_irq.c
index c754ba23..cc7a03c5 100644
--- a/shared-core/nouveau_irq.c
+++ b/shared-core/nouveau_irq.c
@@ -50,7 +50,7 @@ nouveau_irq_preinstall(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
/* Master disable */
- NV_WRITE(NV03_PMC_INTR_EN_0, 0);
+ nv_wr32(NV03_PMC_INTR_EN_0, 0);
}
int
@@ -59,7 +59,7 @@ nouveau_irq_postinstall(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
/* Master enable */
- NV_WRITE(NV03_PMC_INTR_EN_0, NV_PMC_INTR_EN_0_MASTER_ENABLE);
+ nv_wr32(NV03_PMC_INTR_EN_0, NV_PMC_INTR_EN_0_MASTER_ENABLE);
return 0;
}
@@ -70,7 +70,7 @@ nouveau_irq_uninstall(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
/* Master disable */
- NV_WRITE(NV03_PMC_INTR_EN_0, 0);
+ nv_wr32(NV03_PMC_INTR_EN_0, 0);
}
static void
@@ -80,14 +80,14 @@ nouveau_fifo_irq_handler(struct drm_device *dev)
struct nouveau_engine *engine = &dev_priv->Engine;
uint32_t status, reassign;
- reassign = NV_READ(NV03_PFIFO_CACHES) & 1;
- while ((status = NV_READ(NV03_PFIFO_INTR_0))) {
+ reassign = nv_rd32(NV03_PFIFO_CACHES) & 1;
+ while ((status = nv_rd32(NV03_PFIFO_INTR_0))) {
uint32_t chid, get;
- NV_WRITE(NV03_PFIFO_CACHES, 0);
+ nv_wr32(NV03_PFIFO_CACHES, 0);
chid = engine->fifo.channel_id(dev);
- get = NV_READ(NV03_PFIFO_CACHE1_GET);
+ get = nv_rd32(NV03_PFIFO_CACHE1_GET);
if (status & NV_PFIFO_INTR_CACHE_ERROR) {
uint32_t mthd, data;
@@ -95,45 +95,45 @@ nouveau_fifo_irq_handler(struct drm_device *dev)
ptr = get >> 2;
if (dev_priv->card_type < NV_40) {
- mthd = NV_READ(NV04_PFIFO_CACHE1_METHOD(ptr));
- data = NV_READ(NV04_PFIFO_CACHE1_DATA(ptr));
+ mthd = nv_rd32(NV04_PFIFO_CACHE1_METHOD(ptr));
+ data = nv_rd32(NV04_PFIFO_CACHE1_DATA(ptr));
} else {
- mthd = NV_READ(NV40_PFIFO_CACHE1_METHOD(ptr));
- data = NV_READ(NV40_PFIFO_CACHE1_DATA(ptr));
+ mthd = nv_rd32(NV40_PFIFO_CACHE1_METHOD(ptr));
+ data = nv_rd32(NV40_PFIFO_CACHE1_DATA(ptr));
}
DRM_INFO("PFIFO_CACHE_ERROR - "
"Ch %d/%d Mthd 0x%04x Data 0x%08x\n",
chid, (mthd >> 13) & 7, mthd & 0x1ffc, data);
- NV_WRITE(NV03_PFIFO_CACHE1_GET, get + 4);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 1);
+ nv_wr32(NV03_PFIFO_CACHE1_GET, get + 4);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 1);
status &= ~NV_PFIFO_INTR_CACHE_ERROR;
- NV_WRITE(NV03_PFIFO_INTR_0, NV_PFIFO_INTR_CACHE_ERROR);
+ nv_wr32(NV03_PFIFO_INTR_0, NV_PFIFO_INTR_CACHE_ERROR);
}
if (status & NV_PFIFO_INTR_DMA_PUSHER) {
DRM_INFO("PFIFO_DMA_PUSHER - Ch %d\n", chid);
status &= ~NV_PFIFO_INTR_DMA_PUSHER;
- NV_WRITE(NV03_PFIFO_INTR_0, NV_PFIFO_INTR_DMA_PUSHER);
+ nv_wr32(NV03_PFIFO_INTR_0, NV_PFIFO_INTR_DMA_PUSHER);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_STATE, 0x00000000);
- if (NV_READ(NV04_PFIFO_CACHE1_DMA_PUT) != get)
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_GET, get + 4);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_STATE, 0x00000000);
+ if (nv_rd32(NV04_PFIFO_CACHE1_DMA_PUT) != get)
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_GET, get + 4);
}
if (status) {
DRM_INFO("Unhandled PFIFO_INTR - 0x%08x\n", status);
- NV_WRITE(NV03_PFIFO_INTR_0, status);
- NV_WRITE(NV03_PMC_INTR_EN_0, 0);
+ nv_wr32(NV03_PFIFO_INTR_0, status);
+ nv_wr32(NV03_PMC_INTR_EN_0, 0);
}
- NV_WRITE(NV03_PFIFO_CACHES, reassign);
+ nv_wr32(NV03_PFIFO_CACHES, reassign);
}
- NV_WRITE(NV03_PMC_INTR_0, NV_PMC_INTR_0_PFIFO_PENDING);
+ nv_wr32(NV03_PMC_INTR_0, NV_PMC_INTR_0_PFIFO_PENDING);
}
struct nouveau_bitfield_names {
@@ -208,9 +208,9 @@ nouveau_graph_chid_from_grctx(struct drm_device *dev)
return dev_priv->Engine.fifo.channels;
else
if (dev_priv->card_type < NV_50)
- inst = (NV_READ(0x40032c) & 0xfffff) << 4;
+ inst = (nv_rd32(0x40032c) & 0xfffff) << 4;
else
- inst = NV_READ(0x40032c) & 0xfffff;
+ inst = nv_rd32(0x40032c) & 0xfffff;
for (i = 0; i < dev_priv->Engine.fifo.channels; i++) {
struct nouveau_channel *chan = dev_priv->fifos[i];
@@ -238,10 +238,10 @@ nouveau_graph_trapped_channel(struct drm_device *dev, int *channel_ret)
int channel;
if (dev_priv->card_type < NV_10)
- channel = (NV_READ(NV04_PGRAPH_TRAPPED_ADDR) >> 24) & 0xf;
+ channel = (nv_rd32(NV04_PGRAPH_TRAPPED_ADDR) >> 24) & 0xf;
else
if (dev_priv->card_type < NV_40)
- channel = (NV_READ(NV04_PGRAPH_TRAPPED_ADDR) >> 20) & 0x1f;
+ channel = (nv_rd32(NV04_PGRAPH_TRAPPED_ADDR) >> 20) & 0x1f;
else
channel = nouveau_graph_chid_from_grctx(dev);
@@ -271,31 +271,31 @@ nouveau_graph_trap_info(struct drm_device *dev,
trap->nsource = trap->nstatus = 0;
if (dev_priv->card_type < NV_50) {
- trap->nsource = NV_READ(NV03_PGRAPH_NSOURCE);
- trap->nstatus = NV_READ(NV03_PGRAPH_NSTATUS);
+ trap->nsource = nv_rd32(NV03_PGRAPH_NSOURCE);
+ trap->nstatus = nv_rd32(NV03_PGRAPH_NSTATUS);
}
if (nouveau_graph_trapped_channel(dev, &trap->channel))
trap->channel = -1;
- address = NV_READ(NV04_PGRAPH_TRAPPED_ADDR);
+ address = nv_rd32(NV04_PGRAPH_TRAPPED_ADDR);
trap->mthd = address & 0x1FFC;
- trap->data = NV_READ(NV04_PGRAPH_TRAPPED_DATA);
+ trap->data = nv_rd32(NV04_PGRAPH_TRAPPED_DATA);
if (dev_priv->card_type < NV_10) {
trap->subc = (address >> 13) & 0x7;
} else {
trap->subc = (address >> 16) & 0x7;
- trap->data2 = NV_READ(NV10_PGRAPH_TRAPPED_DATA_HIGH);
+ trap->data2 = nv_rd32(NV10_PGRAPH_TRAPPED_DATA_HIGH);
}
if (dev_priv->card_type < NV_10) {
- trap->class = NV_READ(0x400180 + trap->subc*4) & 0xFF;
+ trap->class = nv_rd32(0x400180 + trap->subc*4) & 0xFF;
} else if (dev_priv->card_type < NV_40) {
- trap->class = NV_READ(0x400160 + trap->subc*4) & 0xFFF;
+ trap->class = nv_rd32(0x400160 + trap->subc*4) & 0xFFF;
} else if (dev_priv->card_type < NV_50) {
- trap->class = NV_READ(0x400160 + trap->subc*4) & 0xFFFF;
+ trap->class = nv_rd32(0x400160 + trap->subc*4) & 0xFFFF;
} else {
- trap->class = NV_READ(0x400814);
+ trap->class = nv_rd32(0x400814);
}
}
@@ -408,41 +408,41 @@ nouveau_pgraph_irq_handler(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
uint32_t status;
- while ((status = NV_READ(NV03_PGRAPH_INTR))) {
- uint32_t nsource = NV_READ(NV03_PGRAPH_NSOURCE);
+ while ((status = nv_rd32(NV03_PGRAPH_INTR))) {
+ uint32_t nsource = nv_rd32(NV03_PGRAPH_NSOURCE);
if (status & NV_PGRAPH_INTR_NOTIFY) {
nouveau_pgraph_intr_notify(dev, nsource);
status &= ~NV_PGRAPH_INTR_NOTIFY;
- NV_WRITE(NV03_PGRAPH_INTR, NV_PGRAPH_INTR_NOTIFY);
+ nv_wr32(NV03_PGRAPH_INTR, NV_PGRAPH_INTR_NOTIFY);
}
if (status & NV_PGRAPH_INTR_ERROR) {
nouveau_pgraph_intr_error(dev, nsource);
status &= ~NV_PGRAPH_INTR_ERROR;
- NV_WRITE(NV03_PGRAPH_INTR, NV_PGRAPH_INTR_ERROR);
+ nv_wr32(NV03_PGRAPH_INTR, NV_PGRAPH_INTR_ERROR);
}
if (status & NV_PGRAPH_INTR_CONTEXT_SWITCH) {
nouveau_pgraph_intr_context_switch(dev);
status &= ~NV_PGRAPH_INTR_CONTEXT_SWITCH;
- NV_WRITE(NV03_PGRAPH_INTR,
+ nv_wr32(NV03_PGRAPH_INTR,
NV_PGRAPH_INTR_CONTEXT_SWITCH);
}
if (status) {
DRM_INFO("Unhandled PGRAPH_INTR - 0x%08x\n", status);
- NV_WRITE(NV03_PGRAPH_INTR, status);
+ nv_wr32(NV03_PGRAPH_INTR, status);
}
- if ((NV_READ(NV04_PGRAPH_FIFO) & (1 << 0)) == 0)
- NV_WRITE(NV04_PGRAPH_FIFO, 1);
+ if ((nv_rd32(NV04_PGRAPH_FIFO) & (1 << 0)) == 0)
+ nv_wr32(NV04_PGRAPH_FIFO, 1);
}
- NV_WRITE(NV03_PMC_INTR_0, NV_PMC_INTR_0_PGRAPH_PENDING);
+ nv_wr32(NV03_PMC_INTR_0, NV_PMC_INTR_0_PGRAPH_PENDING);
}
static void
@@ -451,15 +451,15 @@ nv50_pgraph_irq_handler(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
uint32_t status, nsource;
- status = NV_READ(NV03_PGRAPH_INTR);
- nsource = NV_READ(NV03_PGRAPH_NSOURCE);
+ status = nv_rd32(NV03_PGRAPH_INTR);
+ nsource = nv_rd32(NV03_PGRAPH_NSOURCE);
if (status & 0x00000020) {
nouveau_pgraph_intr_error(dev,
NV03_PGRAPH_NSOURCE_ILLEGAL_MTHD);
status &= ~0x00000020;
- NV_WRITE(NV03_PGRAPH_INTR, 0x00000020);
+ nv_wr32(NV03_PGRAPH_INTR, 0x00000020);
}
if (status & 0x00100000) {
@@ -467,7 +467,7 @@ nv50_pgraph_irq_handler(struct drm_device *dev)
NV03_PGRAPH_NSOURCE_DATA_ERROR);
status &= ~0x00100000;
- NV_WRITE(NV03_PGRAPH_INTR, 0x00100000);
+ nv_wr32(NV03_PGRAPH_INTR, 0x00100000);
}
if (status & 0x00200000) {
@@ -478,38 +478,38 @@ nv50_pgraph_irq_handler(struct drm_device *dev)
DRM_ERROR("magic set 1:\n");
for (r = 0x408900; r <= 0x408910; r += 4)
- DRM_ERROR("\t0x%08x: 0x%08x\n", r, NV_READ(r));
- NV_WRITE(0x408900, NV_READ(0x408904) | 0xc0000000);
+ DRM_ERROR("\t0x%08x: 0x%08x\n", r, nv_rd32(r));
+ nv_wr32(0x408900, nv_rd32(0x408904) | 0xc0000000);
for (r = 0x408e08; r <= 0x408e24; r += 4)
- DRM_ERROR("\t0x%08x: 0x%08x\n", r, NV_READ(r));
- NV_WRITE(0x408e08, NV_READ(0x408e08) | 0xc0000000);
+ DRM_ERROR("\t0x%08x: 0x%08x\n", r, nv_rd32(r));
+ nv_wr32(0x408e08, nv_rd32(0x408e08) | 0xc0000000);
DRM_ERROR("magic set 2:\n");
for (r = 0x409900; r <= 0x409910; r += 4)
- DRM_ERROR("\t0x%08x: 0x%08x\n", r, NV_READ(r));
- NV_WRITE(0x409900, NV_READ(0x409904) | 0xc0000000);
+ DRM_ERROR("\t0x%08x: 0x%08x\n", r, nv_rd32(r));
+ nv_wr32(0x409900, nv_rd32(0x409904) | 0xc0000000);
for (r = 0x409e08; r <= 0x409e24; r += 4)
- DRM_ERROR("\t0x%08x: 0x%08x\n", r, NV_READ(r));
- NV_WRITE(0x409e08, NV_READ(0x409e08) | 0xc0000000);
+ DRM_ERROR("\t0x%08x: 0x%08x\n", r, nv_rd32(r));
+ nv_wr32(0x409e08, nv_rd32(0x409e08) | 0xc0000000);
status &= ~0x00200000;
- NV_WRITE(NV03_PGRAPH_NSOURCE, nsource);
- NV_WRITE(NV03_PGRAPH_INTR, 0x00200000);
+ nv_wr32(NV03_PGRAPH_NSOURCE, nsource);
+ nv_wr32(NV03_PGRAPH_INTR, 0x00200000);
}
if (status) {
DRM_INFO("Unhandled PGRAPH_INTR - 0x%08x\n", status);
- NV_WRITE(NV03_PGRAPH_INTR, status);
+ nv_wr32(NV03_PGRAPH_INTR, status);
}
{
const int isb = (1 << 16) | (1 << 0);
- if ((NV_READ(0x400500) & isb) != isb)
- NV_WRITE(0x400500, NV_READ(0x400500) | isb);
+ if ((nv_rd32(0x400500) & isb) != isb)
+ nv_wr32(0x400500, nv_rd32(0x400500) | isb);
}
- NV_WRITE(NV03_PMC_INTR_0, NV_PMC_INTR_0_PGRAPH_PENDING);
+ nv_wr32(NV03_PMC_INTR_0, NV_PMC_INTR_0_PGRAPH_PENDING);
}
static void
@@ -518,11 +518,11 @@ nouveau_crtc_irq_handler(struct drm_device *dev, int crtc)
struct drm_nouveau_private *dev_priv = dev->dev_private;
if (crtc&1) {
- NV_WRITE(NV_CRTC0_INTSTAT, NV_CRTC_INTR_VBLANK);
+ nv_wr32(NV_CRTC0_INTSTAT, NV_CRTC_INTR_VBLANK);
}
if (crtc&2) {
- NV_WRITE(NV_CRTC1_INTSTAT, NV_CRTC_INTR_VBLANK);
+ nv_wr32(NV_CRTC1_INTSTAT, NV_CRTC_INTR_VBLANK);
}
}
@@ -530,7 +530,7 @@ static void
nouveau_nv50_display_irq_handler(struct drm_device *dev)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
- uint32_t val = NV_READ(NV50_PDISPLAY_SUPERVISOR);
+ uint32_t val = nv_rd32(NV50_PDISPLAY_SUPERVISOR);
struct drm_encoder *drm_encoder;
struct drm_crtc *drm_crtc;
@@ -538,7 +538,7 @@ nouveau_nv50_display_irq_handler(struct drm_device *dev)
/* vblank interrupts */
if (val & NV50_PDISPLAY_SUPERVISOR_CRTCn) {
- NV_WRITE(NV50_PDISPLAY_SUPERVISOR, val & NV50_PDISPLAY_SUPERVISOR_CRTCn);
+ nv_wr32(NV50_PDISPLAY_SUPERVISOR, val & NV50_PDISPLAY_SUPERVISOR_CRTCn);
val &= ~NV50_PDISPLAY_SUPERVISOR_CRTCn;
}
@@ -555,7 +555,7 @@ nouveau_nv50_display_irq_handler(struct drm_device *dev)
struct nv50_crtc *crtc = NULL;
int crtc_index;
- uint32_t unk30 = NV_READ(NV50_PDISPLAY_UNK30_CTRL);
+ uint32_t unk30 = nv_rd32(NV50_PDISPLAY_UNK30_CTRL);
for (crtc_index = 0; crtc_index < 2; crtc_index++) {
bool clock_change = false;
@@ -601,8 +601,8 @@ nouveau_nv50_display_irq_handler(struct drm_device *dev)
}
}
- NV_WRITE(NV50_PDISPLAY_UNK30_CTRL, NV50_PDISPLAY_UNK30_CTRL_PENDING);
- NV_WRITE(NV50_PDISPLAY_SUPERVISOR, val & NV50_PDISPLAY_SUPERVISOR_CLK_MASK);
+ nv_wr32(NV50_PDISPLAY_UNK30_CTRL, NV50_PDISPLAY_UNK30_CTRL_PENDING);
+ nv_wr32(NV50_PDISPLAY_SUPERVISOR, val & NV50_PDISPLAY_SUPERVISOR_CLK_MASK);
val &= ~NV50_PDISPLAY_SUPERVISOR_CLK_MASK;
}
@@ -610,7 +610,7 @@ nouveau_nv50_display_irq_handler(struct drm_device *dev)
if (val)
DRM_ERROR("unsupported NV50_DISPLAY_INTR - 0x%08X\n", val);
- NV_WRITE(NV50_PDISPLAY_SUPERVISOR, val);
+ nv_wr32(NV50_PDISPLAY_SUPERVISOR, val);
}
static void
@@ -619,10 +619,10 @@ nouveau_nv50_i2c_irq_handler(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
DRM_DEBUG("NV50_PCONNECTOR_HOTPLUG_CTRL - 0x%08X\n",
- NV_READ(NV50_PCONNECTOR_HOTPLUG_CTRL));
+ nv_rd32(NV50_PCONNECTOR_HOTPLUG_CTRL));
/* This seems to be the way to acknowledge an interrupt. */
- NV_WRITE(NV50_PCONNECTOR_HOTPLUG_CTRL, 0x7FFF7FFF);
+ nv_wr32(NV50_PCONNECTOR_HOTPLUG_CTRL, 0x7FFF7FFF);
/* Do a "dumb" detect all */
nv50_connector_detect_all(dev);
@@ -635,7 +635,7 @@ nouveau_irq_handler(DRM_IRQ_ARGS)
struct drm_nouveau_private *dev_priv = dev->dev_private;
uint32_t status;
- status = NV_READ(NV03_PMC_INTR_0);
+ status = nv_rd32(NV03_PMC_INTR_0);
if (!status)
return IRQ_NONE;
diff --git a/shared-core/nouveau_mem.c b/shared-core/nouveau_mem.c
index 12d8e340..43eca753 100644
--- a/shared-core/nouveau_mem.c
+++ b/shared-core/nouveau_mem.c
@@ -281,10 +281,10 @@ uint64_t nouveau_mem_fb_amount(struct drm_device *dev)
{
case NV_04:
case NV_05:
- if (NV_READ(NV03_BOOT_0) & 0x00000100) {
- return (((NV_READ(NV03_BOOT_0) >> 12) & 0xf)*2+2)*1024*1024;
+ if (nv_rd32(NV03_BOOT_0) & 0x00000100) {
+ return (((nv_rd32(NV03_BOOT_0) >> 12) & 0xf)*2+2)*1024*1024;
} else
- switch(NV_READ(NV03_BOOT_0)&NV03_BOOT_0_RAM_AMOUNT)
+ switch(nv_rd32(NV03_BOOT_0)&NV03_BOOT_0_RAM_AMOUNT)
{
case NV04_BOOT_0_RAM_AMOUNT_32MB:
return 32*1024*1024;
@@ -310,7 +310,7 @@ uint64_t nouveau_mem_fb_amount(struct drm_device *dev)
} else {
uint64_t mem;
- mem = (NV_READ(NV04_FIFO_DATA) &
+ mem = (nv_rd32(NV04_FIFO_DATA) &
NV10_FIFO_DATA_RAM_AMOUNT_MB_MASK) >>
NV10_FIFO_DATA_RAM_AMOUNT_MB_SHIFT;
return mem*1024*1024;
@@ -327,25 +327,25 @@ static void nouveau_mem_reset_agp(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
uint32_t saved_pci_nv_1, saved_pci_nv_19, pmc_enable;
- saved_pci_nv_1 = NV_READ(NV04_PBUS_PCI_NV_1);
- saved_pci_nv_19 = NV_READ(NV04_PBUS_PCI_NV_19);
+ saved_pci_nv_1 = nv_rd32(NV04_PBUS_PCI_NV_1);
+ saved_pci_nv_19 = nv_rd32(NV04_PBUS_PCI_NV_19);
/* clear busmaster bit */
- NV_WRITE(NV04_PBUS_PCI_NV_1, saved_pci_nv_1 & ~0x4);
+ nv_wr32(NV04_PBUS_PCI_NV_1, saved_pci_nv_1 & ~0x4);
/* clear SBA and AGP bits */
- NV_WRITE(NV04_PBUS_PCI_NV_19, saved_pci_nv_19 & 0xfffff0ff);
+ nv_wr32(NV04_PBUS_PCI_NV_19, saved_pci_nv_19 & 0xfffff0ff);
/* power cycle pgraph, if enabled */
- pmc_enable = NV_READ(NV03_PMC_ENABLE);
+ pmc_enable = nv_rd32(NV03_PMC_ENABLE);
if (pmc_enable & NV_PMC_ENABLE_PGRAPH) {
- NV_WRITE(NV03_PMC_ENABLE, pmc_enable & ~NV_PMC_ENABLE_PGRAPH);
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) |
+ nv_wr32(NV03_PMC_ENABLE, pmc_enable & ~NV_PMC_ENABLE_PGRAPH);
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) |
NV_PMC_ENABLE_PGRAPH);
}
/* and restore (gives effect of resetting AGP) */
- NV_WRITE(NV04_PBUS_PCI_NV_19, saved_pci_nv_19);
- NV_WRITE(NV04_PBUS_PCI_NV_1, saved_pci_nv_1);
+ nv_wr32(NV04_PBUS_PCI_NV_19, saved_pci_nv_19);
+ nv_wr32(NV04_PBUS_PCI_NV_1, saved_pci_nv_1);
}
static int
diff --git a/shared-core/nouveau_state.c b/shared-core/nouveau_state.c
index 69049199..7818bcd1 100644
--- a/shared-core/nouveau_state.c
+++ b/shared-core/nouveau_state.c
@@ -248,7 +248,7 @@ nouveau_card_init(struct drm_device *dev)
dev_priv->chipset = dev_priv->card_type;
else
dev_priv->chipset =
- (NV_READ(NV03_PMC_BOOT_0) & 0x0ff00000) >> 20;
+ (nv_rd32(NV03_PMC_BOOT_0) & 0x0ff00000) >> 20;
/* Initialise internal driver API hooks */
ret = nouveau_init_engine_ptrs(dev);
@@ -447,8 +447,8 @@ int nouveau_load(struct drm_device *dev, unsigned long flags)
#if defined(__powerpc__)
/* Put the card in BE mode if it's not */
- if (NV_READ(NV03_PMC_BOOT_1))
- NV_WRITE(NV03_PMC_BOOT_1,0x00000001);
+ if (nv_rd32(NV03_PMC_BOOT_1))
+ nv_wr32(NV03_PMC_BOOT_1,0x00000001);
DRM_MEMORYBARRIER();
@@ -466,7 +466,7 @@ int nouveau_load(struct drm_device *dev, unsigned long flags)
{
int i;
for(i=0;i<size;i+=4)
- NV_WI32(i, bios[i/4]);
+ nv_wi32(i, bios[i/4]);
DRM_INFO("OF bios successfully copied (%d bytes)\n",size);
}
else
@@ -477,7 +477,7 @@ int nouveau_load(struct drm_device *dev, unsigned long flags)
#endif
/* Time to determine the card architecture */
- reg0 = NV_READ(NV03_PMC_BOOT_0);
+ reg0 = nv_rd32(NV03_PMC_BOOT_0);
/* We're dealing with >=NV10 */
if ((reg0 & 0x0f000000) > 0 ) {
@@ -738,9 +738,9 @@ void nouveau_wait_for_idle(struct drm_device *dev)
uint64_t stopped = started;
uint32_t status;
do {
- uint32_t pmc_e = NV_READ(NV03_PMC_ENABLE);
+ uint32_t pmc_e = nv_rd32(NV03_PMC_ENABLE);
(void)pmc_e;
- status = NV_READ(NV04_PGRAPH_STATUS);
+ status = nv_rd32(NV04_PGRAPH_STATUS);
if (!status)
break;
stopped = dev_priv->Engine.timer.read(dev);
@@ -787,22 +787,22 @@ static int nouveau_suspend(struct drm_device *dev)
}
nouveau_wait_for_idle(dev);
- NV_WRITE(NV04_PGRAPH_FIFO, 0);
+ nv_wr32(NV04_PGRAPH_FIFO, 0);
/* disable the fifo caches */
- NV_WRITE(NV03_PFIFO_CACHES, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUSH,
- NV_READ(NV04_PFIFO_CACHE1_DMA_PUSH) & ~1);
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH0, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x00000000);
+ nv_wr32(NV03_PFIFO_CACHES, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUSH,
+ nv_rd32(NV04_PFIFO_CACHE1_DMA_PUSH) & ~1);
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH0, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x00000000);
- susres->fifo_mode = NV_READ(NV04_PFIFO_MODE);
+ susres->fifo_mode = nv_rd32(NV04_PFIFO_MODE);
if (dev_priv->card_type >= NV_10) {
- susres->graph_state = NV_READ(NV10_PGRAPH_STATE);
- susres->graph_ctx_control = NV_READ(NV10_PGRAPH_CTX_CONTROL);
+ susres->graph_state = nv_rd32(NV10_PGRAPH_STATE);
+ susres->graph_ctx_control = nv_rd32(NV10_PGRAPH_CTX_CONTROL);
} else {
- susres->graph_state = NV_READ(NV04_PGRAPH_STATE);
- susres->graph_ctx_control = NV_READ(NV04_PGRAPH_CTX_CONTROL);
+ susres->graph_state = nv_rd32(NV04_PGRAPH_STATE);
+ susres->graph_ctx_control = nv_rd32(NV04_PGRAPH_CTX_CONTROL);
}
engine->fifo.save_context(dev_priv->fifos[engine->fifo.channel_id(dev)]);
@@ -810,15 +810,15 @@ static int nouveau_suspend(struct drm_device *dev)
nouveau_wait_for_idle(dev);
for (i = 0; i < susres->ramin_size / 4; i++)
- susres->ramin_copy[i] = NV_RI32(i << 2);
+ susres->ramin_copy[i] = nv_ri32(i << 2);
/* reenable the fifo caches */
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUSH,
- NV_READ(NV04_PFIFO_CACHE1_DMA_PUSH) | 1);
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH0, 0x00000001);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x00000001);
- NV_WRITE(NV03_PFIFO_CACHES, 0x00000001);
- NV_WRITE(NV04_PGRAPH_FIFO, 1);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUSH,
+ nv_rd32(NV04_PFIFO_CACHE1_DMA_PUSH) | 1);
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH0, 0x00000001);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x00000001);
+ nv_wr32(NV03_PFIFO_CACHES, 0x00000001);
+ nv_wr32(NV04_PGRAPH_FIFO, 1);
return 0;
}
@@ -852,7 +852,7 @@ static int nouveau_resume(struct drm_device *dev)
}
for (i = 0; i < susres->ramin_size / 4; i++)
- NV_WI32(i << 2, susres->ramin_copy[i]);
+ nv_wi32(i << 2, susres->ramin_copy[i]);
engine->mc.init(dev);
engine->timer.init(dev);
@@ -860,41 +860,41 @@ static int nouveau_resume(struct drm_device *dev)
engine->graph.init(dev);
engine->fifo.init(dev);
- NV_WRITE(NV04_PGRAPH_FIFO, 0);
+ nv_wr32(NV04_PGRAPH_FIFO, 0);
/* disable the fifo caches */
- NV_WRITE(NV03_PFIFO_CACHES, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUSH,
- NV_READ(NV04_PFIFO_CACHE1_DMA_PUSH) & ~1);
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH0, 0x00000000);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x00000000);
+ nv_wr32(NV03_PFIFO_CACHES, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUSH,
+ nv_rd32(NV04_PFIFO_CACHE1_DMA_PUSH) & ~1);
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH0, 0x00000000);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x00000000);
/* PMC power cycling PFIFO in init clobbers some of the stuff stored in
* PRAMIN (such as NV04_PFIFO_CACHE1_DMA_INSTANCE). this is unhelpful
*/
for (i = 0; i < susres->ramin_size / 4; i++)
- NV_WI32(i << 2, susres->ramin_copy[i]);
+ nv_wi32(i << 2, susres->ramin_copy[i]);
engine->fifo.load_context(dev_priv->fifos[0]);
- NV_WRITE(NV04_PFIFO_MODE, susres->fifo_mode);
+ nv_wr32(NV04_PFIFO_MODE, susres->fifo_mode);
engine->graph.load_context(dev_priv->fifos[0]);
nouveau_wait_for_idle(dev);
if (dev_priv->card_type >= NV_10) {
- NV_WRITE(NV10_PGRAPH_STATE, susres->graph_state);
- NV_WRITE(NV10_PGRAPH_CTX_CONTROL, susres->graph_ctx_control);
+ nv_wr32(NV10_PGRAPH_STATE, susres->graph_state);
+ nv_wr32(NV10_PGRAPH_CTX_CONTROL, susres->graph_ctx_control);
} else {
- NV_WRITE(NV04_PGRAPH_STATE, susres->graph_state);
- NV_WRITE(NV04_PGRAPH_CTX_CONTROL, susres->graph_ctx_control);
+ nv_wr32(NV04_PGRAPH_STATE, susres->graph_state);
+ nv_wr32(NV04_PGRAPH_CTX_CONTROL, susres->graph_ctx_control);
}
/* reenable the fifo caches */
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUSH,
- NV_READ(NV04_PFIFO_CACHE1_DMA_PUSH) | 1);
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH0, 0x00000001);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x00000001);
- NV_WRITE(NV03_PFIFO_CACHES, 0x00000001);
- NV_WRITE(NV04_PGRAPH_FIFO, 0x1);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUSH,
+ nv_rd32(NV04_PFIFO_CACHE1_DMA_PUSH) | 1);
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH0, 0x00000001);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x00000001);
+ nv_wr32(NV03_PFIFO_CACHES, 0x00000001);
+ nv_wr32(NV04_PGRAPH_FIFO, 0x1);
if (dev->irq_enabled)
nouveau_irq_postinstall(dev);
diff --git a/shared-core/nouveau_swmthd.c b/shared-core/nouveau_swmthd.c
index c3666bfd..855a4cf6 100644
--- a/shared-core/nouveau_swmthd.c
+++ b/shared-core/nouveau_swmthd.c
@@ -48,7 +48,7 @@ typedef struct{
One function for all because they are very similar.*/
static void nouveau_NV04_setcontext_sw_method(struct drm_device *dev, uint32_t oclass, uint32_t mthd) {
struct drm_nouveau_private *dev_priv = dev->dev_private;
- uint32_t inst_loc = NV_READ(NV04_PGRAPH_CTX_SWITCH4) & 0xFFFF;
+ uint32_t inst_loc = nv_rd32(NV04_PGRAPH_CTX_SWITCH4) & 0xFFFF;
uint32_t value_to_set = 0, bit_to_set = 0;
switch ( oclass ) {
@@ -62,7 +62,7 @@ static void nouveau_NV04_setcontext_sw_method(struct drm_device *dev, uint32_t o
bit_to_set = 1 << 24; /*PATCH_STATUS_VALID*/
break;
case 0x2fc :
- bit_to_set = NV_READ(NV04_PGRAPH_TRAPPED_DATA) << 15; /*PATCH_CONFIG = NV04_PGRAPH_TRAPPED_DATA*/
+ bit_to_set = nv_rd32(NV04_PGRAPH_TRAPPED_DATA) << 15; /*PATCH_CONFIG = NV04_PGRAPH_TRAPPED_DATA*/
break;
default : ;
};
@@ -80,7 +80,7 @@ static void nouveau_NV04_setcontext_sw_method(struct drm_device *dev, uint32_t o
bit_to_set = 1 << 24; /*PATCH_STATUS_VALID*/
break;
case 0x2fc :
- bit_to_set = NV_READ(NV04_PGRAPH_TRAPPED_DATA) << 15; /*PATCH_CONFIG = NV04_PGRAPH_TRAPPED_DATA*/
+ bit_to_set = nv_rd32(NV04_PGRAPH_TRAPPED_DATA) << 15; /*PATCH_CONFIG = NV04_PGRAPH_TRAPPED_DATA*/
break;
};
break;
@@ -100,7 +100,7 @@ static void nouveau_NV04_setcontext_sw_method(struct drm_device *dev, uint32_t o
bit_to_set = 1 << 24; /*PATCH_STATUS_VALID*/
break;
case 0x2fc :
- bit_to_set = NV_READ(NV04_PGRAPH_TRAPPED_DATA) << 15; /*PATCH_CONFIG = NV04_PGRAPH_TRAPPED_DATA*/
+ bit_to_set = nv_rd32(NV04_PGRAPH_TRAPPED_DATA) << 15; /*PATCH_CONFIG = NV04_PGRAPH_TRAPPED_DATA*/
break;
};
break;
@@ -117,7 +117,7 @@ static void nouveau_NV04_setcontext_sw_method(struct drm_device *dev, uint32_t o
bit_to_set = 1 << 24; /*PATCH_STATUS_VALID*/
break;
case 0x2fc :
- bit_to_set = NV_READ(NV04_PGRAPH_TRAPPED_DATA) << 15; /*PATCH_CONFIG = NV04_PGRAPH_TRAPPED_DATA*/
+ bit_to_set = nv_rd32(NV04_PGRAPH_TRAPPED_DATA) << 15; /*PATCH_CONFIG = NV04_PGRAPH_TRAPPED_DATA*/
break;
};
break;
@@ -127,24 +127,24 @@ static void nouveau_NV04_setcontext_sw_method(struct drm_device *dev, uint32_t o
bit_to_set = 1 << 24; /*PATCH_STATUS_VALID*/
break;
case 0x304 :
- bit_to_set = NV_READ(NV04_PGRAPH_TRAPPED_DATA) << 15; //PATCH_CONFIG
+ bit_to_set = nv_rd32(NV04_PGRAPH_TRAPPED_DATA) << 15; //PATCH_CONFIG
break;
};
break;
default :;
};
- value_to_set = (NV_READ(0x00700000 | inst_loc << 4))| bit_to_set;
+ value_to_set = (nv_rd32(0x00700000 | inst_loc << 4))| bit_to_set;
/*RAMIN*/
nouveau_wait_for_idle(dev);
- NV_WRITE(0x00700000 | inst_loc << 4, value_to_set);
+ nv_wr32(0x00700000 | inst_loc << 4, value_to_set);
- /*DRM_DEBUG("CTX_SWITCH1 value is %#x\n", NV_READ(NV04_PGRAPH_CTX_SWITCH1));*/
- NV_WRITE(NV04_PGRAPH_CTX_SWITCH1, value_to_set);
+ /*DRM_DEBUG("CTX_SWITCH1 value is %#x\n", nv_rd32(NV04_PGRAPH_CTX_SWITCH1));*/
+ nv_wr32(NV04_PGRAPH_CTX_SWITCH1, value_to_set);
- /*DRM_DEBUG("CTX_CACHE1 + xxx value is %#x\n", NV_READ(NV04_PGRAPH_CTX_CACHE1 + (((NV_READ(NV04_PGRAPH_TRAPPED_ADDR) >> 13) & 0x7) << 2)));*/
- NV_WRITE(NV04_PGRAPH_CTX_CACHE1 + (((NV_READ(NV04_PGRAPH_TRAPPED_ADDR) >> 13) & 0x7) << 2), value_to_set);
+ /*DRM_DEBUG("CTX_CACHE1 + xxx value is %#x\n", nv_rd32(NV04_PGRAPH_CTX_CACHE1 + (((nv_rd32(NV04_PGRAPH_TRAPPED_ADDR) >> 13) & 0x7) << 2)));*/
+ nv_wr32(NV04_PGRAPH_CTX_CACHE1 + (((nv_rd32(NV04_PGRAPH_TRAPPED_ADDR) >> 13) & 0x7) << 2), value_to_set);
}
nouveau_software_method_t nouveau_sw_methods[] = {
diff --git a/shared-core/nv04_fb.c b/shared-core/nv04_fb.c
index 58a92470..0a13b04b 100644
--- a/shared-core/nv04_fb.c
+++ b/shared-core/nv04_fb.c
@@ -12,7 +12,7 @@ nv04_fb_init(struct drm_device *dev)
* nvidia reading PFB_CFG_0, then writing back its original value.
* (which was 0x701114 in this case)
*/
- NV_WRITE(NV04_PFB_CFG0, 0x1114);
+ nv_wr32(NV04_PFB_CFG0, 0x1114);
return 0;
}
diff --git a/shared-core/nv04_fifo.c b/shared-core/nv04_fifo.c
index 88186fe3..3463e073 100644
--- a/shared-core/nv04_fifo.c
+++ b/shared-core/nv04_fifo.c
@@ -40,7 +40,7 @@ nv04_fifo_channel_id(struct drm_device *dev)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
- return (NV_READ(NV03_PFIFO_CACHE1_PUSH1) &
+ return (nv_rd32(NV03_PFIFO_CACHE1_PUSH1) &
NV03_PFIFO_CACHE1_PUSH1_CHID_MASK);
}
@@ -71,7 +71,7 @@ nv04_fifo_create_context(struct nouveau_channel *chan)
0));
/* enable the fifo dma operation */
- NV_WRITE(NV04_PFIFO_MODE,NV_READ(NV04_PFIFO_MODE) | (1<<chan->id));
+ nv_wr32(NV04_PFIFO_MODE,nv_rd32(NV04_PFIFO_MODE) | (1<<chan->id));
return 0;
}
@@ -81,7 +81,7 @@ nv04_fifo_destroy_context(struct nouveau_channel *chan)
struct drm_device *dev = chan->dev;
struct drm_nouveau_private *dev_priv = dev->dev_private;
- NV_WRITE(NV04_PFIFO_MODE, NV_READ(NV04_PFIFO_MODE)&~(1<<chan->id));
+ nv_wr32(NV04_PFIFO_MODE, nv_rd32(NV04_PFIFO_MODE)&~(1<<chan->id));
nouveau_gpuobj_ref_del(dev, &chan->ramfc);
}
@@ -93,24 +93,24 @@ nv04_fifo_load_context(struct nouveau_channel *chan)
struct drm_nouveau_private *dev_priv = dev->dev_private;
uint32_t tmp;
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH1,
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH1,
NV03_PFIFO_CACHE1_PUSH1_DMA | chan->id);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_GET, RAMFC_RD(DMA_GET));
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUT, RAMFC_RD(DMA_PUT));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_GET, RAMFC_RD(DMA_GET));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUT, RAMFC_RD(DMA_PUT));
tmp = RAMFC_RD(DMA_INSTANCE);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_INSTANCE, tmp & 0xFFFF);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_DCOUNT, tmp >> 16);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_INSTANCE, tmp & 0xFFFF);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_DCOUNT, tmp >> 16);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_STATE, RAMFC_RD(DMA_STATE));
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_FETCH, RAMFC_RD(DMA_FETCH));
- NV_WRITE(NV04_PFIFO_CACHE1_ENGINE, RAMFC_RD(ENGINE));
- NV_WRITE(NV04_PFIFO_CACHE1_PULL1, RAMFC_RD(PULL1_ENGINE));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_STATE, RAMFC_RD(DMA_STATE));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_FETCH, RAMFC_RD(DMA_FETCH));
+ nv_wr32(NV04_PFIFO_CACHE1_ENGINE, RAMFC_RD(ENGINE));
+ nv_wr32(NV04_PFIFO_CACHE1_PULL1, RAMFC_RD(PULL1_ENGINE));
/* Reset NV04_PFIFO_CACHE1_DMA_CTL_AT_INFO to INVALID */
- tmp = NV_READ(NV04_PFIFO_CACHE1_DMA_CTL) & ~(1<<31);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_CTL, tmp);
+ tmp = nv_rd32(NV04_PFIFO_CACHE1_DMA_CTL) & ~(1<<31);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_CTL, tmp);
return 0;
}
@@ -122,17 +122,17 @@ nv04_fifo_save_context(struct nouveau_channel *chan)
struct drm_nouveau_private *dev_priv = dev->dev_private;
uint32_t tmp;
- RAMFC_WR(DMA_PUT, NV_READ(NV04_PFIFO_CACHE1_DMA_PUT));
- RAMFC_WR(DMA_GET, NV_READ(NV04_PFIFO_CACHE1_DMA_GET));
+ RAMFC_WR(DMA_PUT, nv_rd32(NV04_PFIFO_CACHE1_DMA_PUT));
+ RAMFC_WR(DMA_GET, nv_rd32(NV04_PFIFO_CACHE1_DMA_GET));
- tmp = NV_READ(NV04_PFIFO_CACHE1_DMA_DCOUNT) << 16;
- tmp |= NV_READ(NV04_PFIFO_CACHE1_DMA_INSTANCE);
+ tmp = nv_rd32(NV04_PFIFO_CACHE1_DMA_DCOUNT) << 16;
+ tmp |= nv_rd32(NV04_PFIFO_CACHE1_DMA_INSTANCE);
RAMFC_WR(DMA_INSTANCE, tmp);
- RAMFC_WR(DMA_STATE, NV_READ(NV04_PFIFO_CACHE1_DMA_STATE));
- RAMFC_WR(DMA_FETCH, NV_READ(NV04_PFIFO_CACHE1_DMA_FETCH));
- RAMFC_WR(ENGINE, NV_READ(NV04_PFIFO_CACHE1_ENGINE));
- RAMFC_WR(PULL1_ENGINE, NV_READ(NV04_PFIFO_CACHE1_PULL1));
+ RAMFC_WR(DMA_STATE, nv_rd32(NV04_PFIFO_CACHE1_DMA_STATE));
+ RAMFC_WR(DMA_FETCH, nv_rd32(NV04_PFIFO_CACHE1_DMA_FETCH));
+ RAMFC_WR(ENGINE, nv_rd32(NV04_PFIFO_CACHE1_ENGINE));
+ RAMFC_WR(PULL1_ENGINE, nv_rd32(NV04_PFIFO_CACHE1_PULL1));
return 0;
}
diff --git a/shared-core/nv04_graph.c b/shared-core/nv04_graph.c
index 6caae257..a1342f7d 100644
--- a/shared-core/nv04_graph.c
+++ b/shared-core/nv04_graph.c
@@ -379,7 +379,7 @@ void nouveau_nv04_context_switch(struct drm_device *dev)
return;
}
- chid = (NV_READ(NV04_PGRAPH_CTX_USER) >> 24) & (engine->fifo.channels - 1);
+ chid = (nv_rd32(NV04_PGRAPH_CTX_USER) >> 24) & (engine->fifo.channels - 1);
last = dev_priv->fifos[chid];
if (!last) {
@@ -390,32 +390,32 @@ void nouveau_nv04_context_switch(struct drm_device *dev)
last->id, next->id);
}
-/* NV_WRITE(NV03_PFIFO_CACHES, 0x0);
- NV_WRITE(NV04_PFIFO_CACHE0_PULL0, 0x0);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x0);*/
- NV_WRITE(NV04_PGRAPH_FIFO,0x0);
+/* nv_wr32(NV03_PFIFO_CACHES, 0x0);
+ nv_wr32(NV04_PFIFO_CACHE0_PULL0, 0x0);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x0);*/
+ nv_wr32(NV04_PGRAPH_FIFO,0x0);
if (last)
nv04_graph_save_context(last);
nouveau_wait_for_idle(dev);
- NV_WRITE(NV04_PGRAPH_CTX_CONTROL, 0x10000000);
- NV_WRITE(NV04_PGRAPH_CTX_USER, (NV_READ(NV04_PGRAPH_CTX_USER) & 0xffffff) | (0x0f << 24));
+ nv_wr32(NV04_PGRAPH_CTX_CONTROL, 0x10000000);
+ nv_wr32(NV04_PGRAPH_CTX_USER, (nv_rd32(NV04_PGRAPH_CTX_USER) & 0xffffff) | (0x0f << 24));
nouveau_wait_for_idle(dev);
nv04_graph_load_context(next);
- NV_WRITE(NV04_PGRAPH_CTX_CONTROL, 0x10010100);
- NV_WRITE(NV04_PGRAPH_CTX_USER, next->id << 24);
- NV_WRITE(NV04_PGRAPH_FFINTFC_ST2, NV_READ(NV04_PGRAPH_FFINTFC_ST2)&0x000FFFFF);
+ nv_wr32(NV04_PGRAPH_CTX_CONTROL, 0x10010100);
+ nv_wr32(NV04_PGRAPH_CTX_USER, next->id << 24);
+ nv_wr32(NV04_PGRAPH_FFINTFC_ST2, nv_rd32(NV04_PGRAPH_FFINTFC_ST2)&0x000FFFFF);
-/* NV_WRITE(NV04_PGRAPH_FIFO,0x0);
- NV_WRITE(NV04_PFIFO_CACHE0_PULL0, 0x0);
- NV_WRITE(NV04_PFIFO_CACHE1_PULL0, 0x1);
- NV_WRITE(NV03_PFIFO_CACHES, 0x1);*/
- NV_WRITE(NV04_PGRAPH_FIFO,0x1);
+/* nv_wr32(NV04_PGRAPH_FIFO,0x0);
+ nv_wr32(NV04_PFIFO_CACHE0_PULL0, 0x0);
+ nv_wr32(NV04_PFIFO_CACHE1_PULL0, 0x1);
+ nv_wr32(NV03_PFIFO_CACHES, 0x1);*/
+ nv_wr32(NV04_PGRAPH_FIFO,0x1);
}
int nv04_graph_create_context(struct nouveau_channel *chan) {
@@ -431,8 +431,8 @@ int nv04_graph_create_context(struct nouveau_channel *chan) {
//dev_priv->fifos[channel].pgraph_ctx_user = channel << 24;
pgraph_ctx->nv04[0] = 0x0001ffff;
/* is it really needed ??? */
- //dev_priv->fifos[channel].pgraph_ctx[1] = NV_READ(NV_PGRAPH_DEBUG_4);
- //dev_priv->fifos[channel].pgraph_ctx[2] = NV_READ(0x004006b0);
+ //dev_priv->fifos[channel].pgraph_ctx[1] = nv_rd32(NV_PGRAPH_DEBUG_4);
+ //dev_priv->fifos[channel].pgraph_ctx[2] = nv_rd32(0x004006b0);
return 0;
}
@@ -453,7 +453,7 @@ int nv04_graph_load_context(struct nouveau_channel *chan)
int i;
for (i = 0; i < sizeof(nv04_graph_ctx_regs)/sizeof(nv04_graph_ctx_regs[0]); i++)
- NV_WRITE(nv04_graph_ctx_regs[i], pgraph_ctx->nv04[i]);
+ nv_wr32(nv04_graph_ctx_regs[i], pgraph_ctx->nv04[i]);
return 0;
}
@@ -466,7 +466,7 @@ int nv04_graph_save_context(struct nouveau_channel *chan)
int i;
for (i = 0; i < sizeof(nv04_graph_ctx_regs)/sizeof(nv04_graph_ctx_regs[0]); i++)
- pgraph_ctx->nv04[i] = NV_READ(nv04_graph_ctx_regs[i]);
+ pgraph_ctx->nv04[i] = nv_rd32(nv04_graph_ctx_regs[i]);
return 0;
}
@@ -474,39 +474,39 @@ int nv04_graph_save_context(struct nouveau_channel *chan)
int nv04_graph_init(struct drm_device *dev) {
struct drm_nouveau_private *dev_priv = dev->dev_private;
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) &
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) &
~NV_PMC_ENABLE_PGRAPH);
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) |
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) |
NV_PMC_ENABLE_PGRAPH);
/* Enable PGRAPH interrupts */
- NV_WRITE(NV03_PGRAPH_INTR, 0xFFFFFFFF);
- NV_WRITE(NV03_PGRAPH_INTR_EN, 0xFFFFFFFF);
-
- NV_WRITE(NV04_PGRAPH_VALID1, 0);
- NV_WRITE(NV04_PGRAPH_VALID2, 0);
- /*NV_WRITE(NV04_PGRAPH_DEBUG_0, 0x000001FF);
- NV_WRITE(NV04_PGRAPH_DEBUG_0, 0x001FFFFF);*/
- NV_WRITE(NV04_PGRAPH_DEBUG_0, 0x1231c000);
+ nv_wr32(NV03_PGRAPH_INTR, 0xFFFFFFFF);
+ nv_wr32(NV03_PGRAPH_INTR_EN, 0xFFFFFFFF);
+
+ nv_wr32(NV04_PGRAPH_VALID1, 0);
+ nv_wr32(NV04_PGRAPH_VALID2, 0);
+ /*nv_wr32(NV04_PGRAPH_DEBUG_0, 0x000001FF);
+ nv_wr32(NV04_PGRAPH_DEBUG_0, 0x001FFFFF);*/
+ nv_wr32(NV04_PGRAPH_DEBUG_0, 0x1231c000);
/*1231C000 blob, 001 haiku*/
//*V_WRITE(NV04_PGRAPH_DEBUG_1, 0xf2d91100);*/
- NV_WRITE(NV04_PGRAPH_DEBUG_1, 0x72111100);
+ nv_wr32(NV04_PGRAPH_DEBUG_1, 0x72111100);
/*0x72111100 blob , 01 haiku*/
- /*NV_WRITE(NV04_PGRAPH_DEBUG_2, 0x11d5f870);*/
- NV_WRITE(NV04_PGRAPH_DEBUG_2, 0x11d5f071);
+ /*nv_wr32(NV04_PGRAPH_DEBUG_2, 0x11d5f870);*/
+ nv_wr32(NV04_PGRAPH_DEBUG_2, 0x11d5f071);
/*haiku same*/
- /*NV_WRITE(NV04_PGRAPH_DEBUG_3, 0xfad4ff31);*/
- NV_WRITE(NV04_PGRAPH_DEBUG_3, 0xf0d4ff31);
+ /*nv_wr32(NV04_PGRAPH_DEBUG_3, 0xfad4ff31);*/
+ nv_wr32(NV04_PGRAPH_DEBUG_3, 0xf0d4ff31);
/*haiku and blob 10d4*/
- NV_WRITE(NV04_PGRAPH_STATE , 0xFFFFFFFF);
- NV_WRITE(NV04_PGRAPH_CTX_CONTROL , 0x10010100);
- NV_WRITE(NV04_PGRAPH_FIFO , 0x00000001);
+ nv_wr32(NV04_PGRAPH_STATE , 0xFFFFFFFF);
+ nv_wr32(NV04_PGRAPH_CTX_CONTROL , 0x10010100);
+ nv_wr32(NV04_PGRAPH_FIFO , 0x00000001);
/* These don't belong here, they're part of a per-channel context */
- NV_WRITE(NV04_PGRAPH_PATTERN_SHAPE, 0x00000000);
- NV_WRITE(NV04_PGRAPH_BETA_AND , 0xFFFFFFFF);
+ nv_wr32(NV04_PGRAPH_PATTERN_SHAPE, 0x00000000);
+ nv_wr32(NV04_PGRAPH_BETA_AND , 0xFFFFFFFF);
return 0;
}
diff --git a/shared-core/nv04_instmem.c b/shared-core/nv04_instmem.c
index 09751806..fb4a178c 100644
--- a/shared-core/nv04_instmem.c
+++ b/shared-core/nv04_instmem.c
@@ -36,7 +36,7 @@ nv04_instmem_determine_amount(struct drm_device *dev)
/* Clear all of it, except the BIOS image that's in the first 64KiB */
for (i=(64*1024); i<dev_priv->ramin_rsvd_vram; i+=4)
- NV_WI32(i, 0x00000000);
+ nv_wi32(i, 0x00000000);
}
static void
diff --git a/shared-core/nv04_mc.c b/shared-core/nv04_mc.c
index 24c1f7b3..23fac41d 100644
--- a/shared-core/nv04_mc.c
+++ b/shared-core/nv04_mc.c
@@ -11,7 +11,7 @@ nv04_mc_init(struct drm_device *dev)
/* Power up everything, resetting each individual unit will
* be done later if needed.
*/
- NV_WRITE(NV03_PMC_ENABLE, 0xFFFFFFFF);
+ nv_wr32(NV03_PMC_ENABLE, 0xFFFFFFFF);
return 0;
}
diff --git a/shared-core/nv04_timer.c b/shared-core/nv04_timer.c
index 616f197b..f7511d07 100644
--- a/shared-core/nv04_timer.c
+++ b/shared-core/nv04_timer.c
@@ -8,8 +8,8 @@ nv04_timer_init(struct drm_device *dev)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
- NV_WRITE(NV04_PTIMER_INTR_EN_0, 0x00000000);
- NV_WRITE(NV04_PTIMER_INTR_0, 0xFFFFFFFF);
+ nv_wr32(NV04_PTIMER_INTR_EN_0, 0x00000000);
+ nv_wr32(NV04_PTIMER_INTR_0, 0xFFFFFFFF);
/* Just use the pre-existing values when possible for now; these regs
* are not written in nv (driver writer missed a /4 on the address), and
@@ -18,9 +18,9 @@ nv04_timer_init(struct drm_device *dev)
* A correct solution (involving calculations with the GPU PLL) can
* be done when kernel modesetting lands
*/
- if (!NV_READ(NV04_PTIMER_NUMERATOR) || !NV_READ(NV04_PTIMER_DENOMINATOR)) {
- NV_WRITE(NV04_PTIMER_NUMERATOR, 0x00000008);
- NV_WRITE(NV04_PTIMER_DENOMINATOR, 0x00000003);
+ if (!nv_rd32(NV04_PTIMER_NUMERATOR) || !nv_rd32(NV04_PTIMER_DENOMINATOR)) {
+ nv_wr32(NV04_PTIMER_NUMERATOR, 0x00000008);
+ nv_wr32(NV04_PTIMER_DENOMINATOR, 0x00000003);
}
return 0;
@@ -37,12 +37,12 @@ nv04_timer_read(struct drm_device *dev)
* advances between high and low dword reads and may corrupt the
* result. Not confirmed.
*/
- uint32_t high2 = NV_READ(NV04_PTIMER_TIME_1);
+ uint32_t high2 = nv_rd32(NV04_PTIMER_TIME_1);
uint32_t high1;
do {
high1 = high2;
- low = NV_READ(NV04_PTIMER_TIME_0);
- high2 = NV_READ(NV04_PTIMER_TIME_1);
+ low = nv_rd32(NV04_PTIMER_TIME_0);
+ high2 = nv_rd32(NV04_PTIMER_TIME_1);
} while(high1 != high2);
return (((uint64_t)high2) << 32) | (uint64_t)low;
}
diff --git a/shared-core/nv10_fb.c b/shared-core/nv10_fb.c
index 6e0773ac..3a4ae09b 100644
--- a/shared-core/nv10_fb.c
+++ b/shared-core/nv10_fb.c
@@ -12,8 +12,8 @@ nv10_fb_init(struct drm_device *dev)
fb_bar_size = drm_get_resource_len(dev, 0) - 1;
for (i=0; i<NV10_PFB_TILE__SIZE; i++) {
- NV_WRITE(NV10_PFB_TILE(i), 0);
- NV_WRITE(NV10_PFB_TLIMIT(i), fb_bar_size);
+ nv_wr32(NV10_PFB_TILE(i), 0);
+ nv_wr32(NV10_PFB_TLIMIT(i), fb_bar_size);
}
return 0;
diff --git a/shared-core/nv10_fifo.c b/shared-core/nv10_fifo.c
index 6d50b6ca..b2245585 100644
--- a/shared-core/nv10_fifo.c
+++ b/shared-core/nv10_fifo.c
@@ -41,7 +41,7 @@ nv10_fifo_channel_id(struct drm_device *dev)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
- return (NV_READ(NV03_PFIFO_CACHE1_PUSH1) &
+ return (nv_rd32(NV03_PFIFO_CACHE1_PUSH1) &
NV10_PFIFO_CACHE1_PUSH1_CHID_MASK);
}
@@ -74,7 +74,7 @@ nv10_fifo_create_context(struct nouveau_channel *chan)
0);
/* enable the fifo dma operation */
- NV_WRITE(NV04_PFIFO_MODE,NV_READ(NV04_PFIFO_MODE)|(1<<chan->id));
+ nv_wr32(NV04_PFIFO_MODE,nv_rd32(NV04_PFIFO_MODE)|(1<<chan->id));
return 0;
}
@@ -84,7 +84,7 @@ nv10_fifo_destroy_context(struct nouveau_channel *chan)
struct drm_device *dev = chan->dev;
struct drm_nouveau_private *dev_priv = dev->dev_private;
- NV_WRITE(NV04_PFIFO_MODE, NV_READ(NV04_PFIFO_MODE)&~(1<<chan->id));
+ nv_wr32(NV04_PFIFO_MODE, nv_rd32(NV04_PFIFO_MODE)&~(1<<chan->id));
nouveau_gpuobj_ref_del(dev, &chan->ramfc);
}
@@ -96,38 +96,38 @@ nv10_fifo_load_context(struct nouveau_channel *chan)
struct drm_nouveau_private *dev_priv = dev->dev_private;
uint32_t tmp;
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH1,
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH1,
NV03_PFIFO_CACHE1_PUSH1_DMA | chan->id);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_GET , RAMFC_RD(DMA_GET));
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUT , RAMFC_RD(DMA_PUT));
- NV_WRITE(NV10_PFIFO_CACHE1_REF_CNT , RAMFC_RD(REF_CNT));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_GET , RAMFC_RD(DMA_GET));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUT , RAMFC_RD(DMA_PUT));
+ nv_wr32(NV10_PFIFO_CACHE1_REF_CNT , RAMFC_RD(REF_CNT));
tmp = RAMFC_RD(DMA_INSTANCE);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_INSTANCE , tmp & 0xFFFF);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_DCOUNT , tmp >> 16);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_INSTANCE , tmp & 0xFFFF);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_DCOUNT , tmp >> 16);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_STATE , RAMFC_RD(DMA_STATE));
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_FETCH , RAMFC_RD(DMA_FETCH));
- NV_WRITE(NV04_PFIFO_CACHE1_ENGINE , RAMFC_RD(ENGINE));
- NV_WRITE(NV04_PFIFO_CACHE1_PULL1 , RAMFC_RD(PULL1_ENGINE));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_STATE , RAMFC_RD(DMA_STATE));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_FETCH , RAMFC_RD(DMA_FETCH));
+ nv_wr32(NV04_PFIFO_CACHE1_ENGINE , RAMFC_RD(ENGINE));
+ nv_wr32(NV04_PFIFO_CACHE1_PULL1 , RAMFC_RD(PULL1_ENGINE));
if (dev_priv->chipset >= 0x17) {
- NV_WRITE(NV10_PFIFO_CACHE1_ACQUIRE_VALUE,
+ nv_wr32(NV10_PFIFO_CACHE1_ACQUIRE_VALUE,
RAMFC_RD(ACQUIRE_VALUE));
- NV_WRITE(NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP,
+ nv_wr32(NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP,
RAMFC_RD(ACQUIRE_TIMESTAMP));
- NV_WRITE(NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT,
+ nv_wr32(NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT,
RAMFC_RD(ACQUIRE_TIMEOUT));
- NV_WRITE(NV10_PFIFO_CACHE1_SEMAPHORE,
+ nv_wr32(NV10_PFIFO_CACHE1_SEMAPHORE,
RAMFC_RD(SEMAPHORE));
- NV_WRITE(NV10_PFIFO_CACHE1_DMA_SUBROUTINE,
+ nv_wr32(NV10_PFIFO_CACHE1_DMA_SUBROUTINE,
RAMFC_RD(DMA_SUBROUTINE));
}
/* Reset NV04_PFIFO_CACHE1_DMA_CTL_AT_INFO to INVALID */
- tmp = NV_READ(NV04_PFIFO_CACHE1_DMA_CTL) & ~(1<<31);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_CTL, tmp);
+ tmp = nv_rd32(NV04_PFIFO_CACHE1_DMA_CTL) & ~(1<<31);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_CTL, tmp);
return 0;
}
@@ -139,30 +139,30 @@ nv10_fifo_save_context(struct nouveau_channel *chan)
struct drm_nouveau_private *dev_priv = dev->dev_private;
uint32_t tmp;
- RAMFC_WR(DMA_PUT , NV_READ(NV04_PFIFO_CACHE1_DMA_PUT));
- RAMFC_WR(DMA_GET , NV_READ(NV04_PFIFO_CACHE1_DMA_GET));
- RAMFC_WR(REF_CNT , NV_READ(NV10_PFIFO_CACHE1_REF_CNT));
+ RAMFC_WR(DMA_PUT , nv_rd32(NV04_PFIFO_CACHE1_DMA_PUT));
+ RAMFC_WR(DMA_GET , nv_rd32(NV04_PFIFO_CACHE1_DMA_GET));
+ RAMFC_WR(REF_CNT , nv_rd32(NV10_PFIFO_CACHE1_REF_CNT));
- tmp = NV_READ(NV04_PFIFO_CACHE1_DMA_INSTANCE) & 0xFFFF;
- tmp |= (NV_READ(NV04_PFIFO_CACHE1_DMA_DCOUNT) << 16);
+ tmp = nv_rd32(NV04_PFIFO_CACHE1_DMA_INSTANCE) & 0xFFFF;
+ tmp |= (nv_rd32(NV04_PFIFO_CACHE1_DMA_DCOUNT) << 16);
RAMFC_WR(DMA_INSTANCE , tmp);
- RAMFC_WR(DMA_STATE , NV_READ(NV04_PFIFO_CACHE1_DMA_STATE));
- RAMFC_WR(DMA_FETCH , NV_READ(NV04_PFIFO_CACHE1_DMA_FETCH));
- RAMFC_WR(ENGINE , NV_READ(NV04_PFIFO_CACHE1_ENGINE));
- RAMFC_WR(PULL1_ENGINE , NV_READ(NV04_PFIFO_CACHE1_PULL1));
+ RAMFC_WR(DMA_STATE , nv_rd32(NV04_PFIFO_CACHE1_DMA_STATE));
+ RAMFC_WR(DMA_FETCH , nv_rd32(NV04_PFIFO_CACHE1_DMA_FETCH));
+ RAMFC_WR(ENGINE , nv_rd32(NV04_PFIFO_CACHE1_ENGINE));
+ RAMFC_WR(PULL1_ENGINE , nv_rd32(NV04_PFIFO_CACHE1_PULL1));
if (dev_priv->chipset >= 0x17) {
RAMFC_WR(ACQUIRE_VALUE,
- NV_READ(NV10_PFIFO_CACHE1_ACQUIRE_VALUE));
+ nv_rd32(NV10_PFIFO_CACHE1_ACQUIRE_VALUE));
RAMFC_WR(ACQUIRE_TIMESTAMP,
- NV_READ(NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP));
+ nv_rd32(NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP));
RAMFC_WR(ACQUIRE_TIMEOUT,
- NV_READ(NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT));
+ nv_rd32(NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT));
RAMFC_WR(SEMAPHORE,
- NV_READ(NV10_PFIFO_CACHE1_SEMAPHORE));
+ nv_rd32(NV10_PFIFO_CACHE1_SEMAPHORE));
RAMFC_WR(DMA_SUBROUTINE,
- NV_READ(NV04_PFIFO_CACHE1_DMA_GET));
+ nv_rd32(NV04_PFIFO_CACHE1_DMA_GET));
}
return 0;
diff --git a/shared-core/nv10_graph.c b/shared-core/nv10_graph.c
index d0c2285f..b2b2e4b5 100644
--- a/shared-core/nv10_graph.c
+++ b/shared-core/nv10_graph.c
@@ -399,9 +399,9 @@ static void nv10_graph_save_pipe(struct nouveau_channel *chan) {
int i;
#define PIPE_SAVE(addr) \
do { \
- NV_WRITE(NV10_PGRAPH_PIPE_ADDRESS, addr); \
+ nv_wr32(NV10_PGRAPH_PIPE_ADDRESS, addr); \
for (i=0; i < sizeof(fifo_pipe_state->pipe_##addr)/sizeof(fifo_pipe_state->pipe_##addr[0]); i++) \
- fifo_pipe_state->pipe_##addr[i] = NV_READ(NV10_PGRAPH_PIPE_DATA); \
+ fifo_pipe_state->pipe_##addr[i] = nv_rd32(NV10_PGRAPH_PIPE_DATA); \
} while (0)
PIPE_SAVE(0x4400);
@@ -427,42 +427,42 @@ static void nv10_graph_load_pipe(struct nouveau_channel *chan) {
uint32_t xfmode0, xfmode1;
#define PIPE_RESTORE(addr) \
do { \
- NV_WRITE(NV10_PGRAPH_PIPE_ADDRESS, addr); \
+ nv_wr32(NV10_PGRAPH_PIPE_ADDRESS, addr); \
for (i=0; i < sizeof(fifo_pipe_state->pipe_##addr)/sizeof(fifo_pipe_state->pipe_##addr[0]); i++) \
- NV_WRITE(NV10_PGRAPH_PIPE_DATA, fifo_pipe_state->pipe_##addr[i]); \
+ nv_wr32(NV10_PGRAPH_PIPE_DATA, fifo_pipe_state->pipe_##addr[i]); \
} while (0)
nouveau_wait_for_idle(dev);
/* XXX check haiku comments */
- xfmode0 = NV_READ(NV10_PGRAPH_XFMODE0);
- xfmode1 = NV_READ(NV10_PGRAPH_XFMODE1);
- NV_WRITE(NV10_PGRAPH_XFMODE0, 0x10000000);
- NV_WRITE(NV10_PGRAPH_XFMODE1, 0x00000000);
- NV_WRITE(NV10_PGRAPH_PIPE_ADDRESS, 0x000064c0);
+ xfmode0 = nv_rd32(NV10_PGRAPH_XFMODE0);
+ xfmode1 = nv_rd32(NV10_PGRAPH_XFMODE1);
+ nv_wr32(NV10_PGRAPH_XFMODE0, 0x10000000);
+ nv_wr32(NV10_PGRAPH_XFMODE1, 0x00000000);
+ nv_wr32(NV10_PGRAPH_PIPE_ADDRESS, 0x000064c0);
for (i = 0; i < 4; i++)
- NV_WRITE(NV10_PGRAPH_PIPE_DATA, 0x3f800000);
+ nv_wr32(NV10_PGRAPH_PIPE_DATA, 0x3f800000);
for (i = 0; i < 4; i++)
- NV_WRITE(NV10_PGRAPH_PIPE_DATA, 0x00000000);
+ nv_wr32(NV10_PGRAPH_PIPE_DATA, 0x00000000);
- NV_WRITE(NV10_PGRAPH_PIPE_ADDRESS, 0x00006ab0);
+ nv_wr32(NV10_PGRAPH_PIPE_ADDRESS, 0x00006ab0);
for (i = 0; i < 3; i++)
- NV_WRITE(NV10_PGRAPH_PIPE_DATA, 0x3f800000);
+ nv_wr32(NV10_PGRAPH_PIPE_DATA, 0x3f800000);
- NV_WRITE(NV10_PGRAPH_PIPE_ADDRESS, 0x00006a80);
+ nv_wr32(NV10_PGRAPH_PIPE_ADDRESS, 0x00006a80);
for (i = 0; i < 3; i++)
- NV_WRITE(NV10_PGRAPH_PIPE_DATA, 0x00000000);
+ nv_wr32(NV10_PGRAPH_PIPE_DATA, 0x00000000);
- NV_WRITE(NV10_PGRAPH_PIPE_ADDRESS, 0x00000040);
- NV_WRITE(NV10_PGRAPH_PIPE_DATA, 0x00000008);
+ nv_wr32(NV10_PGRAPH_PIPE_ADDRESS, 0x00000040);
+ nv_wr32(NV10_PGRAPH_PIPE_DATA, 0x00000008);
PIPE_RESTORE(0x0200);
nouveau_wait_for_idle(dev);
/* restore XFMODE */
- NV_WRITE(NV10_PGRAPH_XFMODE0, xfmode0);
- NV_WRITE(NV10_PGRAPH_XFMODE1, xfmode1);
+ nv_wr32(NV10_PGRAPH_XFMODE0, xfmode0);
+ nv_wr32(NV10_PGRAPH_XFMODE1, xfmode1);
PIPE_RESTORE(0x6400);
PIPE_RESTORE(0x6800);
PIPE_RESTORE(0x6c00);
@@ -659,10 +659,10 @@ int nv10_graph_load_context(struct nouveau_channel *chan)
int i;
for (i = 0; i < sizeof(nv10_graph_ctx_regs)/sizeof(nv10_graph_ctx_regs[0]); i++)
- NV_WRITE(nv10_graph_ctx_regs[i], pgraph_ctx->nv10[i]);
+ nv_wr32(nv10_graph_ctx_regs[i], pgraph_ctx->nv10[i]);
if (dev_priv->chipset>=0x17) {
for (i = 0; i < sizeof(nv17_graph_ctx_regs)/sizeof(nv17_graph_ctx_regs[0]); i++)
- NV_WRITE(nv17_graph_ctx_regs[i], pgraph_ctx->nv17[i]);
+ nv_wr32(nv17_graph_ctx_regs[i], pgraph_ctx->nv17[i]);
}
nv10_graph_load_pipe(chan);
@@ -678,10 +678,10 @@ int nv10_graph_save_context(struct nouveau_channel *chan)
int i;
for (i = 0; i < sizeof(nv10_graph_ctx_regs)/sizeof(nv10_graph_ctx_regs[0]); i++)
- pgraph_ctx->nv10[i] = NV_READ(nv10_graph_ctx_regs[i]);
+ pgraph_ctx->nv10[i] = nv_rd32(nv10_graph_ctx_regs[i]);
if (dev_priv->chipset>=0x17) {
for (i = 0; i < sizeof(nv17_graph_ctx_regs)/sizeof(nv17_graph_ctx_regs[0]); i++)
- pgraph_ctx->nv17[i] = NV_READ(nv17_graph_ctx_regs[i]);
+ pgraph_ctx->nv17[i] = nv_rd32(nv17_graph_ctx_regs[i]);
}
nv10_graph_save_pipe(chan);
@@ -711,7 +711,7 @@ void nouveau_nv10_context_switch(struct drm_device *dev)
}
engine = &dev_priv->Engine;
- chid = (NV_READ(NV04_PGRAPH_TRAPPED_ADDR) >> 20) &
+ chid = (nv_rd32(NV04_PGRAPH_TRAPPED_ADDR) >> 20) &
(engine->fifo.channels - 1);
next = dev_priv->fifos[chid];
@@ -720,7 +720,7 @@ void nouveau_nv10_context_switch(struct drm_device *dev)
return;
}
- chid = (NV_READ(NV10_PGRAPH_CTX_USER) >> 24) &
+ chid = (nv_rd32(NV10_PGRAPH_CTX_USER) >> 24) &
(engine->fifo.channels - 1);
last = dev_priv->fifos[chid];
@@ -732,7 +732,7 @@ void nouveau_nv10_context_switch(struct drm_device *dev)
last->id, next->id);
}
- NV_WRITE(NV04_PGRAPH_FIFO,0x0);
+ nv_wr32(NV04_PGRAPH_FIFO,0x0);
if (last) {
nouveau_wait_for_idle(dev);
nv10_graph_save_context(last);
@@ -740,15 +740,15 @@ void nouveau_nv10_context_switch(struct drm_device *dev)
nouveau_wait_for_idle(dev);
- NV_WRITE(NV10_PGRAPH_CTX_CONTROL, 0x10000000);
+ nv_wr32(NV10_PGRAPH_CTX_CONTROL, 0x10000000);
nouveau_wait_for_idle(dev);
nv10_graph_load_context(next);
- NV_WRITE(NV10_PGRAPH_CTX_CONTROL, 0x10010100);
- NV_WRITE(NV10_PGRAPH_FFINTFC_ST2, NV_READ(NV10_PGRAPH_FFINTFC_ST2)&0xCFFFFFFF);
- NV_WRITE(NV04_PGRAPH_FIFO,0x1);
+ nv_wr32(NV10_PGRAPH_CTX_CONTROL, 0x10010100);
+ nv_wr32(NV10_PGRAPH_FFINTFC_ST2, nv_rd32(NV10_PGRAPH_FFINTFC_ST2)&0xCFFFFFFF);
+ nv_wr32(NV04_PGRAPH_FIFO,0x1);
}
#define NV_WRITE_CTX(reg, val) do { \
@@ -780,12 +780,12 @@ int nv10_graph_create_context(struct nouveau_channel *chan) {
#if 0
uint32_t tmp, vramsz;
/* per channel init from ddx */
- tmp = NV_READ(NV10_PGRAPH_SURFACE) & 0x0007ff00;
+ tmp = nv_rd32(NV10_PGRAPH_SURFACE) & 0x0007ff00;
/*XXX the original ddx code, does this in 2 steps :
- * tmp = NV_READ(NV10_PGRAPH_SURFACE) & 0x0007ff00;
- * NV_WRITE(NV10_PGRAPH_SURFACE, tmp);
- * tmp = NV_READ(NV10_PGRAPH_SURFACE) | 0x00020100;
- * NV_WRITE(NV10_PGRAPH_SURFACE, tmp);
+ * tmp = nv_rd32(NV10_PGRAPH_SURFACE) & 0x0007ff00;
+ * nv_wr32(NV10_PGRAPH_SURFACE, tmp);
+ * tmp = nv_rd32(NV10_PGRAPH_SURFACE) | 0x00020100;
+ * nv_wr32(NV10_PGRAPH_SURFACE, tmp);
*/
tmp |= 0x00020100;
NV_WRITE_CTX(NV10_PGRAPH_SURFACE, tmp);
@@ -814,8 +814,8 @@ int nv10_graph_create_context(struct nouveau_channel *chan) {
NV_WRITE_CTX(0x00400e34, 0x00080008);
if (dev_priv->chipset>=0x17) {
/* is it really needed ??? */
- NV17_WRITE_CTX(NV10_PGRAPH_DEBUG_4, NV_READ(NV10_PGRAPH_DEBUG_4));
- NV17_WRITE_CTX(0x004006b0, NV_READ(0x004006b0));
+ NV17_WRITE_CTX(NV10_PGRAPH_DEBUG_4, nv_rd32(NV10_PGRAPH_DEBUG_4));
+ NV17_WRITE_CTX(0x004006b0, nv_rd32(0x004006b0));
NV17_WRITE_CTX(0x00400eac, 0x0fff0000);
NV17_WRITE_CTX(0x00400eb0, 0x0fff0000);
NV17_WRITE_CTX(0x00400ec0, 0x00000080);
@@ -838,7 +838,7 @@ void nv10_graph_destroy_context(struct nouveau_channel *chan)
drm_free(pgraph_ctx, sizeof(*pgraph_ctx), DRM_MEM_DRIVER);
chan->pgraph_ctx = NULL;
- chid = (NV_READ(NV10_PGRAPH_CTX_USER) >> 24) & (engine->fifo.channels - 1);
+ chid = (nv_rd32(NV10_PGRAPH_CTX_USER) >> 24) & (engine->fifo.channels - 1);
/* This code seems to corrupt the 3D pipe, but blob seems to do similar things ????
*/
@@ -846,7 +846,7 @@ void nv10_graph_destroy_context(struct nouveau_channel *chan)
/* does this avoid a potential context switch while we are written graph
* reg, or we should mask graph interrupt ???
*/
- NV_WRITE(NV04_PGRAPH_FIFO,0x0);
+ nv_wr32(NV04_PGRAPH_FIFO,0x0);
if (chid == chan->id) {
DRM_INFO("cleanning a channel with graph in current context\n");
nouveau_wait_for_idle(dev);
@@ -855,7 +855,7 @@ void nv10_graph_destroy_context(struct nouveau_channel *chan)
//nv10_graph_create_context(chan);
nv10_graph_load_context(chan);
}
- NV_WRITE(NV04_PGRAPH_FIFO, 0x1);
+ nv_wr32(NV04_PGRAPH_FIFO, 0x1);
#else
if (chid == chan->id) {
DRM_INFO("cleanning a channel with graph in current context\n");
@@ -867,44 +867,44 @@ int nv10_graph_init(struct drm_device *dev) {
struct drm_nouveau_private *dev_priv = dev->dev_private;
int i;
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) &
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) &
~NV_PMC_ENABLE_PGRAPH);
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) |
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) |
NV_PMC_ENABLE_PGRAPH);
- NV_WRITE(NV03_PGRAPH_INTR , 0xFFFFFFFF);
- NV_WRITE(NV03_PGRAPH_INTR_EN, 0xFFFFFFFF);
+ nv_wr32(NV03_PGRAPH_INTR , 0xFFFFFFFF);
+ nv_wr32(NV03_PGRAPH_INTR_EN, 0xFFFFFFFF);
- NV_WRITE(NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF);
- NV_WRITE(NV04_PGRAPH_DEBUG_0, 0x00000000);
- NV_WRITE(NV04_PGRAPH_DEBUG_1, 0x00118700);
- //NV_WRITE(NV04_PGRAPH_DEBUG_2, 0x24E00810); /* 0x25f92ad9 */
- NV_WRITE(NV04_PGRAPH_DEBUG_2, 0x25f92ad9);
- NV_WRITE(NV04_PGRAPH_DEBUG_3, 0x55DE0830 |
+ nv_wr32(NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF);
+ nv_wr32(NV04_PGRAPH_DEBUG_0, 0x00000000);
+ nv_wr32(NV04_PGRAPH_DEBUG_1, 0x00118700);
+ //nv_wr32(NV04_PGRAPH_DEBUG_2, 0x24E00810); /* 0x25f92ad9 */
+ nv_wr32(NV04_PGRAPH_DEBUG_2, 0x25f92ad9);
+ nv_wr32(NV04_PGRAPH_DEBUG_3, 0x55DE0830 |
(1<<29) |
(1<<31));
if (dev_priv->chipset>=0x17) {
- NV_WRITE(NV10_PGRAPH_DEBUG_4, 0x1f000000);
- NV_WRITE(0x004006b0, 0x40000020);
+ nv_wr32(NV10_PGRAPH_DEBUG_4, 0x1f000000);
+ nv_wr32(0x004006b0, 0x40000020);
}
else
- NV_WRITE(NV10_PGRAPH_DEBUG_4, 0x00000000);
+ nv_wr32(NV10_PGRAPH_DEBUG_4, 0x00000000);
/* copy tile info from PFB */
for (i=0; i<NV10_PFB_TILE__SIZE; i++) {
- NV_WRITE(NV10_PGRAPH_TILE(i), NV_READ(NV10_PFB_TILE(i)));
- NV_WRITE(NV10_PGRAPH_TLIMIT(i), NV_READ(NV10_PFB_TLIMIT(i)));
- NV_WRITE(NV10_PGRAPH_TSIZE(i), NV_READ(NV10_PFB_TSIZE(i)));
- NV_WRITE(NV10_PGRAPH_TSTATUS(i), NV_READ(NV10_PFB_TSTATUS(i)));
+ nv_wr32(NV10_PGRAPH_TILE(i), nv_rd32(NV10_PFB_TILE(i)));
+ nv_wr32(NV10_PGRAPH_TLIMIT(i), nv_rd32(NV10_PFB_TLIMIT(i)));
+ nv_wr32(NV10_PGRAPH_TSIZE(i), nv_rd32(NV10_PFB_TSIZE(i)));
+ nv_wr32(NV10_PGRAPH_TSTATUS(i), nv_rd32(NV10_PFB_TSTATUS(i)));
}
- NV_WRITE(NV10_PGRAPH_CTX_SWITCH1, 0x00000000);
- NV_WRITE(NV10_PGRAPH_CTX_SWITCH2, 0x00000000);
- NV_WRITE(NV10_PGRAPH_CTX_SWITCH3, 0x00000000);
- NV_WRITE(NV10_PGRAPH_CTX_SWITCH4, 0x00000000);
- NV_WRITE(NV10_PGRAPH_CTX_CONTROL, 0x10010100);
- NV_WRITE(NV10_PGRAPH_STATE , 0xFFFFFFFF);
- NV_WRITE(NV04_PGRAPH_FIFO , 0x00000001);
+ nv_wr32(NV10_PGRAPH_CTX_SWITCH1, 0x00000000);
+ nv_wr32(NV10_PGRAPH_CTX_SWITCH2, 0x00000000);
+ nv_wr32(NV10_PGRAPH_CTX_SWITCH3, 0x00000000);
+ nv_wr32(NV10_PGRAPH_CTX_SWITCH4, 0x00000000);
+ nv_wr32(NV10_PGRAPH_CTX_CONTROL, 0x10010100);
+ nv_wr32(NV10_PGRAPH_STATE , 0xFFFFFFFF);
+ nv_wr32(NV04_PGRAPH_FIFO , 0x00000001);
return 0;
}
diff --git a/shared-core/nv20_graph.c b/shared-core/nv20_graph.c
index d862debb..122bfb58 100644
--- a/shared-core/nv20_graph.c
+++ b/shared-core/nv20_graph.c
@@ -639,10 +639,10 @@ int nv20_graph_load_context(struct nouveau_channel *chan)
return -EINVAL;
inst = chan->ramin_grctx->instance >> 4;
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_XFER,
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_XFER,
NV20_PGRAPH_CHANNEL_CTX_XFER_LOAD);
- NV_WRITE(NV10_PGRAPH_CTX_CONTROL, 0x10010100);
+ nv_wr32(NV10_PGRAPH_CTX_CONTROL, 0x10010100);
nouveau_wait_for_idle(dev);
return 0;
@@ -658,8 +658,8 @@ int nv20_graph_save_context(struct nouveau_channel *chan)
return -EINVAL;
inst = chan->ramin_grctx->instance >> 4;
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_XFER,
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_XFER,
NV20_PGRAPH_CHANNEL_CTX_XFER_SAVE);
nouveau_wait_for_idle(dev);
@@ -676,9 +676,9 @@ static void nv20_graph_rdi(struct drm_device *dev) {
writecount = 15;
}
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, rdi_index);
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, rdi_index);
for (i = 0; i < writecount; i++)
- NV_WRITE(NV10_PGRAPH_RDI_DATA, 0);
+ nv_wr32(NV10_PGRAPH_RDI_DATA, 0);
nouveau_wait_for_idle(dev);
}
@@ -689,9 +689,9 @@ int nv20_graph_init(struct drm_device *dev) {
uint32_t tmp, vramsz;
int ret, i;
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) &
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) &
~NV_PMC_ENABLE_PGRAPH);
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) |
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) |
NV_PMC_ENABLE_PGRAPH);
if (!dev_priv->ctx_table) {
@@ -704,94 +704,94 @@ int nv20_graph_init(struct drm_device *dev) {
return ret;
}
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_TABLE,
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_TABLE,
dev_priv->ctx_table->instance >> 4);
nv20_graph_rdi(dev);
- NV_WRITE(NV03_PGRAPH_INTR , 0xFFFFFFFF);
- NV_WRITE(NV03_PGRAPH_INTR_EN, 0xFFFFFFFF);
+ nv_wr32(NV03_PGRAPH_INTR , 0xFFFFFFFF);
+ nv_wr32(NV03_PGRAPH_INTR_EN, 0xFFFFFFFF);
- NV_WRITE(NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF);
- NV_WRITE(NV04_PGRAPH_DEBUG_0, 0x00000000);
- NV_WRITE(NV04_PGRAPH_DEBUG_1, 0x00118700);
- NV_WRITE(NV04_PGRAPH_DEBUG_3, 0xF3CE0475); /* 0x4 = auto ctx switch */
- NV_WRITE(NV10_PGRAPH_DEBUG_4, 0x00000000);
- NV_WRITE(0x40009C , 0x00000040);
+ nv_wr32(NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF);
+ nv_wr32(NV04_PGRAPH_DEBUG_0, 0x00000000);
+ nv_wr32(NV04_PGRAPH_DEBUG_1, 0x00118700);
+ nv_wr32(NV04_PGRAPH_DEBUG_3, 0xF3CE0475); /* 0x4 = auto ctx switch */
+ nv_wr32(NV10_PGRAPH_DEBUG_4, 0x00000000);
+ nv_wr32(0x40009C , 0x00000040);
if (dev_priv->chipset >= 0x25) {
- NV_WRITE(0x400890, 0x00080000);
- NV_WRITE(0x400610, 0x304B1FB6);
- NV_WRITE(0x400B80, 0x18B82880);
- NV_WRITE(0x400B84, 0x44000000);
- NV_WRITE(0x400098, 0x40000080);
- NV_WRITE(0x400B88, 0x000000ff);
+ nv_wr32(0x400890, 0x00080000);
+ nv_wr32(0x400610, 0x304B1FB6);
+ nv_wr32(0x400B80, 0x18B82880);
+ nv_wr32(0x400B84, 0x44000000);
+ nv_wr32(0x400098, 0x40000080);
+ nv_wr32(0x400B88, 0x000000ff);
} else {
- NV_WRITE(0x400880, 0x00080000); /* 0x0008c7df */
- NV_WRITE(0x400094, 0x00000005);
- NV_WRITE(0x400B80, 0x45CAA208); /* 0x45eae20e */
- NV_WRITE(0x400B84, 0x24000000);
- NV_WRITE(0x400098, 0x00000040);
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00E00038);
- NV_WRITE(NV10_PGRAPH_RDI_DATA , 0x00000030);
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00E10038);
- NV_WRITE(NV10_PGRAPH_RDI_DATA , 0x00000030);
+ nv_wr32(0x400880, 0x00080000); /* 0x0008c7df */
+ nv_wr32(0x400094, 0x00000005);
+ nv_wr32(0x400B80, 0x45CAA208); /* 0x45eae20e */
+ nv_wr32(0x400B84, 0x24000000);
+ nv_wr32(0x400098, 0x00000040);
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00E00038);
+ nv_wr32(NV10_PGRAPH_RDI_DATA , 0x00000030);
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00E10038);
+ nv_wr32(NV10_PGRAPH_RDI_DATA , 0x00000030);
}
/* copy tile info from PFB */
for (i = 0; i < NV10_PFB_TILE__SIZE; i++) {
- NV_WRITE(0x00400904 + i*0x10, NV_READ(NV10_PFB_TLIMIT(i)));
+ nv_wr32(0x00400904 + i*0x10, nv_rd32(NV10_PFB_TLIMIT(i)));
/* which is NV40_PGRAPH_TLIMIT0(i) ?? */
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00EA0030+i*4);
- NV_WRITE(NV10_PGRAPH_RDI_DATA, NV_READ(NV10_PFB_TLIMIT(i)));
- NV_WRITE(0x00400908 + i*0x10, NV_READ(NV10_PFB_TSIZE(i)));
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00EA0030+i*4);
+ nv_wr32(NV10_PGRAPH_RDI_DATA, nv_rd32(NV10_PFB_TLIMIT(i)));
+ nv_wr32(0x00400908 + i*0x10, nv_rd32(NV10_PFB_TSIZE(i)));
/* which is NV40_PGRAPH_TSIZE0(i) ?? */
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00EA0050+i*4);
- NV_WRITE(NV10_PGRAPH_RDI_DATA, NV_READ(NV10_PFB_TSIZE(i)));
- NV_WRITE(0x00400900 + i*0x10, NV_READ(NV10_PFB_TILE(i)));
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00EA0050+i*4);
+ nv_wr32(NV10_PGRAPH_RDI_DATA, nv_rd32(NV10_PFB_TSIZE(i)));
+ nv_wr32(0x00400900 + i*0x10, nv_rd32(NV10_PFB_TILE(i)));
/* which is NV40_PGRAPH_TILE0(i) ?? */
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00EA0010+i*4);
- NV_WRITE(NV10_PGRAPH_RDI_DATA, NV_READ(NV10_PFB_TILE(i)));
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00EA0010+i*4);
+ nv_wr32(NV10_PGRAPH_RDI_DATA, nv_rd32(NV10_PFB_TILE(i)));
}
for (i = 0; i < 8; i++) {
- NV_WRITE(0x400980+i*4, NV_READ(0x100300+i*4));
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00EA0090+i*4);
- NV_WRITE(NV10_PGRAPH_RDI_DATA, NV_READ(0x100300+i*4));
+ nv_wr32(0x400980+i*4, nv_rd32(0x100300+i*4));
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00EA0090+i*4);
+ nv_wr32(NV10_PGRAPH_RDI_DATA, nv_rd32(0x100300+i*4));
}
- NV_WRITE(0x4009a0, NV_READ(0x100324));
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00EA000C);
- NV_WRITE(NV10_PGRAPH_RDI_DATA, NV_READ(0x100324));
+ nv_wr32(0x4009a0, nv_rd32(0x100324));
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00EA000C);
+ nv_wr32(NV10_PGRAPH_RDI_DATA, nv_rd32(0x100324));
- NV_WRITE(NV10_PGRAPH_CTX_CONTROL, 0x10000100);
- NV_WRITE(NV10_PGRAPH_STATE , 0xFFFFFFFF);
- NV_WRITE(NV04_PGRAPH_FIFO , 0x00000001);
+ nv_wr32(NV10_PGRAPH_CTX_CONTROL, 0x10000100);
+ nv_wr32(NV10_PGRAPH_STATE , 0xFFFFFFFF);
+ nv_wr32(NV04_PGRAPH_FIFO , 0x00000001);
- tmp = NV_READ(NV10_PGRAPH_SURFACE) & 0x0007ff00;
- NV_WRITE(NV10_PGRAPH_SURFACE, tmp);
- tmp = NV_READ(NV10_PGRAPH_SURFACE) | 0x00020100;
- NV_WRITE(NV10_PGRAPH_SURFACE, tmp);
+ tmp = nv_rd32(NV10_PGRAPH_SURFACE) & 0x0007ff00;
+ nv_wr32(NV10_PGRAPH_SURFACE, tmp);
+ tmp = nv_rd32(NV10_PGRAPH_SURFACE) | 0x00020100;
+ nv_wr32(NV10_PGRAPH_SURFACE, tmp);
/* begin RAM config */
vramsz = drm_get_resource_len(dev, 0) - 1;
- NV_WRITE(0x4009A4, NV_READ(NV04_PFB_CFG0));
- NV_WRITE(0x4009A8, NV_READ(NV04_PFB_CFG1));
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00EA0000);
- NV_WRITE(NV10_PGRAPH_RDI_DATA , NV_READ(NV04_PFB_CFG0));
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00EA0004);
- NV_WRITE(NV10_PGRAPH_RDI_DATA , NV_READ(NV04_PFB_CFG1));
- NV_WRITE(0x400820, 0);
- NV_WRITE(0x400824, 0);
- NV_WRITE(0x400864, vramsz-1);
- NV_WRITE(0x400868, vramsz-1);
+ nv_wr32(0x4009A4, nv_rd32(NV04_PFB_CFG0));
+ nv_wr32(0x4009A8, nv_rd32(NV04_PFB_CFG1));
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00EA0000);
+ nv_wr32(NV10_PGRAPH_RDI_DATA , nv_rd32(NV04_PFB_CFG0));
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00EA0004);
+ nv_wr32(NV10_PGRAPH_RDI_DATA , nv_rd32(NV04_PFB_CFG1));
+ nv_wr32(0x400820, 0);
+ nv_wr32(0x400824, 0);
+ nv_wr32(0x400864, vramsz-1);
+ nv_wr32(0x400868, vramsz-1);
/* interesting.. the below overwrites some of the tile setup above.. */
- NV_WRITE(0x400B20, 0x00000000);
- NV_WRITE(0x400B04, 0xFFFFFFFF);
+ nv_wr32(0x400B20, 0x00000000);
+ nv_wr32(0x400B04, 0xFFFFFFFF);
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_XMIN, 0);
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_YMIN, 0);
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_XMAX, 0x7fff);
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_YMAX, 0x7fff);
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_XMIN, 0);
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_YMIN, 0);
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_XMAX, 0x7fff);
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_YMAX, 0x7fff);
return 0;
}
@@ -809,9 +809,9 @@ int nv30_graph_init(struct drm_device *dev)
// uint32_t vramsz, tmp;
int ret, i;
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) &
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) &
~NV_PMC_ENABLE_PGRAPH);
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) |
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) |
NV_PMC_ENABLE_PGRAPH);
if (!dev_priv->ctx_table) {
@@ -824,89 +824,89 @@ int nv30_graph_init(struct drm_device *dev)
return ret;
}
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_TABLE,
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_TABLE,
dev_priv->ctx_table->instance >> 4);
- NV_WRITE(NV03_PGRAPH_INTR , 0xFFFFFFFF);
- NV_WRITE(NV03_PGRAPH_INTR_EN, 0xFFFFFFFF);
-
- NV_WRITE(NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF);
- NV_WRITE(NV04_PGRAPH_DEBUG_0, 0x00000000);
- NV_WRITE(NV04_PGRAPH_DEBUG_1, 0x401287c0);
- NV_WRITE(0x400890, 0x01b463ff);
- NV_WRITE(NV04_PGRAPH_DEBUG_3, 0xf2de0475);
- NV_WRITE(NV10_PGRAPH_DEBUG_4, 0x00008000);
- NV_WRITE(NV04_PGRAPH_LIMIT_VIOL_PIX, 0xf04bdff6);
- NV_WRITE(0x400B80, 0x1003d888);
- NV_WRITE(0x400B84, 0x0c000000);
- NV_WRITE(0x400098, 0x00000000);
- NV_WRITE(0x40009C, 0x0005ad00);
- NV_WRITE(0x400B88, 0x62ff00ff); // suspiciously like PGRAPH_DEBUG_2
- NV_WRITE(0x4000a0, 0x00000000);
- NV_WRITE(0x4000a4, 0x00000008);
- NV_WRITE(0x4008a8, 0xb784a400);
- NV_WRITE(0x400ba0, 0x002f8685);
- NV_WRITE(0x400ba4, 0x00231f3f);
- NV_WRITE(0x4008a4, 0x40000020);
+ nv_wr32(NV03_PGRAPH_INTR , 0xFFFFFFFF);
+ nv_wr32(NV03_PGRAPH_INTR_EN, 0xFFFFFFFF);
+
+ nv_wr32(NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF);
+ nv_wr32(NV04_PGRAPH_DEBUG_0, 0x00000000);
+ nv_wr32(NV04_PGRAPH_DEBUG_1, 0x401287c0);
+ nv_wr32(0x400890, 0x01b463ff);
+ nv_wr32(NV04_PGRAPH_DEBUG_3, 0xf2de0475);
+ nv_wr32(NV10_PGRAPH_DEBUG_4, 0x00008000);
+ nv_wr32(NV04_PGRAPH_LIMIT_VIOL_PIX, 0xf04bdff6);
+ nv_wr32(0x400B80, 0x1003d888);
+ nv_wr32(0x400B84, 0x0c000000);
+ nv_wr32(0x400098, 0x00000000);
+ nv_wr32(0x40009C, 0x0005ad00);
+ nv_wr32(0x400B88, 0x62ff00ff); // suspiciously like PGRAPH_DEBUG_2
+ nv_wr32(0x4000a0, 0x00000000);
+ nv_wr32(0x4000a4, 0x00000008);
+ nv_wr32(0x4008a8, 0xb784a400);
+ nv_wr32(0x400ba0, 0x002f8685);
+ nv_wr32(0x400ba4, 0x00231f3f);
+ nv_wr32(0x4008a4, 0x40000020);
if (dev_priv->chipset == 0x34) {
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00EA0004);
- NV_WRITE(NV10_PGRAPH_RDI_DATA , 0x00200201);
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00EA0008);
- NV_WRITE(NV10_PGRAPH_RDI_DATA , 0x00000008);
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00EA0000);
- NV_WRITE(NV10_PGRAPH_RDI_DATA , 0x00000032);
- NV_WRITE(NV10_PGRAPH_RDI_INDEX, 0x00E00004);
- NV_WRITE(NV10_PGRAPH_RDI_DATA , 0x00000002);
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00EA0004);
+ nv_wr32(NV10_PGRAPH_RDI_DATA , 0x00200201);
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00EA0008);
+ nv_wr32(NV10_PGRAPH_RDI_DATA , 0x00000008);
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00EA0000);
+ nv_wr32(NV10_PGRAPH_RDI_DATA , 0x00000032);
+ nv_wr32(NV10_PGRAPH_RDI_INDEX, 0x00E00004);
+ nv_wr32(NV10_PGRAPH_RDI_DATA , 0x00000002);
}
- NV_WRITE(0x4000c0, 0x00000016);
+ nv_wr32(0x4000c0, 0x00000016);
/* copy tile info from PFB */
for (i = 0; i < NV10_PFB_TILE__SIZE; i++) {
- NV_WRITE(0x00400904 + i*0x10, NV_READ(NV10_PFB_TLIMIT(i)));
+ nv_wr32(0x00400904 + i*0x10, nv_rd32(NV10_PFB_TLIMIT(i)));
/* which is NV40_PGRAPH_TLIMIT0(i) ?? */
- NV_WRITE(0x00400908 + i*0x10, NV_READ(NV10_PFB_TSIZE(i)));
+ nv_wr32(0x00400908 + i*0x10, nv_rd32(NV10_PFB_TSIZE(i)));
/* which is NV40_PGRAPH_TSIZE0(i) ?? */
- NV_WRITE(0x00400900 + i*0x10, NV_READ(NV10_PFB_TILE(i)));
+ nv_wr32(0x00400900 + i*0x10, nv_rd32(NV10_PFB_TILE(i)));
/* which is NV40_PGRAPH_TILE0(i) ?? */
}
- NV_WRITE(NV10_PGRAPH_CTX_CONTROL, 0x10000100);
- NV_WRITE(NV10_PGRAPH_STATE , 0xFFFFFFFF);
- NV_WRITE(0x0040075c , 0x00000001);
- NV_WRITE(NV04_PGRAPH_FIFO , 0x00000001);
+ nv_wr32(NV10_PGRAPH_CTX_CONTROL, 0x10000100);
+ nv_wr32(NV10_PGRAPH_STATE , 0xFFFFFFFF);
+ nv_wr32(0x0040075c , 0x00000001);
+ nv_wr32(NV04_PGRAPH_FIFO , 0x00000001);
/* begin RAM config */
// vramsz = drm_get_resource_len(dev, 0) - 1;
- NV_WRITE(0x4009A4, NV_READ(NV04_PFB_CFG0));
- NV_WRITE(0x4009A8, NV_READ(NV04_PFB_CFG1));
+ nv_wr32(0x4009A4, nv_rd32(NV04_PFB_CFG0));
+ nv_wr32(0x4009A8, nv_rd32(NV04_PFB_CFG1));
if (dev_priv->chipset != 0x34) {
- NV_WRITE(0x400750, 0x00EA0000);
- NV_WRITE(0x400754, NV_READ(NV04_PFB_CFG0));
- NV_WRITE(0x400750, 0x00EA0004);
- NV_WRITE(0x400754, NV_READ(NV04_PFB_CFG1));
+ nv_wr32(0x400750, 0x00EA0000);
+ nv_wr32(0x400754, nv_rd32(NV04_PFB_CFG0));
+ nv_wr32(0x400750, 0x00EA0004);
+ nv_wr32(0x400754, nv_rd32(NV04_PFB_CFG1));
}
#if 0
- NV_WRITE(0x400820, 0);
- NV_WRITE(0x400824, 0);
- NV_WRITE(0x400864, vramsz-1);
- NV_WRITE(0x400868, vramsz-1);
+ nv_wr32(0x400820, 0);
+ nv_wr32(0x400824, 0);
+ nv_wr32(0x400864, vramsz-1);
+ nv_wr32(0x400868, vramsz-1);
- NV_WRITE(0x400B20, 0x00000000);
- NV_WRITE(0x400B04, 0xFFFFFFFF);
+ nv_wr32(0x400B20, 0x00000000);
+ nv_wr32(0x400B04, 0xFFFFFFFF);
/* per-context state, doesn't belong here */
- tmp = NV_READ(NV10_PGRAPH_SURFACE) & 0x0007ff00;
- NV_WRITE(NV10_PGRAPH_SURFACE, tmp);
- tmp = NV_READ(NV10_PGRAPH_SURFACE) | 0x00020100;
- NV_WRITE(NV10_PGRAPH_SURFACE, tmp);
-
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_XMIN, 0);
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_YMIN, 0);
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_XMAX, 0x7fff);
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_YMAX, 0x7fff);
+ tmp = nv_rd32(NV10_PGRAPH_SURFACE) & 0x0007ff00;
+ nv_wr32(NV10_PGRAPH_SURFACE, tmp);
+ tmp = nv_rd32(NV10_PGRAPH_SURFACE) | 0x00020100;
+ nv_wr32(NV10_PGRAPH_SURFACE, tmp);
+
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_XMIN, 0);
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_YMIN, 0);
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_XMAX, 0x7fff);
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_YMAX, 0x7fff);
#endif
return 0;
diff --git a/shared-core/nv40_fb.c b/shared-core/nv40_fb.c
index ae784cb8..530bbeed 100644
--- a/shared-core/nv40_fb.c
+++ b/shared-core/nv40_fb.c
@@ -16,13 +16,13 @@ nv40_fb_init(struct drm_device *dev)
/* I got value 0x52802 instead. For some cards the blob even sets it back to 0x1. */
/* Note: the blob doesn't read this value, so i'm pretty sure this is safe for all cards. */
/* Any idea what this is? */
- NV_WRITE(NV40_PFB_UNK_800, 0x1);
+ nv_wr32(NV40_PFB_UNK_800, 0x1);
switch (dev_priv->chipset) {
case 0x40:
case 0x45:
- tmp = NV_READ(NV10_PFB_CLOSE_PAGE2);
- NV_WRITE(NV10_PFB_CLOSE_PAGE2, tmp & ~(1<<15));
+ tmp = nv_rd32(NV10_PFB_CLOSE_PAGE2);
+ nv_wr32(NV10_PFB_CLOSE_PAGE2, tmp & ~(1<<15));
num_tiles = NV10_PFB_TILE__SIZE;
break;
case 0x46: /* G72 */
@@ -41,14 +41,14 @@ nv40_fb_init(struct drm_device *dev)
switch (dev_priv->chipset) {
case 0x40:
for (i=0; i<num_tiles; i++) {
- NV_WRITE(NV10_PFB_TILE(i), 0);
- NV_WRITE(NV10_PFB_TLIMIT(i), fb_bar_size);
+ nv_wr32(NV10_PFB_TILE(i), 0);
+ nv_wr32(NV10_PFB_TLIMIT(i), fb_bar_size);
}
break;
default:
for (i=0; i<num_tiles; i++) {
- NV_WRITE(NV40_PFB_TILE(i), 0);
- NV_WRITE(NV40_PFB_TLIMIT(i), fb_bar_size);
+ nv_wr32(NV40_PFB_TILE(i), 0);
+ nv_wr32(NV40_PFB_TLIMIT(i), fb_bar_size);
}
break;
}
diff --git a/shared-core/nv40_fifo.c b/shared-core/nv40_fifo.c
index 7f9d5e31..983b346d 100644
--- a/shared-core/nv40_fifo.c
+++ b/shared-core/nv40_fifo.c
@@ -68,7 +68,7 @@ nv40_fifo_create_context(struct nouveau_channel *chan)
RAMFC_WR(DMA_TIMESLICE , 0x0001FFFF);
/* enable the fifo dma operation */
- NV_WRITE(NV04_PFIFO_MODE,NV_READ(NV04_PFIFO_MODE)|(1<<chan->id));
+ nv_wr32(NV04_PFIFO_MODE,nv_rd32(NV04_PFIFO_MODE)|(1<<chan->id));
return 0;
}
@@ -78,7 +78,7 @@ nv40_fifo_destroy_context(struct nouveau_channel *chan)
struct drm_device *dev = chan->dev;
struct drm_nouveau_private *dev_priv = dev->dev_private;
- NV_WRITE(NV04_PFIFO_MODE, NV_READ(NV04_PFIFO_MODE)&~(1<<chan->id));
+ nv_wr32(NV04_PFIFO_MODE, nv_rd32(NV04_PFIFO_MODE)&~(1<<chan->id));
if (chan->ramfc)
nouveau_gpuobj_ref_del(dev, &chan->ramfc);
@@ -91,56 +91,56 @@ nv40_fifo_load_context(struct nouveau_channel *chan)
struct drm_nouveau_private *dev_priv = dev->dev_private;
uint32_t tmp, tmp2;
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_GET , RAMFC_RD(DMA_GET));
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_PUT , RAMFC_RD(DMA_PUT));
- NV_WRITE(NV10_PFIFO_CACHE1_REF_CNT , RAMFC_RD(REF_CNT));
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_INSTANCE , RAMFC_RD(DMA_INSTANCE));
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_DCOUNT , RAMFC_RD(DMA_DCOUNT));
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_STATE , RAMFC_RD(DMA_STATE));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_GET , RAMFC_RD(DMA_GET));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_PUT , RAMFC_RD(DMA_PUT));
+ nv_wr32(NV10_PFIFO_CACHE1_REF_CNT , RAMFC_RD(REF_CNT));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_INSTANCE , RAMFC_RD(DMA_INSTANCE));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_DCOUNT , RAMFC_RD(DMA_DCOUNT));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_STATE , RAMFC_RD(DMA_STATE));
/* No idea what 0x2058 is.. */
tmp = RAMFC_RD(DMA_FETCH);
- tmp2 = NV_READ(0x2058) & 0xFFF;
+ tmp2 = nv_rd32(0x2058) & 0xFFF;
tmp2 |= (tmp & 0x30000000);
- NV_WRITE(0x2058, tmp2);
+ nv_wr32(0x2058, tmp2);
tmp &= ~0x30000000;
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_FETCH , tmp);
-
- NV_WRITE(NV04_PFIFO_CACHE1_ENGINE , RAMFC_RD(ENGINE));
- NV_WRITE(NV04_PFIFO_CACHE1_PULL1 , RAMFC_RD(PULL1_ENGINE));
- NV_WRITE(NV10_PFIFO_CACHE1_ACQUIRE_VALUE , RAMFC_RD(ACQUIRE_VALUE));
- NV_WRITE(NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP, RAMFC_RD(ACQUIRE_TIMESTAMP));
- NV_WRITE(NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT , RAMFC_RD(ACQUIRE_TIMEOUT));
- NV_WRITE(NV10_PFIFO_CACHE1_SEMAPHORE , RAMFC_RD(SEMAPHORE));
- NV_WRITE(NV10_PFIFO_CACHE1_DMA_SUBROUTINE , RAMFC_RD(DMA_SUBROUTINE));
- NV_WRITE(NV40_PFIFO_GRCTX_INSTANCE , RAMFC_RD(GRCTX_INSTANCE));
- NV_WRITE(0x32e4, RAMFC_RD(UNK_40));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_FETCH , tmp);
+
+ nv_wr32(NV04_PFIFO_CACHE1_ENGINE , RAMFC_RD(ENGINE));
+ nv_wr32(NV04_PFIFO_CACHE1_PULL1 , RAMFC_RD(PULL1_ENGINE));
+ nv_wr32(NV10_PFIFO_CACHE1_ACQUIRE_VALUE , RAMFC_RD(ACQUIRE_VALUE));
+ nv_wr32(NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP, RAMFC_RD(ACQUIRE_TIMESTAMP));
+ nv_wr32(NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT , RAMFC_RD(ACQUIRE_TIMEOUT));
+ nv_wr32(NV10_PFIFO_CACHE1_SEMAPHORE , RAMFC_RD(SEMAPHORE));
+ nv_wr32(NV10_PFIFO_CACHE1_DMA_SUBROUTINE , RAMFC_RD(DMA_SUBROUTINE));
+ nv_wr32(NV40_PFIFO_GRCTX_INSTANCE , RAMFC_RD(GRCTX_INSTANCE));
+ nv_wr32(0x32e4, RAMFC_RD(UNK_40));
/* NVIDIA does this next line twice... */
- NV_WRITE(0x32e8, RAMFC_RD(UNK_44));
- NV_WRITE(0x2088, RAMFC_RD(UNK_4C));
- NV_WRITE(0x3300, RAMFC_RD(UNK_50));
+ nv_wr32(0x32e8, RAMFC_RD(UNK_44));
+ nv_wr32(0x2088, RAMFC_RD(UNK_4C));
+ nv_wr32(0x3300, RAMFC_RD(UNK_50));
/* not sure what part is PUT, and which is GET.. never seen a non-zero
* value appear in a mmio-trace yet..
*/
#if 0
- tmp = NV_READ(UNK_84);
- NV_WRITE(NV_PFIFO_CACHE1_GET, tmp ???);
- NV_WRITE(NV_PFIFO_CACHE1_PUT, tmp ???);
+ tmp = nv_rd32(UNK_84);
+ nv_wr32(NV_PFIFO_CACHE1_GET, tmp ???);
+ nv_wr32(NV_PFIFO_CACHE1_PUT, tmp ???);
#endif
/* Don't clobber the TIMEOUT_ENABLED flag when restoring from RAMFC */
- tmp = NV_READ(NV04_PFIFO_DMA_TIMESLICE) & ~0x1FFFF;
+ tmp = nv_rd32(NV04_PFIFO_DMA_TIMESLICE) & ~0x1FFFF;
tmp |= RAMFC_RD(DMA_TIMESLICE) & 0x1FFFF;
- NV_WRITE(NV04_PFIFO_DMA_TIMESLICE, tmp);
+ nv_wr32(NV04_PFIFO_DMA_TIMESLICE, tmp);
/* Set channel active, and in DMA mode */
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH1,
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH1,
NV03_PFIFO_CACHE1_PUSH1_DMA | chan->id);
/* Reset DMA_CTL_AT_INFO to INVALID */
- tmp = NV_READ(NV04_PFIFO_CACHE1_DMA_CTL) & ~(1<<31);
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_CTL, tmp);
+ tmp = nv_rd32(NV04_PFIFO_CACHE1_DMA_CTL) & ~(1<<31);
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_CTL, tmp);
return 0;
}
@@ -152,43 +152,43 @@ nv40_fifo_save_context(struct nouveau_channel *chan)
struct drm_nouveau_private *dev_priv = dev->dev_private;
uint32_t tmp;
- RAMFC_WR(DMA_PUT , NV_READ(NV04_PFIFO_CACHE1_DMA_PUT));
- RAMFC_WR(DMA_GET , NV_READ(NV04_PFIFO_CACHE1_DMA_GET));
- RAMFC_WR(REF_CNT , NV_READ(NV10_PFIFO_CACHE1_REF_CNT));
- RAMFC_WR(DMA_INSTANCE , NV_READ(NV04_PFIFO_CACHE1_DMA_INSTANCE));
- RAMFC_WR(DMA_DCOUNT , NV_READ(NV04_PFIFO_CACHE1_DMA_DCOUNT));
- RAMFC_WR(DMA_STATE , NV_READ(NV04_PFIFO_CACHE1_DMA_STATE));
+ RAMFC_WR(DMA_PUT , nv_rd32(NV04_PFIFO_CACHE1_DMA_PUT));
+ RAMFC_WR(DMA_GET , nv_rd32(NV04_PFIFO_CACHE1_DMA_GET));
+ RAMFC_WR(REF_CNT , nv_rd32(NV10_PFIFO_CACHE1_REF_CNT));
+ RAMFC_WR(DMA_INSTANCE , nv_rd32(NV04_PFIFO_CACHE1_DMA_INSTANCE));
+ RAMFC_WR(DMA_DCOUNT , nv_rd32(NV04_PFIFO_CACHE1_DMA_DCOUNT));
+ RAMFC_WR(DMA_STATE , nv_rd32(NV04_PFIFO_CACHE1_DMA_STATE));
- tmp = NV_READ(NV04_PFIFO_CACHE1_DMA_FETCH);
- tmp |= NV_READ(0x2058) & 0x30000000;
+ tmp = nv_rd32(NV04_PFIFO_CACHE1_DMA_FETCH);
+ tmp |= nv_rd32(0x2058) & 0x30000000;
RAMFC_WR(DMA_FETCH , tmp);
- RAMFC_WR(ENGINE , NV_READ(NV04_PFIFO_CACHE1_ENGINE));
- RAMFC_WR(PULL1_ENGINE , NV_READ(NV04_PFIFO_CACHE1_PULL1));
- RAMFC_WR(ACQUIRE_VALUE , NV_READ(NV10_PFIFO_CACHE1_ACQUIRE_VALUE));
- tmp = NV_READ(NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP);
+ RAMFC_WR(ENGINE , nv_rd32(NV04_PFIFO_CACHE1_ENGINE));
+ RAMFC_WR(PULL1_ENGINE , nv_rd32(NV04_PFIFO_CACHE1_PULL1));
+ RAMFC_WR(ACQUIRE_VALUE , nv_rd32(NV10_PFIFO_CACHE1_ACQUIRE_VALUE));
+ tmp = nv_rd32(NV10_PFIFO_CACHE1_ACQUIRE_TIMESTAMP);
RAMFC_WR(ACQUIRE_TIMESTAMP, tmp);
- RAMFC_WR(ACQUIRE_TIMEOUT , NV_READ(NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT));
- RAMFC_WR(SEMAPHORE , NV_READ(NV10_PFIFO_CACHE1_SEMAPHORE));
+ RAMFC_WR(ACQUIRE_TIMEOUT , nv_rd32(NV10_PFIFO_CACHE1_ACQUIRE_TIMEOUT));
+ RAMFC_WR(SEMAPHORE , nv_rd32(NV10_PFIFO_CACHE1_SEMAPHORE));
/* NVIDIA read 0x3228 first, then write DMA_GET here.. maybe something
* more involved depending on the value of 0x3228?
*/
- RAMFC_WR(DMA_SUBROUTINE , NV_READ(NV04_PFIFO_CACHE1_DMA_GET));
+ RAMFC_WR(DMA_SUBROUTINE , nv_rd32(NV04_PFIFO_CACHE1_DMA_GET));
- RAMFC_WR(GRCTX_INSTANCE , NV_READ(NV40_PFIFO_GRCTX_INSTANCE));
+ RAMFC_WR(GRCTX_INSTANCE , nv_rd32(NV40_PFIFO_GRCTX_INSTANCE));
/* No idea what the below is for exactly, ripped from a mmio-trace */
- RAMFC_WR(UNK_40 , NV_READ(NV40_PFIFO_UNK32E4));
+ RAMFC_WR(UNK_40 , nv_rd32(NV40_PFIFO_UNK32E4));
/* NVIDIA do this next line twice.. bug? */
- RAMFC_WR(UNK_44 , NV_READ(0x32e8));
- RAMFC_WR(UNK_4C , NV_READ(0x2088));
- RAMFC_WR(UNK_50 , NV_READ(0x3300));
+ RAMFC_WR(UNK_44 , nv_rd32(0x32e8));
+ RAMFC_WR(UNK_4C , nv_rd32(0x2088));
+ RAMFC_WR(UNK_50 , nv_rd32(0x3300));
#if 0 /* no real idea which is PUT/GET in UNK_48.. */
- tmp = NV_READ(NV04_PFIFO_CACHE1_GET);
- tmp |= (NV_READ(NV04_PFIFO_CACHE1_PUT) << 16);
+ tmp = nv_rd32(NV04_PFIFO_CACHE1_GET);
+ tmp |= (nv_rd32(NV04_PFIFO_CACHE1_PUT) << 16);
RAMFC_WR(UNK_48 , tmp);
#endif
@@ -204,6 +204,6 @@ nv40_fifo_init(struct drm_device *dev)
if ((ret = nouveau_fifo_init(dev)))
return ret;
- NV_WRITE(NV04_PFIFO_DMA_TIMESLICE, 0x2101ffff);
+ nv_wr32(NV04_PFIFO_DMA_TIMESLICE, 0x2101ffff);
return 0;
}
diff --git a/shared-core/nv40_graph.c b/shared-core/nv40_graph.c
index 4c378a05..b0340c5a 100644
--- a/shared-core/nv40_graph.c
+++ b/shared-core/nv40_graph.c
@@ -1532,35 +1532,35 @@ nv40_graph_transfer_context(struct drm_device *dev, uint32_t inst, int save)
uint32_t old_cp, tv = 1000, tmp;
int i;
- old_cp = NV_READ(NV20_PGRAPH_CHANNEL_CTX_POINTER);
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
+ old_cp = nv_rd32(NV20_PGRAPH_CHANNEL_CTX_POINTER);
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
- tmp = NV_READ(NV40_PGRAPH_CTXCTL_0310);
+ tmp = nv_rd32(NV40_PGRAPH_CTXCTL_0310);
tmp |= save ? NV40_PGRAPH_CTXCTL_0310_XFER_SAVE :
NV40_PGRAPH_CTXCTL_0310_XFER_LOAD;
- NV_WRITE(NV40_PGRAPH_CTXCTL_0310, tmp);
+ nv_wr32(NV40_PGRAPH_CTXCTL_0310, tmp);
- tmp = NV_READ(NV40_PGRAPH_CTXCTL_0304);
+ tmp = nv_rd32(NV40_PGRAPH_CTXCTL_0304);
tmp |= NV40_PGRAPH_CTXCTL_0304_XFER_CTX;
- NV_WRITE(NV40_PGRAPH_CTXCTL_0304, tmp);
+ nv_wr32(NV40_PGRAPH_CTXCTL_0304, tmp);
nouveau_wait_for_idle(dev);
for (i = 0; i < tv; i++) {
- if (NV_READ(NV40_PGRAPH_CTXCTL_030C) == 0)
+ if (nv_rd32(NV40_PGRAPH_CTXCTL_030C) == 0)
break;
}
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, old_cp);
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_POINTER, old_cp);
if (i == tv) {
- uint32_t ucstat = NV_READ(NV40_PGRAPH_CTXCTL_UCODE_STAT);
+ uint32_t ucstat = nv_rd32(NV40_PGRAPH_CTXCTL_UCODE_STAT);
DRM_ERROR("Failed: Instance=0x%08x Save=%d\n", inst, save);
DRM_ERROR("IP: 0x%02x, Opcode: 0x%08x\n",
ucstat >> NV40_PGRAPH_CTXCTL_UCODE_STAT_IP_SHIFT,
ucstat & NV40_PGRAPH_CTXCTL_UCODE_STAT_OP_MASK);
DRM_ERROR("0x40030C = 0x%08x\n",
- NV_READ(NV40_PGRAPH_CTXCTL_030C));
+ nv_rd32(NV40_PGRAPH_CTXCTL_030C));
return -EBUSY;
}
@@ -1603,15 +1603,15 @@ nv40_graph_load_context(struct nouveau_channel *chan)
* unknown as to what bit 24 does. The nv ddx has it set, so we will
* set it here too.
*/
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
- NV_WRITE(NV40_PGRAPH_CTXCTL_CUR,
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
+ nv_wr32(NV40_PGRAPH_CTXCTL_CUR,
(inst & NV40_PGRAPH_CTXCTL_CUR_INST_MASK) |
NV40_PGRAPH_CTXCTL_CUR_LOADED);
/* 0x32E0 records the instance address of the active FIFO's PGRAPH
* context. If at any time this doesn't match 0x40032C, you will
* recieve PGRAPH_INTR_CONTEXT_SWITCH
*/
- NV_WRITE(NV40_PFIFO_GRCTX_INSTANCE, inst);
+ nv_wr32(NV40_PFIFO_GRCTX_INSTANCE, inst);
return 0;
}
@@ -1960,9 +1960,9 @@ nv40_graph_init(struct drm_device *dev)
uint32_t vramsz, tmp;
int i, j;
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) &
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) &
~NV_PMC_ENABLE_PGRAPH);
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) |
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) |
NV_PMC_ENABLE_PGRAPH);
switch (dev_priv->chipset) {
@@ -1989,110 +1989,110 @@ nv40_graph_init(struct drm_device *dev)
DRM_DEBUG("Loading context program\n");
i = 0;
- NV_WRITE(NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
+ nv_wr32(NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
while (ctx_prog[i] != ~0) {
- NV_WRITE(NV40_PGRAPH_CTXCTL_UCODE_DATA, ctx_prog[i]);
+ nv_wr32(NV40_PGRAPH_CTXCTL_UCODE_DATA, ctx_prog[i]);
i++;
}
/* No context present currently */
- NV_WRITE(NV40_PGRAPH_CTXCTL_CUR, 0x00000000);
+ nv_wr32(NV40_PGRAPH_CTXCTL_CUR, 0x00000000);
- NV_WRITE(NV03_PGRAPH_INTR , 0xFFFFFFFF);
- NV_WRITE(NV40_PGRAPH_INTR_EN, 0xFFFFFFFF);
+ nv_wr32(NV03_PGRAPH_INTR , 0xFFFFFFFF);
+ nv_wr32(NV40_PGRAPH_INTR_EN, 0xFFFFFFFF);
- NV_WRITE(NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF);
- NV_WRITE(NV04_PGRAPH_DEBUG_0, 0x00000000);
- NV_WRITE(NV04_PGRAPH_DEBUG_1, 0x401287c0);
- NV_WRITE(NV04_PGRAPH_DEBUG_3, 0xe0de8055);
- NV_WRITE(NV10_PGRAPH_DEBUG_4, 0x00008000);
- NV_WRITE(NV04_PGRAPH_LIMIT_VIOL_PIX, 0x00be3c5f);
+ nv_wr32(NV04_PGRAPH_DEBUG_0, 0xFFFFFFFF);
+ nv_wr32(NV04_PGRAPH_DEBUG_0, 0x00000000);
+ nv_wr32(NV04_PGRAPH_DEBUG_1, 0x401287c0);
+ nv_wr32(NV04_PGRAPH_DEBUG_3, 0xe0de8055);
+ nv_wr32(NV10_PGRAPH_DEBUG_4, 0x00008000);
+ nv_wr32(NV04_PGRAPH_LIMIT_VIOL_PIX, 0x00be3c5f);
- NV_WRITE(NV10_PGRAPH_CTX_CONTROL, 0x10010100);
- NV_WRITE(NV10_PGRAPH_STATE , 0xFFFFFFFF);
- NV_WRITE(NV04_PGRAPH_FIFO , 0x00000001);
+ nv_wr32(NV10_PGRAPH_CTX_CONTROL, 0x10010100);
+ nv_wr32(NV10_PGRAPH_STATE , 0xFFFFFFFF);
+ nv_wr32(NV04_PGRAPH_FIFO , 0x00000001);
- j = NV_READ(0x1540) & 0xff;
+ j = nv_rd32(0x1540) & 0xff;
if (j) {
for (i=0; !(j&1); j>>=1, i++);
- NV_WRITE(0x405000, i);
+ nv_wr32(0x405000, i);
}
if (dev_priv->chipset == 0x40) {
- NV_WRITE(0x4009b0, 0x83280fff);
- NV_WRITE(0x4009b4, 0x000000a0);
+ nv_wr32(0x4009b0, 0x83280fff);
+ nv_wr32(0x4009b4, 0x000000a0);
} else {
- NV_WRITE(0x400820, 0x83280eff);
- NV_WRITE(0x400824, 0x000000a0);
+ nv_wr32(0x400820, 0x83280eff);
+ nv_wr32(0x400824, 0x000000a0);
}
switch (dev_priv->chipset) {
case 0x40:
case 0x45:
- NV_WRITE(0x4009b8, 0x0078e366);
- NV_WRITE(0x4009bc, 0x0000014c);
+ nv_wr32(0x4009b8, 0x0078e366);
+ nv_wr32(0x4009bc, 0x0000014c);
break;
case 0x41:
case 0x42: /* pciid also 0x00Cx */
// case 0x0120: //XXX (pciid)
- NV_WRITE(0x400828, 0x007596ff);
- NV_WRITE(0x40082c, 0x00000108);
+ nv_wr32(0x400828, 0x007596ff);
+ nv_wr32(0x40082c, 0x00000108);
break;
case 0x43:
- NV_WRITE(0x400828, 0x0072cb77);
- NV_WRITE(0x40082c, 0x00000108);
+ nv_wr32(0x400828, 0x0072cb77);
+ nv_wr32(0x40082c, 0x00000108);
break;
case 0x44:
case 0x46: /* G72 */
case 0x4a:
case 0x4c: /* G7x-based C51 */
case 0x4e:
- NV_WRITE(0x400860, 0);
- NV_WRITE(0x400864, 0);
+ nv_wr32(0x400860, 0);
+ nv_wr32(0x400864, 0);
break;
case 0x47: /* G70 */
case 0x49: /* G71 */
case 0x4b: /* G73 */
- NV_WRITE(0x400828, 0x07830610);
- NV_WRITE(0x40082c, 0x0000016A);
+ nv_wr32(0x400828, 0x07830610);
+ nv_wr32(0x40082c, 0x0000016A);
break;
default:
break;
}
- NV_WRITE(0x400b38, 0x2ffff800);
- NV_WRITE(0x400b3c, 0x00006000);
+ nv_wr32(0x400b38, 0x2ffff800);
+ nv_wr32(0x400b3c, 0x00006000);
/* copy tile info from PFB */
switch (dev_priv->chipset) {
case 0x40: /* vanilla NV40 */
for (i=0; i<NV10_PFB_TILE__SIZE; i++) {
- tmp = NV_READ(NV10_PFB_TILE(i));
- NV_WRITE(NV40_PGRAPH_TILE0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TILE1(i), tmp);
- tmp = NV_READ(NV10_PFB_TLIMIT(i));
- NV_WRITE(NV40_PGRAPH_TLIMIT0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TLIMIT1(i), tmp);
- tmp = NV_READ(NV10_PFB_TSIZE(i));
- NV_WRITE(NV40_PGRAPH_TSIZE0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TSIZE1(i), tmp);
- tmp = NV_READ(NV10_PFB_TSTATUS(i));
- NV_WRITE(NV40_PGRAPH_TSTATUS0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TSTATUS1(i), tmp);
+ tmp = nv_rd32(NV10_PFB_TILE(i));
+ nv_wr32(NV40_PGRAPH_TILE0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TILE1(i), tmp);
+ tmp = nv_rd32(NV10_PFB_TLIMIT(i));
+ nv_wr32(NV40_PGRAPH_TLIMIT0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TLIMIT1(i), tmp);
+ tmp = nv_rd32(NV10_PFB_TSIZE(i));
+ nv_wr32(NV40_PGRAPH_TSIZE0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TSIZE1(i), tmp);
+ tmp = nv_rd32(NV10_PFB_TSTATUS(i));
+ nv_wr32(NV40_PGRAPH_TSTATUS0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TSTATUS1(i), tmp);
}
break;
case 0x44:
case 0x4a:
case 0x4e: /* NV44-based cores don't have 0x406900? */
for (i=0; i<NV40_PFB_TILE__SIZE_0; i++) {
- tmp = NV_READ(NV40_PFB_TILE(i));
- NV_WRITE(NV40_PGRAPH_TILE0(i), tmp);
- tmp = NV_READ(NV40_PFB_TLIMIT(i));
- NV_WRITE(NV40_PGRAPH_TLIMIT0(i), tmp);
- tmp = NV_READ(NV40_PFB_TSIZE(i));
- NV_WRITE(NV40_PGRAPH_TSIZE0(i), tmp);
- tmp = NV_READ(NV40_PFB_TSTATUS(i));
- NV_WRITE(NV40_PGRAPH_TSTATUS0(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TILE(i));
+ nv_wr32(NV40_PGRAPH_TILE0(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TLIMIT(i));
+ nv_wr32(NV40_PGRAPH_TLIMIT0(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TSIZE(i));
+ nv_wr32(NV40_PGRAPH_TSIZE0(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TSTATUS(i));
+ nv_wr32(NV40_PGRAPH_TSTATUS0(i), tmp);
}
break;
case 0x46:
@@ -2100,34 +2100,34 @@ nv40_graph_init(struct drm_device *dev)
case 0x49:
case 0x4b: /* G7X-based cores */
for (i=0; i<NV40_PFB_TILE__SIZE_1; i++) {
- tmp = NV_READ(NV40_PFB_TILE(i));
- NV_WRITE(NV47_PGRAPH_TILE0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TILE1(i), tmp);
- tmp = NV_READ(NV40_PFB_TLIMIT(i));
- NV_WRITE(NV47_PGRAPH_TLIMIT0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TLIMIT1(i), tmp);
- tmp = NV_READ(NV40_PFB_TSIZE(i));
- NV_WRITE(NV47_PGRAPH_TSIZE0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TSIZE1(i), tmp);
- tmp = NV_READ(NV40_PFB_TSTATUS(i));
- NV_WRITE(NV47_PGRAPH_TSTATUS0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TSTATUS1(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TILE(i));
+ nv_wr32(NV47_PGRAPH_TILE0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TILE1(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TLIMIT(i));
+ nv_wr32(NV47_PGRAPH_TLIMIT0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TLIMIT1(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TSIZE(i));
+ nv_wr32(NV47_PGRAPH_TSIZE0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TSIZE1(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TSTATUS(i));
+ nv_wr32(NV47_PGRAPH_TSTATUS0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TSTATUS1(i), tmp);
}
break;
default: /* everything else */
for (i=0; i<NV40_PFB_TILE__SIZE_0; i++) {
- tmp = NV_READ(NV40_PFB_TILE(i));
- NV_WRITE(NV40_PGRAPH_TILE0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TILE1(i), tmp);
- tmp = NV_READ(NV40_PFB_TLIMIT(i));
- NV_WRITE(NV40_PGRAPH_TLIMIT0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TLIMIT1(i), tmp);
- tmp = NV_READ(NV40_PFB_TSIZE(i));
- NV_WRITE(NV40_PGRAPH_TSIZE0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TSIZE1(i), tmp);
- tmp = NV_READ(NV40_PFB_TSTATUS(i));
- NV_WRITE(NV40_PGRAPH_TSTATUS0(i), tmp);
- NV_WRITE(NV40_PGRAPH_TSTATUS1(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TILE(i));
+ nv_wr32(NV40_PGRAPH_TILE0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TILE1(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TLIMIT(i));
+ nv_wr32(NV40_PGRAPH_TLIMIT0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TLIMIT1(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TSIZE(i));
+ nv_wr32(NV40_PGRAPH_TSIZE0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TSIZE1(i), tmp);
+ tmp = nv_rd32(NV40_PFB_TSTATUS(i));
+ nv_wr32(NV40_PGRAPH_TSTATUS0(i), tmp);
+ nv_wr32(NV40_PGRAPH_TSTATUS1(i), tmp);
}
break;
}
@@ -2136,14 +2136,14 @@ nv40_graph_init(struct drm_device *dev)
vramsz = drm_get_resource_len(dev, 0) - 1;
switch (dev_priv->chipset) {
case 0x40:
- NV_WRITE(0x4009A4, NV_READ(NV04_PFB_CFG0));
- NV_WRITE(0x4009A8, NV_READ(NV04_PFB_CFG1));
- NV_WRITE(0x4069A4, NV_READ(NV04_PFB_CFG0));
- NV_WRITE(0x4069A8, NV_READ(NV04_PFB_CFG1));
- NV_WRITE(0x400820, 0);
- NV_WRITE(0x400824, 0);
- NV_WRITE(0x400864, vramsz);
- NV_WRITE(0x400868, vramsz);
+ nv_wr32(0x4009A4, nv_rd32(NV04_PFB_CFG0));
+ nv_wr32(0x4009A8, nv_rd32(NV04_PFB_CFG1));
+ nv_wr32(0x4069A4, nv_rd32(NV04_PFB_CFG0));
+ nv_wr32(0x4069A8, nv_rd32(NV04_PFB_CFG1));
+ nv_wr32(0x400820, 0);
+ nv_wr32(0x400824, 0);
+ nv_wr32(0x400864, vramsz);
+ nv_wr32(0x400868, vramsz);
break;
default:
switch (dev_priv->chipset) {
@@ -2151,36 +2151,36 @@ nv40_graph_init(struct drm_device *dev)
case 0x47:
case 0x49:
case 0x4b:
- NV_WRITE(0x400DF0, NV_READ(NV04_PFB_CFG0));
- NV_WRITE(0x400DF4, NV_READ(NV04_PFB_CFG1));
+ nv_wr32(0x400DF0, nv_rd32(NV04_PFB_CFG0));
+ nv_wr32(0x400DF4, nv_rd32(NV04_PFB_CFG1));
break;
default:
- NV_WRITE(0x4009F0, NV_READ(NV04_PFB_CFG0));
- NV_WRITE(0x4009F4, NV_READ(NV04_PFB_CFG1));
+ nv_wr32(0x4009F0, nv_rd32(NV04_PFB_CFG0));
+ nv_wr32(0x4009F4, nv_rd32(NV04_PFB_CFG1));
break;
}
- NV_WRITE(0x4069F0, NV_READ(NV04_PFB_CFG0));
- NV_WRITE(0x4069F4, NV_READ(NV04_PFB_CFG1));
- NV_WRITE(0x400840, 0);
- NV_WRITE(0x400844, 0);
- NV_WRITE(0x4008A0, vramsz);
- NV_WRITE(0x4008A4, vramsz);
+ nv_wr32(0x4069F0, nv_rd32(NV04_PFB_CFG0));
+ nv_wr32(0x4069F4, nv_rd32(NV04_PFB_CFG1));
+ nv_wr32(0x400840, 0);
+ nv_wr32(0x400844, 0);
+ nv_wr32(0x4008A0, vramsz);
+ nv_wr32(0x4008A4, vramsz);
break;
}
/* per-context state, doesn't belong here */
- NV_WRITE(0x400B20, 0x00000000);
- NV_WRITE(0x400B04, 0xFFFFFFFF);
-
- tmp = NV_READ(NV10_PGRAPH_SURFACE) & 0x0007ff00;
- NV_WRITE(NV10_PGRAPH_SURFACE, tmp);
- tmp = NV_READ(NV10_PGRAPH_SURFACE) | 0x00020100;
- NV_WRITE(NV10_PGRAPH_SURFACE, tmp);
-
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_XMIN, 0);
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_YMIN, 0);
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_XMAX, 0x7fff);
- NV_WRITE(NV03_PGRAPH_ABS_UCLIP_YMAX, 0x7fff);
+ nv_wr32(0x400B20, 0x00000000);
+ nv_wr32(0x400B04, 0xFFFFFFFF);
+
+ tmp = nv_rd32(NV10_PGRAPH_SURFACE) & 0x0007ff00;
+ nv_wr32(NV10_PGRAPH_SURFACE, tmp);
+ tmp = nv_rd32(NV10_PGRAPH_SURFACE) | 0x00020100;
+ nv_wr32(NV10_PGRAPH_SURFACE, tmp);
+
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_XMIN, 0);
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_YMIN, 0);
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_XMAX, 0x7fff);
+ nv_wr32(NV03_PGRAPH_ABS_UCLIP_YMAX, 0x7fff);
return 0;
}
diff --git a/shared-core/nv40_mc.c b/shared-core/nv40_mc.c
index ead6f87f..87c62133 100644
--- a/shared-core/nv40_mc.c
+++ b/shared-core/nv40_mc.c
@@ -12,18 +12,18 @@ nv40_mc_init(struct drm_device *dev)
/* Power up everything, resetting each individual unit will
* be done later if needed.
*/
- NV_WRITE(NV03_PMC_ENABLE, 0xFFFFFFFF);
+ nv_wr32(NV03_PMC_ENABLE, 0xFFFFFFFF);
switch (dev_priv->chipset) {
case 0x44:
case 0x46: /* G72 */
case 0x4e:
case 0x4c: /* C51_G7X */
- tmp = NV_READ(NV40_PFB_020C);
- NV_WRITE(NV40_PMC_1700, tmp);
- NV_WRITE(NV40_PMC_1704, 0);
- NV_WRITE(NV40_PMC_1708, 0);
- NV_WRITE(NV40_PMC_170C, tmp);
+ tmp = nv_rd32(NV40_PFB_020C);
+ nv_wr32(NV40_PMC_1700, tmp);
+ nv_wr32(NV40_PMC_1704, 0);
+ nv_wr32(NV40_PMC_1708, 0);
+ nv_wr32(NV40_PMC_170C, tmp);
break;
default:
break;
diff --git a/shared-core/nv50_fifo.c b/shared-core/nv50_fifo.c
index 59a7b101..07d6b9d8 100644
--- a/shared-core/nv50_fifo.c
+++ b/shared-core/nv50_fifo.c
@@ -54,9 +54,9 @@ nv50_fifo_init_thingo(struct drm_device *dev)
INSTANCE_WR(cur->gpuobj, nr++, i);
}
}
- NV_WRITE(0x32f4, cur->instance >> 12);
- NV_WRITE(0x32ec, nr);
- NV_WRITE(0x2500, 0x101);
+ nv_wr32(0x32f4, cur->instance >> 12);
+ nv_wr32(0x32ec, nr);
+ nv_wr32(0x2500, 0x101);
}
static int
@@ -73,7 +73,7 @@ nv50_fifo_channel_enable(struct drm_device *dev, int channel, int nt)
if (IS_G80) inst = chan->ramfc->instance >> 12;
else inst = chan->ramfc->instance >> 8;
- NV_WRITE(NV50_PFIFO_CTX_TABLE(channel),
+ nv_wr32(NV50_PFIFO_CTX_TABLE(channel),
inst | NV50_PFIFO_CTX_TABLE_CHANNEL_ENABLED);
if (!nt) nv50_fifo_init_thingo(dev);
@@ -90,7 +90,7 @@ nv50_fifo_channel_disable(struct drm_device *dev, int channel, int nt)
if (IS_G80) inst = NV50_PFIFO_CTX_TABLE_INSTANCE_MASK_G80;
else inst = NV50_PFIFO_CTX_TABLE_INSTANCE_MASK_G84;
- NV_WRITE(NV50_PFIFO_CTX_TABLE(channel), inst);
+ nv_wr32(NV50_PFIFO_CTX_TABLE(channel), inst);
if (!nt) nv50_fifo_init_thingo(dev);
}
@@ -103,8 +103,8 @@ nv50_fifo_init_reset(struct drm_device *dev)
DRM_DEBUG("\n");
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) & ~pmc_e);
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) | pmc_e);
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) & ~pmc_e);
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) | pmc_e);
}
static void
@@ -114,8 +114,8 @@ nv50_fifo_init_intr(struct drm_device *dev)
DRM_DEBUG("\n");
- NV_WRITE(NV03_PFIFO_INTR_0, 0xFFFFFFFF);
- NV_WRITE(NV03_PFIFO_INTR_EN_0, 0xFFFFFFFF);
+ nv_wr32(NV03_PFIFO_INTR_0, 0xFFFFFFFF);
+ nv_wr32(NV03_PFIFO_INTR_EN_0, 0xFFFFFFFF);
}
static void
@@ -137,7 +137,7 @@ nv50_fifo_init_regs__nv(struct drm_device *dev)
DRM_DEBUG("\n");
- NV_WRITE(0x250c, 0x6f3cfc34);
+ nv_wr32(0x250c, 0x6f3cfc34);
}
static void
@@ -147,12 +147,12 @@ nv50_fifo_init_regs(struct drm_device *dev)
DRM_DEBUG("\n");
- NV_WRITE(0x2500, 0);
- NV_WRITE(0x3250, 0);
- NV_WRITE(0x3220, 0);
- NV_WRITE(0x3204, 0);
- NV_WRITE(0x3210, 0);
- NV_WRITE(0x3270, 0);
+ nv_wr32(0x2500, 0);
+ nv_wr32(0x3250, 0);
+ nv_wr32(0x3220, 0);
+ nv_wr32(0x3204, 0);
+ nv_wr32(0x3210, 0);
+ nv_wr32(0x3270, 0);
/* Enable dummy channels setup by nv50_instmem.c */
nv50_fifo_channel_enable(dev, 0, 1);
@@ -220,7 +220,7 @@ nv50_fifo_channel_id(struct drm_device *dev)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
- return (NV_READ(NV03_PFIFO_CACHE1_PUSH1) &
+ return (nv_rd32(NV03_PFIFO_CACHE1_PUSH1) &
NV50_PFIFO_CACHE1_PUSH1_CHID_MASK);
}
@@ -299,8 +299,8 @@ nv50_fifo_destroy_context(struct nouveau_channel *chan)
if (chan->id == 0)
nv50_fifo_channel_disable(dev, 127, 0);
- if ((NV_READ(NV03_PFIFO_CACHE1_PUSH1) & 0xffff) == chan->id)
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH1, 127);
+ if ((nv_rd32(NV03_PFIFO_CACHE1_PUSH1) & 0xffff) == chan->id)
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH1, 127);
nouveau_gpuobj_ref_del(dev, &chan->ramfc);
}
@@ -316,21 +316,21 @@ nv50_fifo_load_context(struct nouveau_channel *chan)
/*XXX: incomplete, only touches the regs that NV does */
- NV_WRITE(0x3244, INSTANCE_RD(ramfc, 0x08/4));
- NV_WRITE(0x3240, INSTANCE_RD(ramfc, 0x10/4));
+ nv_wr32(0x3244, INSTANCE_RD(ramfc, 0x08/4));
+ nv_wr32(0x3240, INSTANCE_RD(ramfc, 0x10/4));
- NV_WRITE(0x3224, INSTANCE_RD(ramfc, 0x3c/4));
- NV_WRITE(NV04_PFIFO_CACHE1_DMA_INSTANCE, INSTANCE_RD(ramfc, 0x48/4));
- NV_WRITE(0x3234, INSTANCE_RD(ramfc, 0x4c/4));
- NV_WRITE(0x3254, 1);
- NV_WRITE(NV03_PFIFO_RAMHT, INSTANCE_RD(ramfc, 0x80/4));
+ nv_wr32(0x3224, INSTANCE_RD(ramfc, 0x3c/4));
+ nv_wr32(NV04_PFIFO_CACHE1_DMA_INSTANCE, INSTANCE_RD(ramfc, 0x48/4));
+ nv_wr32(0x3234, INSTANCE_RD(ramfc, 0x4c/4));
+ nv_wr32(0x3254, 1);
+ nv_wr32(NV03_PFIFO_RAMHT, INSTANCE_RD(ramfc, 0x80/4));
if (!IS_G80) {
- NV_WRITE(0x340c, INSTANCE_RD(ramfc, 0x88/4));
- NV_WRITE(0x3410, INSTANCE_RD(ramfc, 0x98/4));
+ nv_wr32(0x340c, INSTANCE_RD(ramfc, 0x88/4));
+ nv_wr32(0x3410, INSTANCE_RD(ramfc, 0x98/4));
}
- NV_WRITE(NV03_PFIFO_CACHE1_PUSH1, chan->id | (1<<16));
+ nv_wr32(NV03_PFIFO_CACHE1_PUSH1, chan->id | (1<<16));
return 0;
}
diff --git a/shared-core/nv50_graph.c b/shared-core/nv50_graph.c
index 2cb06a2c..a4c7e1b1 100644
--- a/shared-core/nv50_graph.c
+++ b/shared-core/nv50_graph.c
@@ -39,8 +39,8 @@ nv50_graph_init_reset(struct drm_device *dev)
DRM_DEBUG("\n");
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) & ~pmc_e);
- NV_WRITE(NV03_PMC_ENABLE, NV_READ(NV03_PMC_ENABLE) | pmc_e);
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) & ~pmc_e);
+ nv_wr32(NV03_PMC_ENABLE, nv_rd32(NV03_PMC_ENABLE) | pmc_e);
}
static void
@@ -49,9 +49,9 @@ nv50_graph_init_intr(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
DRM_DEBUG("\n");
- NV_WRITE(NV03_PGRAPH_INTR, 0xffffffff);
- NV_WRITE(0x400138, 0xffffffff);
- NV_WRITE(NV40_PGRAPH_INTR_EN, 0xffffffff);
+ nv_wr32(NV03_PGRAPH_INTR, 0xffffffff);
+ nv_wr32(0x400138, 0xffffffff);
+ nv_wr32(NV40_PGRAPH_INTR_EN, 0xffffffff);
}
static void
@@ -61,17 +61,17 @@ nv50_graph_init_regs__nv(struct drm_device *dev)
DRM_DEBUG("\n");
- NV_WRITE(0x400804, 0xc0000000);
- NV_WRITE(0x406800, 0xc0000000);
- NV_WRITE(0x400c04, 0xc0000000);
- NV_WRITE(0x401804, 0xc0000000);
- NV_WRITE(0x405018, 0xc0000000);
- NV_WRITE(0x402000, 0xc0000000);
+ nv_wr32(0x400804, 0xc0000000);
+ nv_wr32(0x406800, 0xc0000000);
+ nv_wr32(0x400c04, 0xc0000000);
+ nv_wr32(0x401804, 0xc0000000);
+ nv_wr32(0x405018, 0xc0000000);
+ nv_wr32(0x402000, 0xc0000000);
- NV_WRITE(0x400108, 0xffffffff);
+ nv_wr32(0x400108, 0xffffffff);
- NV_WRITE(0x400824, 0x00004000);
- NV_WRITE(0x400500, 0x00010001);
+ nv_wr32(0x400824, 0x00004000);
+ nv_wr32(0x400500, 0x00010001);
}
static void
@@ -81,7 +81,7 @@ nv50_graph_init_regs(struct drm_device *dev)
DRM_DEBUG("\n");
- NV_WRITE(NV04_PGRAPH_DEBUG_3, (1<<2) /* HW_CONTEXT_SWITCH_ENABLED */);
+ nv_wr32(NV04_PGRAPH_DEBUG_3, (1<<2) /* HW_CONTEXT_SWITCH_ENABLED */);
}
static int
@@ -123,15 +123,15 @@ nv50_graph_init_ctxctl(struct drm_device *dev)
return -EINVAL;
}
- NV_WRITE(NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
+ nv_wr32(NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
while (*voodoo != ~0) {
- NV_WRITE(NV40_PGRAPH_CTXCTL_UCODE_DATA, *voodoo);
+ nv_wr32(NV40_PGRAPH_CTXCTL_UCODE_DATA, *voodoo);
voodoo++;
}
- NV_WRITE(0x400320, 4);
- NV_WRITE(NV40_PGRAPH_CTXCTL_CUR, 0);
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, 0);
+ nv_wr32(0x400320, 4);
+ nv_wr32(NV40_PGRAPH_CTXCTL_CUR, 0);
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_POINTER, 0);
return 0;
}
@@ -268,23 +268,23 @@ nv50_graph_transfer_context(struct drm_device *dev, uint32_t inst, int save)
DRM_DEBUG("inst=0x%08x, save=%d\n", inst, save);
- old_cp = NV_READ(NV20_PGRAPH_CHANNEL_CTX_POINTER);
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
- NV_WRITE(0x400824, NV_READ(0x400824) |
+ old_cp = nv_rd32(NV20_PGRAPH_CHANNEL_CTX_POINTER);
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
+ nv_wr32(0x400824, nv_rd32(0x400824) |
(save ? NV40_PGRAPH_CTXCTL_0310_XFER_SAVE :
NV40_PGRAPH_CTXCTL_0310_XFER_LOAD));
- NV_WRITE(NV40_PGRAPH_CTXCTL_0304, NV40_PGRAPH_CTXCTL_0304_XFER_CTX);
+ nv_wr32(NV40_PGRAPH_CTXCTL_0304, NV40_PGRAPH_CTXCTL_0304_XFER_CTX);
for (i = 0; i < tv; i++) {
- if (NV_READ(NV40_PGRAPH_CTXCTL_030C) == 0)
+ if (nv_rd32(NV40_PGRAPH_CTXCTL_030C) == 0)
break;
}
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, old_cp);
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_POINTER, old_cp);
if (i == tv) {
DRM_ERROR("failed: inst=0x%08x save=%d\n", inst, save);
DRM_ERROR("0x40030C = 0x%08x\n",
- NV_READ(NV40_PGRAPH_CTXCTL_030C));
+ nv_rd32(NV40_PGRAPH_CTXCTL_030C));
return -EBUSY;
}
@@ -306,9 +306,9 @@ nv50_graph_load_context(struct nouveau_channel *chan)
return ret;
#endif
- NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
- NV_WRITE(0x400320, 4);
- NV_WRITE(NV40_PGRAPH_CTXCTL_CUR, inst | (1<<31));
+ nv_wr32(NV20_PGRAPH_CHANNEL_CTX_POINTER, inst);
+ nv_wr32(0x400320, 4);
+ nv_wr32(NV40_PGRAPH_CTXCTL_CUR, inst | (1<<31));
return 0;
}
diff --git a/shared-core/nv50_instmem.c b/shared-core/nv50_instmem.c
index d76ebf38..e89df2e5 100644
--- a/shared-core/nv50_instmem.c
+++ b/shared-core/nv50_instmem.c
@@ -51,7 +51,7 @@ typedef struct {
offset += (g)->im_pramin->start; \
} \
offset += (o); \
- NV_WRITE(NV_RAMIN + (offset & 0xfffff), (v)); \
+ nv_wr32(NV_RAMIN + (offset & 0xfffff), (v)); \
} while(0)
int
@@ -71,7 +71,7 @@ nv50_instmem_init(struct drm_device *dev)
/* Save state, will restore at takedown. */
for (i = 0x1700; i <= 0x1710; i+=4)
- priv->save1700[(i-0x1700)/4] = NV_READ(i);
+ priv->save1700[(i-0x1700)/4] = nv_rd32(i);
/* Reserve the last MiB of VRAM, we should probably try to avoid
* setting up the below tables over the top of the VBIOS image at
@@ -86,12 +86,12 @@ nv50_instmem_init(struct drm_device *dev)
pt_size = NV50_INSTMEM_PT_SIZE(dev_priv->ramin->size);
DRM_DEBUG(" Rsvd VRAM base: 0x%08x\n", c_offset);
- DRM_DEBUG(" VBIOS image: 0x%08x\n", (NV_READ(0x619f04)&~0xff)<<8);
+ DRM_DEBUG(" VBIOS image: 0x%08x\n", (nv_rd32(0x619f04)&~0xff)<<8);
DRM_DEBUG(" Aperture size: %d MiB\n",
(uint32_t)dev_priv->ramin->size >> 20);
DRM_DEBUG(" PT size: %d KiB\n", pt_size >> 10);
- NV_WRITE(NV50_PUNK_BAR0_PRAMIN, (c_offset >> 16));
+ nv_wr32(NV50_PUNK_BAR0_PRAMIN, (c_offset >> 16));
/* Create a fake channel, and use it as our "dummy" channels 0/127.
* The main reason for creating a channel is so we can use the gpuobj
@@ -166,18 +166,18 @@ nv50_instmem_init(struct drm_device *dev)
BAR0_WI32(priv->pramin_bar->gpuobj, 0x14, 0x00000000);
/* Poke the relevant regs, and pray it works :) */
- NV_WRITE(NV50_PUNK_BAR_CFG_BASE, (chan->ramin->instance >> 12));
- NV_WRITE(NV50_PUNK_UNK1710, 0);
- NV_WRITE(NV50_PUNK_BAR_CFG_BASE, (chan->ramin->instance >> 12) |
+ nv_wr32(NV50_PUNK_BAR_CFG_BASE, (chan->ramin->instance >> 12));
+ nv_wr32(NV50_PUNK_UNK1710, 0);
+ nv_wr32(NV50_PUNK_BAR_CFG_BASE, (chan->ramin->instance >> 12) |
NV50_PUNK_BAR_CFG_BASE_VALID);
- NV_WRITE(NV50_PUNK_BAR1_CTXDMA, 0);
- NV_WRITE(NV50_PUNK_BAR3_CTXDMA, (priv->pramin_bar->instance >> 4) |
+ nv_wr32(NV50_PUNK_BAR1_CTXDMA, 0);
+ nv_wr32(NV50_PUNK_BAR3_CTXDMA, (priv->pramin_bar->instance >> 4) |
NV50_PUNK_BAR3_CTXDMA_VALID);
/* Assume that praying isn't enough, check that we can re-read the
* entire fake channel back from the PRAMIN BAR */
for (i = 0; i < c_size; i+=4) {
- if (NV_READ(NV_RAMIN + i) != NV_RI32(i)) {
+ if (nv_rd32(NV_RAMIN + i) != nv_ri32(i)) {
DRM_ERROR("Error reading back PRAMIN at 0x%08x\n", i);
return -EINVAL;
}
@@ -212,7 +212,7 @@ nv50_instmem_takedown(struct drm_device *dev)
/* Restore state from before init */
for (i = 0x1700; i <= 0x1710; i+=4)
- NV_WRITE(i, priv->save1700[(i-0x1700)/4]);
+ nv_wr32(i, priv->save1700[(i-0x1700)/4]);
nouveau_gpuobj_ref_del(dev, &priv->pramin_bar);
nouveau_gpuobj_ref_del(dev, &priv->pramin_pt);
@@ -297,12 +297,12 @@ nv50_instmem_bind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj)
vram += NV50_INSTMEM_PAGE_SIZE;
}
- NV_WRITE(0x070000, 0x00000001);
- while(NV_READ(0x070000) & 1);
- NV_WRITE(0x100c80, 0x00040001);
- while(NV_READ(0x100c80) & 1);
- NV_WRITE(0x100c80, 0x00060001);
- while(NV_READ(0x100c80) & 1);
+ nv_wr32(0x070000, 0x00000001);
+ while(nv_rd32(0x070000) & 1);
+ nv_wr32(0x100c80, 0x00040001);
+ while(nv_rd32(0x100c80) & 1);
+ nv_wr32(0x100c80, 0x00060001);
+ while(nv_rd32(0x100c80) & 1);
gpuobj->im_bound = 1;
return 0;
diff --git a/shared-core/nv50_mc.c b/shared-core/nv50_mc.c
index b111826b..0843473c 100644
--- a/shared-core/nv50_mc.c
+++ b/shared-core/nv50_mc.c
@@ -33,7 +33,7 @@ nv50_mc_init(struct drm_device *dev)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
- NV_WRITE(NV03_PMC_ENABLE, 0xFFFFFFFF);
+ nv_wr32(NV03_PMC_ENABLE, 0xFFFFFFFF);
return 0;
}