nvif_wr32
nvif_wr32(device, NV_PBUS_POWERCTRL_2, saved_powerctrl_2 & 0xd7ffffff);
nvif_wr32(device, NV_PBUS_POWERCTRL_4, saved_powerctrl_4 & 0xffffffcf);
nvif_wr32(device, NV_PBUS_POWERCTRL_4, saved_powerctrl_4);
nvif_wr32(device, NV_PBUS_POWERCTRL_2, saved_powerctrl_2);
nvif_wr32(device, NV_PVIDEO_STOP, 1);
nvif_wr32(device, NV_PVIDEO_INTR_EN, 0);
nvif_wr32(device, NV_PVIDEO_OFFSET_BUFF(0), 0);
nvif_wr32(device, NV_PVIDEO_OFFSET_BUFF(1), 0);
nvif_wr32(device, NV_PVIDEO_LIMIT(0), drm->client.device.info.ram_size - 1);
nvif_wr32(device, NV_PVIDEO_LIMIT(1), drm->client.device.info.ram_size - 1);
nvif_wr32(device, NV_PVIDEO_UVPLANE_LIMIT(0), drm->client.device.info.ram_size - 1);
nvif_wr32(device, NV_PVIDEO_UVPLANE_LIMIT(1), drm->client.device.info.ram_size - 1);
nvif_wr32(device, NV_PBUS_POWERCTRL_2, 0);
nvif_wr32(device, reg, val);
nvif_wr32(device, reg, val);
nvif_wr32(dev, NV_PVIDEO_BASE(flip), 0);
nvif_wr32(dev, NV_PVIDEO_OFFSET_BUFF(flip), nvbo->offset);
nvif_wr32(dev, NV_PVIDEO_SIZE_IN(flip), src_h << 16 | src_w);
nvif_wr32(dev, NV_PVIDEO_POINT_IN(flip), src_y << 16 | src_x);
nvif_wr32(dev, NV_PVIDEO_DS_DX(flip), (src_w << 20) / crtc_w);
nvif_wr32(dev, NV_PVIDEO_DT_DY(flip), (src_h << 20) / crtc_h);
nvif_wr32(dev, NV_PVIDEO_POINT_OUT(flip), crtc_y << 16 | crtc_x);
nvif_wr32(dev, NV_PVIDEO_SIZE_OUT(flip), crtc_h << 16 | crtc_w);
nvif_wr32(dev, NV_PVIDEO_UVPLANE_BASE(flip), 0);
nvif_wr32(dev, NV_PVIDEO_UVPLANE_OFFSET_BUFF(flip),
nvif_wr32(dev, NV_PVIDEO_FORMAT(flip), format | fb->pitches[0]);
nvif_wr32(dev, NV_PVIDEO_STOP, 0);
nvif_wr32(dev, NV_PVIDEO_BUFFER, flip ? 0x10 : 0x1);
nvif_wr32(dev, NV_PVIDEO_STOP, 1);
nvif_wr32(dev, NV_PVIDEO_LUMINANCE(0), luma);
nvif_wr32(dev, NV_PVIDEO_LUMINANCE(1), luma);
nvif_wr32(dev, NV_PVIDEO_CHROMINANCE(0), chroma);
nvif_wr32(dev, NV_PVIDEO_CHROMINANCE(1), chroma);
nvif_wr32(dev, NV_PVIDEO_COLOR_KEY, plane->colorkey & 0xffffff);
nvif_wr32(dev, NV_PVIDEO_OE_STATE, 0);
nvif_wr32(dev, NV_PVIDEO_SU_STATE, 0);
nvif_wr32(dev, NV_PVIDEO_RM_STATE, 0);
nvif_wr32(dev, NV_PVIDEO_BUFF0_START_ADDRESS + 4 * i,
nvif_wr32(dev, NV_PVIDEO_BUFF0_PITCH_LENGTH + 4 * i,
nvif_wr32(dev, NV_PVIDEO_BUFF0_OFFSET + 4 * i, 0);
nvif_wr32(dev, NV_PVIDEO_WINDOW_START, crtc_y << 16 | crtc_x);
nvif_wr32(dev, NV_PVIDEO_WINDOW_SIZE, crtc_h << 16 | crtc_w);
nvif_wr32(dev, NV_PVIDEO_STEP_SIZE,
nvif_wr32(dev, NV_PVIDEO_RED_CSC_OFFSET, 0x69 - brightness);
nvif_wr32(dev, NV_PVIDEO_GREEN_CSC_OFFSET, 0x3e + brightness);
nvif_wr32(dev, NV_PVIDEO_BLUE_CSC_OFFSET, 0x89 - brightness);
nvif_wr32(dev, NV_PVIDEO_CSC_ADJUST, 0);
nvif_wr32(dev, NV_PVIDEO_CONTROL_Y, 0x001); /* (BLUR_ON, LINE_HALF) */
nvif_wr32(dev, NV_PVIDEO_CONTROL_X, 0x111); /* (WEIGHT_HEAVY, SHARPENING_ON, SMOOTHING_ON) */
nvif_wr32(dev, NV_PVIDEO_FIFO_BURST_LENGTH, 0x03);
nvif_wr32(dev, NV_PVIDEO_FIFO_THRES_SIZE, 0x38);
nvif_wr32(dev, NV_PVIDEO_KEY, nv_plane->colorkey);
nvif_wr32(dev, NV_PVIDEO_OVERLAY, overlay);
nvif_wr32(dev, NV_PVIDEO_SU_STATE, nvif_rd32(dev, NV_PVIDEO_SU_STATE) ^ (1 << 16));
nvif_wr32(dev, NV_PVIDEO_OE_STATE, 0);
nvif_wr32(dev, NV_PVIDEO_SU_STATE, 0);
nvif_wr32(dev, NV_PVIDEO_RM_STATE, 0);
nvif_wr32(&device->object, reg, val);
nvif_wr32(&device->object, 0x070000, 0x00000001);
#define NVIF_WR32_(p,o,dr,f) nvif_wr32((p), (o) + (dr), (f))
nvif_wr32(__object, _addr, (_data & ~(c)) | (d)); \
nvif_wr32(device, NV40_PMC_BACKLIGHT,
nvif_wr32(device, 0x00001304, ROM32(bios->data[hwsq_entry_offset]));
nvif_wr32(device, 0x00001400 + i, ROM32(bios->data[hwsq_entry_offset + i + 4]));
nvif_wr32(device, NV_PBUS_DEBUG_4, nvif_rd32(device, NV_PBUS_DEBUG_4) | 0x18);
nvif_wr32(device, NV_PBUS_POWERCTRL_2, 0);
nvif_wr32(&chan->user, chan->user_put, ((val) << 2) + chan->push.addr);\
nvif_wr32(device, 0x61c880, div);
nvif_wr32(device, 0x61c884, 0xc0000000 | duty);
nvif_wr32(device, buffer->getaddr, buffer->get);
nvif_wr32(device, 0x088060, state);
nvif_wr32(device, 0x088054, state);
nvif_wr32(device, 0x001854, state);
nvif_wr32(&chan->userd, 0x8c, chan->gpfifo.cur);
nvif_wr32(&chan->gpfifo, gpptr + 0, lower_32_bits(addr));
nvif_wr32(&chan->gpfifo, gpptr + 4, upper_32_bits(addr) |
nvif_wr32(&chan->userd, 0x8c, chan->gpfifo.cur);
nvif_wr32(&user->object, 0x90, token);