drm/nouveau/kms/nv50-: use NVIDIA's headers for core or_ctrl()
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
This commit is contained in:
parent
8e650ecbcd
commit
344c2e5a47
@ -23,6 +23,8 @@
|
||||
|
||||
#include <nvif/push507c.h>
|
||||
|
||||
#include <nvhw/class/cl507d.h>
|
||||
|
||||
static int
|
||||
dac507d_ctrl(struct nv50_core *core, int or, u32 ctrl,
|
||||
struct nv50_head_atom *asyh)
|
||||
@ -32,15 +34,15 @@ dac507d_ctrl(struct nv50_core *core, int or, u32 ctrl,
|
||||
int ret;
|
||||
|
||||
if (asyh) {
|
||||
sync |= asyh->or.nvsync << 1;
|
||||
sync |= asyh->or.nhsync;
|
||||
sync |= NVVAL(NV507D, DAC_SET_POLARITY, HSYNC, asyh->or.nhsync);
|
||||
sync |= NVVAL(NV507D, DAC_SET_POLARITY, VSYNC, asyh->or.nvsync);
|
||||
}
|
||||
|
||||
if ((ret = PUSH_WAIT(push, 3)))
|
||||
return ret;
|
||||
|
||||
PUSH_NVSQ(push, NV507D, 0x0400 + (or * 0x080), ctrl,
|
||||
0x0404 + (or * 0x080), sync);
|
||||
PUSH_MTHD(push, NV507D, DAC_SET_CONTROL(or), ctrl,
|
||||
DAC_SET_POLARITY(or), sync);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -23,6 +23,8 @@
|
||||
|
||||
#include <nvif/push507c.h>
|
||||
|
||||
#include <nvhw/class/cl907d.h>
|
||||
|
||||
static int
|
||||
dac907d_ctrl(struct nv50_core *core, int or, u32 ctrl,
|
||||
struct nv50_head_atom *asyh)
|
||||
@ -33,7 +35,7 @@ dac907d_ctrl(struct nv50_core *core, int or, u32 ctrl,
|
||||
if ((ret = PUSH_WAIT(push, 2)))
|
||||
return ret;
|
||||
|
||||
PUSH_NVSQ(push, NV907D, 0x0180 + (or * 0x020), ctrl);
|
||||
PUSH_MTHD(push, NV907D, DAC_SET_CONTROL(or), ctrl);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -51,6 +51,11 @@
|
||||
#include <nvif/timer.h>
|
||||
|
||||
#include <nvhw/class/cl507c.h>
|
||||
#include <nvhw/class/cl507d.h>
|
||||
#include <nvhw/class/cl837d.h>
|
||||
#include <nvhw/class/cl887d.h>
|
||||
#include <nvhw/class/cl907d.h>
|
||||
#include <nvhw/class/cl917d.h>
|
||||
|
||||
#include "nouveau_drv.h"
|
||||
#include "nouveau_dma.h"
|
||||
@ -414,8 +419,9 @@ nv50_dac_disable(struct drm_encoder *encoder)
|
||||
{
|
||||
struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder);
|
||||
struct nv50_core *core = nv50_disp(encoder->dev)->core;
|
||||
const u32 ctrl = NVDEF(NV507D, DAC_SET_CONTROL, OWNER, NONE);
|
||||
if (nv_encoder->crtc)
|
||||
core->func->dac->ctrl(core, nv_encoder->or, 0x00000000, NULL);
|
||||
core->func->dac->ctrl(core, nv_encoder->or, ctrl, NULL);
|
||||
nv_encoder->crtc = NULL;
|
||||
nv50_outp_release(nv_encoder);
|
||||
}
|
||||
@ -427,10 +433,23 @@ nv50_dac_enable(struct drm_encoder *encoder)
|
||||
struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc);
|
||||
struct nv50_head_atom *asyh = nv50_head_atom(nv_crtc->base.state);
|
||||
struct nv50_core *core = nv50_disp(encoder->dev)->core;
|
||||
u32 ctrl = 0;
|
||||
|
||||
switch (nv_crtc->index) {
|
||||
case 0: ctrl |= NVDEF(NV507D, DAC_SET_CONTROL, OWNER, HEAD0); break;
|
||||
case 1: ctrl |= NVDEF(NV507D, DAC_SET_CONTROL, OWNER, HEAD1); break;
|
||||
case 2: ctrl |= NVDEF(NV907D, DAC_SET_CONTROL, OWNER_MASK, HEAD2); break;
|
||||
case 3: ctrl |= NVDEF(NV907D, DAC_SET_CONTROL, OWNER_MASK, HEAD3); break;
|
||||
default:
|
||||
WARN_ON(1);
|
||||
break;
|
||||
}
|
||||
|
||||
ctrl |= NVDEF(NV507D, DAC_SET_CONTROL, PROTOCOL, RGB_CRT);
|
||||
|
||||
nv50_outp_acquire(nv_encoder, false);
|
||||
|
||||
core->func->dac->ctrl(core, nv_encoder->or, 1 << nv_crtc->index, asyh);
|
||||
core->func->dac->ctrl(core, nv_encoder->or, ctrl, asyh);
|
||||
asyh->or.depth = 0;
|
||||
|
||||
nv_encoder->crtc = encoder->crtc;
|
||||
@ -980,10 +999,10 @@ static u8
|
||||
nv50_dp_bpc_to_depth(unsigned int bpc)
|
||||
{
|
||||
switch (bpc) {
|
||||
case 6: return 0x2;
|
||||
case 8: return 0x5;
|
||||
case 6: return NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_18_444;
|
||||
case 8: return NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_444;
|
||||
case 10:
|
||||
default: return 0x6;
|
||||
default: return NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_30_444;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1022,9 +1041,9 @@ nv50_msto_enable(struct drm_encoder *encoder)
|
||||
nv50_outp_acquire(mstm->outp, false /*XXX: MST audio.*/);
|
||||
|
||||
if (mstm->outp->link & 1)
|
||||
proto = 0x8;
|
||||
proto = NV917D_SOR_SET_CONTROL_PROTOCOL_DP_A;
|
||||
else
|
||||
proto = 0x9;
|
||||
proto = NV917D_SOR_SET_CONTROL_PROTOCOL_DP_B;
|
||||
|
||||
mstm->outp->update(mstm->outp, head->base.index, armh, proto,
|
||||
nv50_dp_bpc_to_depth(armh->or.bpc));
|
||||
@ -1553,10 +1572,10 @@ nv50_sor_update(struct nouveau_encoder *nv_encoder, u8 head,
|
||||
|
||||
if (!asyh) {
|
||||
nv_encoder->ctrl &= ~BIT(head);
|
||||
if (!(nv_encoder->ctrl & 0x0000000f))
|
||||
if (NVDEF_TEST(nv_encoder->ctrl, NV507D, SOR_SET_CONTROL, OWNER, ==, NONE))
|
||||
nv_encoder->ctrl = 0;
|
||||
} else {
|
||||
nv_encoder->ctrl |= proto << 8;
|
||||
nv_encoder->ctrl |= NVVAL(NV507D, SOR_SET_CONTROL, PROTOCOL, proto);
|
||||
nv_encoder->ctrl |= BIT(head);
|
||||
asyh->or.depth = depth;
|
||||
}
|
||||
@ -1614,8 +1633,8 @@ nv50_sor_enable(struct drm_encoder *encoder)
|
||||
struct nouveau_connector *nv_connector;
|
||||
struct nvbios *bios = &drm->vbios;
|
||||
bool hda = false;
|
||||
u8 proto = 0xf;
|
||||
u8 depth = 0x0;
|
||||
u8 proto = NV507D_SOR_SET_CONTROL_PROTOCOL_CUSTOM;
|
||||
u8 depth = NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_DEFAULT;
|
||||
|
||||
nv_connector = nouveau_encoder_connector_get(nv_encoder);
|
||||
nv_encoder->crtc = encoder->crtc;
|
||||
@ -1629,7 +1648,7 @@ nv50_sor_enable(struct drm_encoder *encoder)
|
||||
switch (nv_encoder->dcb->type) {
|
||||
case DCB_OUTPUT_TMDS:
|
||||
if (nv_encoder->link & 1) {
|
||||
proto = 0x1;
|
||||
proto = NV507D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_A;
|
||||
/* Only enable dual-link if:
|
||||
* - Need to (i.e. rate > 165MHz)
|
||||
* - DCB says we can
|
||||
@ -1639,15 +1658,15 @@ nv50_sor_enable(struct drm_encoder *encoder)
|
||||
if (mode->clock >= 165000 &&
|
||||
nv_encoder->dcb->duallink_possible &&
|
||||
!drm_detect_hdmi_monitor(nv_connector->edid))
|
||||
proto |= 0x4;
|
||||
proto = NV507D_SOR_SET_CONTROL_PROTOCOL_DUAL_TMDS;
|
||||
} else {
|
||||
proto = 0x2;
|
||||
proto = NV507D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_B;
|
||||
}
|
||||
|
||||
nv50_hdmi_enable(&nv_encoder->base.base, mode);
|
||||
break;
|
||||
case DCB_OUTPUT_LVDS:
|
||||
proto = 0x0;
|
||||
proto = NV507D_SOR_SET_CONTROL_PROTOCOL_LVDS_CUSTOM;
|
||||
|
||||
if (bios->fp_no_ddc) {
|
||||
if (bios->fp.dual_link)
|
||||
@ -1681,9 +1700,9 @@ nv50_sor_enable(struct drm_encoder *encoder)
|
||||
depth = nv50_dp_bpc_to_depth(asyh->or.bpc);
|
||||
|
||||
if (nv_encoder->link & 1)
|
||||
proto = 0x8;
|
||||
proto = NV887D_SOR_SET_CONTROL_PROTOCOL_DP_A;
|
||||
else
|
||||
proto = 0x9;
|
||||
proto = NV887D_SOR_SET_CONTROL_PROTOCOL_DP_B;
|
||||
|
||||
nv50_audio_enable(encoder, mode);
|
||||
break;
|
||||
@ -1818,8 +1837,9 @@ nv50_pior_disable(struct drm_encoder *encoder)
|
||||
{
|
||||
struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder);
|
||||
struct nv50_core *core = nv50_disp(encoder->dev)->core;
|
||||
const u32 ctrl = NVDEF(NV507D, PIOR_SET_CONTROL, OWNER, NONE);
|
||||
if (nv_encoder->crtc)
|
||||
core->func->pior->ctrl(core, nv_encoder->or, 0x00000000, NULL);
|
||||
core->func->pior->ctrl(core, nv_encoder->or, ctrl, NULL);
|
||||
nv_encoder->crtc = NULL;
|
||||
nv50_outp_release(nv_encoder);
|
||||
}
|
||||
@ -1831,29 +1851,36 @@ nv50_pior_enable(struct drm_encoder *encoder)
|
||||
struct nouveau_crtc *nv_crtc = nouveau_crtc(encoder->crtc);
|
||||
struct nv50_head_atom *asyh = nv50_head_atom(nv_crtc->base.state);
|
||||
struct nv50_core *core = nv50_disp(encoder->dev)->core;
|
||||
u8 owner = 1 << nv_crtc->index;
|
||||
u8 proto;
|
||||
u32 ctrl = 0;
|
||||
|
||||
switch (nv_crtc->index) {
|
||||
case 0: ctrl |= NVDEF(NV507D, PIOR_SET_CONTROL, OWNER, HEAD0); break;
|
||||
case 1: ctrl |= NVDEF(NV507D, PIOR_SET_CONTROL, OWNER, HEAD1); break;
|
||||
default:
|
||||
WARN_ON(1);
|
||||
break;
|
||||
}
|
||||
|
||||
nv50_outp_acquire(nv_encoder, false);
|
||||
|
||||
switch (asyh->or.bpc) {
|
||||
case 10: asyh->or.depth = 0x6; break;
|
||||
case 8: asyh->or.depth = 0x5; break;
|
||||
case 6: asyh->or.depth = 0x2; break;
|
||||
default: asyh->or.depth = 0x0; break;
|
||||
case 10: asyh->or.depth = NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_30_444; break;
|
||||
case 8: asyh->or.depth = NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_444; break;
|
||||
case 6: asyh->or.depth = NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_18_444; break;
|
||||
default: asyh->or.depth = NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_DEFAULT; break;
|
||||
}
|
||||
|
||||
switch (nv_encoder->dcb->type) {
|
||||
case DCB_OUTPUT_TMDS:
|
||||
case DCB_OUTPUT_DP:
|
||||
proto = 0x0;
|
||||
ctrl |= NVDEF(NV507D, PIOR_SET_CONTROL, PROTOCOL, EXT_TMDS_ENC);
|
||||
break;
|
||||
default:
|
||||
BUG();
|
||||
break;
|
||||
}
|
||||
|
||||
core->func->pior->ctrl(core, nv_encoder->or, (proto << 8) | owner, asyh);
|
||||
core->func->pior->ctrl(core, nv_encoder->or, ctrl, asyh);
|
||||
nv_encoder->crtc = encoder->crtc;
|
||||
}
|
||||
|
||||
|
@ -23,6 +23,9 @@
|
||||
|
||||
#include <nvif/push507c.h>
|
||||
|
||||
#include <nvhw/class/cl507d.h>
|
||||
#include <nvhw/class/cl837d.h>
|
||||
|
||||
static int
|
||||
pior507d_ctrl(struct nv50_core *core, int or, u32 ctrl,
|
||||
struct nv50_head_atom *asyh)
|
||||
@ -31,15 +34,15 @@ pior507d_ctrl(struct nv50_core *core, int or, u32 ctrl,
|
||||
int ret;
|
||||
|
||||
if (asyh) {
|
||||
ctrl |= asyh->or.depth << 16;
|
||||
ctrl |= asyh->or.nvsync << 13;
|
||||
ctrl |= asyh->or.nhsync << 12;
|
||||
ctrl |= NVVAL(NV507D, PIOR_SET_CONTROL, HSYNC_POLARITY, asyh->or.nhsync);
|
||||
ctrl |= NVVAL(NV507D, PIOR_SET_CONTROL, VSYNC_POLARITY, asyh->or.nvsync);
|
||||
ctrl |= NVVAL(NV837D, PIOR_SET_CONTROL, PIXEL_DEPTH, asyh->or.depth);
|
||||
}
|
||||
|
||||
if ((ret = PUSH_WAIT(push, 2)))
|
||||
return ret;
|
||||
|
||||
PUSH_NVSQ(push, NV507D, 0x0700 + (or * 0x040), ctrl);
|
||||
PUSH_MTHD(push, NV507D, PIOR_SET_CONTROL(or), ctrl);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -23,6 +23,9 @@
|
||||
|
||||
#include <nvif/push507c.h>
|
||||
|
||||
#include <nvhw/class/cl507d.h>
|
||||
#include <nvhw/class/cl837d.h>
|
||||
|
||||
static int
|
||||
sor507d_ctrl(struct nv50_core *core, int or, u32 ctrl,
|
||||
struct nv50_head_atom *asyh)
|
||||
@ -31,15 +34,15 @@ sor507d_ctrl(struct nv50_core *core, int or, u32 ctrl,
|
||||
int ret;
|
||||
|
||||
if (asyh) {
|
||||
ctrl |= asyh->or.depth << 16;
|
||||
ctrl |= asyh->or.nvsync << 13;
|
||||
ctrl |= asyh->or.nhsync << 12;
|
||||
ctrl |= NVVAL(NV507D, SOR_SET_CONTROL, HSYNC_POLARITY, asyh->or.nhsync);
|
||||
ctrl |= NVVAL(NV507D, SOR_SET_CONTROL, VSYNC_POLARITY, asyh->or.nvsync);
|
||||
ctrl |= NVVAL(NV837D, SOR_SET_CONTROL, PIXEL_DEPTH, asyh->or.depth);
|
||||
}
|
||||
|
||||
if ((ret = PUSH_WAIT(push, 2)))
|
||||
return ret;
|
||||
|
||||
PUSH_NVSQ(push, NV507D, 0x0600 + (or * 0x40), ctrl);
|
||||
PUSH_MTHD(push, NV507D, SOR_SET_CONTROL(or), ctrl);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,8 @@
|
||||
#include <nvif/class.h>
|
||||
#include <nvif/push507c.h>
|
||||
|
||||
#include <nvhw/class/cl907d.h>
|
||||
|
||||
#include <nouveau_bo.h>
|
||||
|
||||
static int
|
||||
@ -36,7 +38,7 @@ sor907d_ctrl(struct nv50_core *core, int or, u32 ctrl,
|
||||
if ((ret = PUSH_WAIT(push, 2)))
|
||||
return ret;
|
||||
|
||||
PUSH_NVSQ(push, NV907D, 0x0200 + (or * 0x20), ctrl);
|
||||
PUSH_MTHD(push, NV907D, SOR_SET_CONTROL(or), ctrl);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -21,7 +21,9 @@
|
||||
*/
|
||||
#include "core.h"
|
||||
|
||||
#include <nvif/push507c.h>
|
||||
#include <nvif/pushc37b.h>
|
||||
|
||||
#include <nvhw/class/clc37d.h>
|
||||
|
||||
static int
|
||||
sorc37d_ctrl(struct nv50_core *core, int or, u32 ctrl,
|
||||
@ -33,7 +35,7 @@ sorc37d_ctrl(struct nv50_core *core, int or, u32 ctrl,
|
||||
if ((ret = PUSH_WAIT(push, 2)))
|
||||
return ret;
|
||||
|
||||
PUSH_NVSQ(push, NVC37D, 0x0300 + (or * 0x20), ctrl);
|
||||
PUSH_MTHD(push, NVC37D, SOR_SET_CONTROL(or), ctrl);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
101
drivers/gpu/drm/nouveau/include/nvhw/class/cl837d.h
Normal file
101
drivers/gpu/drm/nouveau/include/nvhw/class/cl837d.h
Normal file
@ -0,0 +1,101 @@
|
||||
/*
|
||||
* Copyright (c) 1993-2014, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _cl837d_h_
|
||||
#define _cl837d_h_
|
||||
|
||||
// class methods
|
||||
#define NV837D_SOR_SET_CONTROL(a) (0x00000600 + (a)*0x00000040)
|
||||
#define NV837D_SOR_SET_CONTROL_OWNER 3:0
|
||||
#define NV837D_SOR_SET_CONTROL_OWNER_NONE (0x00000000)
|
||||
#define NV837D_SOR_SET_CONTROL_OWNER_HEAD0 (0x00000001)
|
||||
#define NV837D_SOR_SET_CONTROL_OWNER_HEAD1 (0x00000002)
|
||||
#define NV837D_SOR_SET_CONTROL_SUB_OWNER 5:4
|
||||
#define NV837D_SOR_SET_CONTROL_SUB_OWNER_NONE (0x00000000)
|
||||
#define NV837D_SOR_SET_CONTROL_SUB_OWNER_SUBHEAD0 (0x00000001)
|
||||
#define NV837D_SOR_SET_CONTROL_SUB_OWNER_SUBHEAD1 (0x00000002)
|
||||
#define NV837D_SOR_SET_CONTROL_SUB_OWNER_BOTH (0x00000003)
|
||||
#define NV837D_SOR_SET_CONTROL_PROTOCOL 11:8
|
||||
#define NV837D_SOR_SET_CONTROL_PROTOCOL_LVDS_CUSTOM (0x00000000)
|
||||
#define NV837D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_A (0x00000001)
|
||||
#define NV837D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_B (0x00000002)
|
||||
#define NV837D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_AB (0x00000003)
|
||||
#define NV837D_SOR_SET_CONTROL_PROTOCOL_DUAL_SINGLE_TMDS (0x00000004)
|
||||
#define NV837D_SOR_SET_CONTROL_PROTOCOL_DUAL_TMDS (0x00000005)
|
||||
#define NV837D_SOR_SET_CONTROL_PROTOCOL_DDI_OUT (0x00000007)
|
||||
#define NV837D_SOR_SET_CONTROL_PROTOCOL_CUSTOM (0x0000000F)
|
||||
#define NV837D_SOR_SET_CONTROL_HSYNC_POLARITY 12:12
|
||||
#define NV837D_SOR_SET_CONTROL_HSYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV837D_SOR_SET_CONTROL_HSYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV837D_SOR_SET_CONTROL_VSYNC_POLARITY 13:13
|
||||
#define NV837D_SOR_SET_CONTROL_VSYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV837D_SOR_SET_CONTROL_VSYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV837D_SOR_SET_CONTROL_DE_SYNC_POLARITY 14:14
|
||||
#define NV837D_SOR_SET_CONTROL_DE_SYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV837D_SOR_SET_CONTROL_DE_SYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH 19:16
|
||||
#define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_DEFAULT (0x00000000)
|
||||
#define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_16_422 (0x00000001)
|
||||
#define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_18_444 (0x00000002)
|
||||
#define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_20_422 (0x00000003)
|
||||
#define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_422 (0x00000004)
|
||||
#define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_444 (0x00000005)
|
||||
#define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_30_444 (0x00000006)
|
||||
#define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_32_422 (0x00000007)
|
||||
#define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_36_444 (0x00000008)
|
||||
#define NV837D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_48_444 (0x00000009)
|
||||
|
||||
#define NV837D_PIOR_SET_CONTROL(a) (0x00000700 + (a)*0x00000040)
|
||||
#define NV837D_PIOR_SET_CONTROL_OWNER 3:0
|
||||
#define NV837D_PIOR_SET_CONTROL_OWNER_NONE (0x00000000)
|
||||
#define NV837D_PIOR_SET_CONTROL_OWNER_HEAD0 (0x00000001)
|
||||
#define NV837D_PIOR_SET_CONTROL_OWNER_HEAD1 (0x00000002)
|
||||
#define NV837D_PIOR_SET_CONTROL_SUB_OWNER 5:4
|
||||
#define NV837D_PIOR_SET_CONTROL_SUB_OWNER_NONE (0x00000000)
|
||||
#define NV837D_PIOR_SET_CONTROL_SUB_OWNER_SUBHEAD0 (0x00000001)
|
||||
#define NV837D_PIOR_SET_CONTROL_SUB_OWNER_SUBHEAD1 (0x00000002)
|
||||
#define NV837D_PIOR_SET_CONTROL_SUB_OWNER_BOTH (0x00000003)
|
||||
#define NV837D_PIOR_SET_CONTROL_PROTOCOL 11:8
|
||||
#define NV837D_PIOR_SET_CONTROL_PROTOCOL_EXT_TMDS_ENC (0x00000000)
|
||||
#define NV837D_PIOR_SET_CONTROL_PROTOCOL_EXT_TV_ENC (0x00000001)
|
||||
#define NV837D_PIOR_SET_CONTROL_HSYNC_POLARITY 12:12
|
||||
#define NV837D_PIOR_SET_CONTROL_HSYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV837D_PIOR_SET_CONTROL_HSYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV837D_PIOR_SET_CONTROL_VSYNC_POLARITY 13:13
|
||||
#define NV837D_PIOR_SET_CONTROL_VSYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV837D_PIOR_SET_CONTROL_VSYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV837D_PIOR_SET_CONTROL_DE_SYNC_POLARITY 14:14
|
||||
#define NV837D_PIOR_SET_CONTROL_DE_SYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV837D_PIOR_SET_CONTROL_DE_SYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH 19:16
|
||||
#define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_DEFAULT (0x00000000)
|
||||
#define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_16_422 (0x00000001)
|
||||
#define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_18_444 (0x00000002)
|
||||
#define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_20_422 (0x00000003)
|
||||
#define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_422 (0x00000004)
|
||||
#define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_444 (0x00000005)
|
||||
#define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_30_444 (0x00000006)
|
||||
#define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_32_422 (0x00000007)
|
||||
#define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_36_444 (0x00000008)
|
||||
#define NV837D_PIOR_SET_CONTROL_PIXEL_DEPTH_BPP_48_444 (0x00000009)
|
||||
#endif // _cl837d_h
|
68
drivers/gpu/drm/nouveau/include/nvhw/class/cl887d.h
Normal file
68
drivers/gpu/drm/nouveau/include/nvhw/class/cl887d.h
Normal file
@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Copyright (c) 1993-2014, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _cl887d_h_
|
||||
#define _cl887d_h_
|
||||
|
||||
#define NV887D_SOR_SET_CONTROL(a) (0x00000600 + (a)*0x00000040)
|
||||
#define NV887D_SOR_SET_CONTROL_OWNER 3:0
|
||||
#define NV887D_SOR_SET_CONTROL_OWNER_NONE (0x00000000)
|
||||
#define NV887D_SOR_SET_CONTROL_OWNER_HEAD0 (0x00000001)
|
||||
#define NV887D_SOR_SET_CONTROL_OWNER_HEAD1 (0x00000002)
|
||||
#define NV887D_SOR_SET_CONTROL_SUB_OWNER 5:4
|
||||
#define NV887D_SOR_SET_CONTROL_SUB_OWNER_NONE (0x00000000)
|
||||
#define NV887D_SOR_SET_CONTROL_SUB_OWNER_SUBHEAD0 (0x00000001)
|
||||
#define NV887D_SOR_SET_CONTROL_SUB_OWNER_SUBHEAD1 (0x00000002)
|
||||
#define NV887D_SOR_SET_CONTROL_SUB_OWNER_BOTH (0x00000003)
|
||||
#define NV887D_SOR_SET_CONTROL_PROTOCOL 11:8
|
||||
#define NV887D_SOR_SET_CONTROL_PROTOCOL_LVDS_CUSTOM (0x00000000)
|
||||
#define NV887D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_A (0x00000001)
|
||||
#define NV887D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_B (0x00000002)
|
||||
#define NV887D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_AB (0x00000003)
|
||||
#define NV887D_SOR_SET_CONTROL_PROTOCOL_DUAL_SINGLE_TMDS (0x00000004)
|
||||
#define NV887D_SOR_SET_CONTROL_PROTOCOL_DUAL_TMDS (0x00000005)
|
||||
#define NV887D_SOR_SET_CONTROL_PROTOCOL_DDI_OUT (0x00000007)
|
||||
#define NV887D_SOR_SET_CONTROL_PROTOCOL_DP_A (0x00000008)
|
||||
#define NV887D_SOR_SET_CONTROL_PROTOCOL_DP_B (0x00000009)
|
||||
#define NV887D_SOR_SET_CONTROL_PROTOCOL_CUSTOM (0x0000000F)
|
||||
#define NV887D_SOR_SET_CONTROL_HSYNC_POLARITY 12:12
|
||||
#define NV887D_SOR_SET_CONTROL_HSYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV887D_SOR_SET_CONTROL_HSYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV887D_SOR_SET_CONTROL_VSYNC_POLARITY 13:13
|
||||
#define NV887D_SOR_SET_CONTROL_VSYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV887D_SOR_SET_CONTROL_VSYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV887D_SOR_SET_CONTROL_DE_SYNC_POLARITY 14:14
|
||||
#define NV887D_SOR_SET_CONTROL_DE_SYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV887D_SOR_SET_CONTROL_DE_SYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV887D_SOR_SET_CONTROL_PIXEL_DEPTH 19:16
|
||||
#define NV887D_SOR_SET_CONTROL_PIXEL_DEPTH_DEFAULT (0x00000000)
|
||||
#define NV887D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_16_422 (0x00000001)
|
||||
#define NV887D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_18_444 (0x00000002)
|
||||
#define NV887D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_20_422 (0x00000003)
|
||||
#define NV887D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_422 (0x00000004)
|
||||
#define NV887D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_24_444 (0x00000005)
|
||||
#define NV887D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_30_444 (0x00000006)
|
||||
#define NV887D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_32_422 (0x00000007)
|
||||
#define NV887D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_36_444 (0x00000008)
|
||||
#define NV887D_SOR_SET_CONTROL_PIXEL_DEPTH_BPP_48_444 (0x00000009)
|
||||
#endif // _cl887d_h
|
429
drivers/gpu/drm/nouveau/include/nvhw/class/cl907d.h
Normal file
429
drivers/gpu/drm/nouveau/include/nvhw/class/cl907d.h
Normal file
@ -0,0 +1,429 @@
|
||||
/*
|
||||
* Copyright (c) 1993-2014, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _cl907d_h_
|
||||
#define _cl907d_h_
|
||||
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20 0x00000014
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_LVDS18 0:0
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_LVDS18_FALSE 0x00000000
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_LVDS18_TRUE 0x00000001
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_LVDS24 1:1
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_LVDS24_FALSE 0x00000000
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_LVDS24_TRUE 0x00000001
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DUAL_LVDS18 2:2
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DUAL_LVDS18_FALSE 0x00000000
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DUAL_LVDS18_TRUE 0x00000001
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DUAL_LVDS24 3:3
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DUAL_LVDS24_FALSE 0x00000000
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DUAL_LVDS24_TRUE 0x00000001
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_R0 7:4
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_TMDS_A 8:8
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_TMDS_A_FALSE 0x00000000
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_TMDS_A_TRUE 0x00000001
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_TMDS_B 9:9
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_TMDS_B_FALSE 0x00000000
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_SINGLE_TMDS_B_TRUE 0x00000001
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_R1 10:10
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DUAL_TMDS 11:11
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DUAL_TMDS_FALSE 0x00000000
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DUAL_TMDS_TRUE 0x00000001
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_R2 12:12
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_R3 15:14
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_R4 19:17
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_R5 23:20
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DP_A 24:24
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DP_A_FALSE 0x00000000
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DP_A_TRUE 0x00000001
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DP_B 25:25
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DP_B_FALSE 0x00000000
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DP_B_TRUE 0x00000001
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DP_INTERLACE 26:26
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DP_INTERLACE_FALSE 0x00000000
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_DP_INTERLACE_TRUE 0x00000001
|
||||
#define NV907D_CORE_NOTIFIER_3_CAPABILITIES_CAP_SOR0_20_R6 31:27
|
||||
|
||||
|
||||
// class methods
|
||||
#define NV907D_DAC_SET_CONTROL(a) (0x00000180 + (a)*0x00000020)
|
||||
#define NV907D_DAC_SET_CONTROL_OWNER_MASK 3:0
|
||||
#define NV907D_DAC_SET_CONTROL_OWNER_MASK_NONE (0x00000000)
|
||||
#define NV907D_DAC_SET_CONTROL_OWNER_MASK_HEAD0 (0x00000001)
|
||||
#define NV907D_DAC_SET_CONTROL_OWNER_MASK_HEAD1 (0x00000002)
|
||||
#define NV907D_DAC_SET_CONTROL_OWNER_MASK_HEAD2 (0x00000004)
|
||||
#define NV907D_DAC_SET_CONTROL_OWNER_MASK_HEAD3 (0x00000008)
|
||||
#define NV907D_DAC_SET_CONTROL_PROTOCOL 12:8
|
||||
#define NV907D_DAC_SET_CONTROL_PROTOCOL_RGB_CRT (0x00000000)
|
||||
#define NV907D_DAC_SET_CONTROL_PROTOCOL_YUV_CRT (0x00000013)
|
||||
|
||||
#define NV907D_SOR_SET_CONTROL(a) (0x00000200 + (a)*0x00000020)
|
||||
#define NV907D_SOR_SET_CONTROL_OWNER_MASK 3:0
|
||||
#define NV907D_SOR_SET_CONTROL_OWNER_MASK_NONE (0x00000000)
|
||||
#define NV907D_SOR_SET_CONTROL_OWNER_MASK_HEAD0 (0x00000001)
|
||||
#define NV907D_SOR_SET_CONTROL_OWNER_MASK_HEAD1 (0x00000002)
|
||||
#define NV907D_SOR_SET_CONTROL_OWNER_MASK_HEAD2 (0x00000004)
|
||||
#define NV907D_SOR_SET_CONTROL_OWNER_MASK_HEAD3 (0x00000008)
|
||||
#define NV907D_SOR_SET_CONTROL_PROTOCOL 11:8
|
||||
#define NV907D_SOR_SET_CONTROL_PROTOCOL_LVDS_CUSTOM (0x00000000)
|
||||
#define NV907D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_A (0x00000001)
|
||||
#define NV907D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_B (0x00000002)
|
||||
#define NV907D_SOR_SET_CONTROL_PROTOCOL_DUAL_TMDS (0x00000005)
|
||||
#define NV907D_SOR_SET_CONTROL_PROTOCOL_DP_A (0x00000008)
|
||||
#define NV907D_SOR_SET_CONTROL_PROTOCOL_DP_B (0x00000009)
|
||||
#define NV907D_SOR_SET_CONTROL_PROTOCOL_CUSTOM (0x0000000F)
|
||||
#define NV907D_SOR_SET_CONTROL_DE_SYNC_POLARITY 14:14
|
||||
#define NV907D_SOR_SET_CONTROL_DE_SYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV907D_SOR_SET_CONTROL_DE_SYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV907D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE 21:20
|
||||
#define NV907D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_OFF (0x00000000)
|
||||
#define NV907D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_X2 (0x00000001)
|
||||
#define NV907D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_X4 (0x00000002)
|
||||
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE(a) (0x00000404 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_CRC_MODE 1:0
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_CRC_MODE_ACTIVE_RASTER (0x00000000)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_CRC_MODE_COMPLETE_RASTER (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_CRC_MODE_NON_ACTIVE_RASTER (0x00000002)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_HSYNC_POLARITY 3:3
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_HSYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_HSYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_VSYNC_POLARITY 4:4
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_VSYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_VSYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH 9:6
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_DEFAULT (0x00000000)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_16_422 (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_18_444 (0x00000002)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_20_422 (0x00000003)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_24_422 (0x00000004)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_24_444 (0x00000005)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_30_444 (0x00000006)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_32_422 (0x00000007)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_36_444 (0x00000008)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_48_444 (0x00000009)
|
||||
#define NV907D_HEAD_SET_CONTROL(a) (0x00000408 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_CONTROL_STRUCTURE 0:0
|
||||
#define NV907D_HEAD_SET_CONTROL_STRUCTURE_PROGRESSIVE (0x00000000)
|
||||
#define NV907D_HEAD_SET_CONTROL_STRUCTURE_INTERLACED (0x00000001)
|
||||
#define NV907D_HEAD_SET_OVERSCAN_COLOR(a) (0x00000410 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_OVERSCAN_COLOR_RED 9:0
|
||||
#define NV907D_HEAD_SET_OVERSCAN_COLOR_GRN 19:10
|
||||
#define NV907D_HEAD_SET_OVERSCAN_COLOR_BLU 29:20
|
||||
#define NV907D_HEAD_SET_RASTER_SIZE(a) (0x00000414 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_RASTER_SIZE_WIDTH 14:0
|
||||
#define NV907D_HEAD_SET_RASTER_SIZE_HEIGHT 30:16
|
||||
#define NV907D_HEAD_SET_RASTER_SYNC_END(a) (0x00000418 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_RASTER_SYNC_END_X 14:0
|
||||
#define NV907D_HEAD_SET_RASTER_SYNC_END_Y 30:16
|
||||
#define NV907D_HEAD_SET_RASTER_BLANK_END(a) (0x0000041C + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_RASTER_BLANK_END_X 14:0
|
||||
#define NV907D_HEAD_SET_RASTER_BLANK_END_Y 30:16
|
||||
#define NV907D_HEAD_SET_RASTER_BLANK_START(a) (0x00000420 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_RASTER_BLANK_START_X 14:0
|
||||
#define NV907D_HEAD_SET_RASTER_BLANK_START_Y 30:16
|
||||
#define NV907D_HEAD_SET_RASTER_VERT_BLANK2(a) (0x00000424 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_RASTER_VERT_BLANK2_YSTART 14:0
|
||||
#define NV907D_HEAD_SET_RASTER_VERT_BLANK2_YEND 30:16
|
||||
#define NV907D_HEAD_SET_DEFAULT_BASE_COLOR(a) (0x0000042C + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_DEFAULT_BASE_COLOR_RED 9:0
|
||||
#define NV907D_HEAD_SET_DEFAULT_BASE_COLOR_GREEN 19:10
|
||||
#define NV907D_HEAD_SET_DEFAULT_BASE_COLOR_BLUE 29:20
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL(a) (0x00000430 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_CONTROLLING_CHANNEL 1:0
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_CONTROLLING_CHANNEL_CORE (0x00000000)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_CONTROLLING_CHANNEL_BASE (0x00000001)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_CONTROLLING_CHANNEL_OVERLAY (0x00000002)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_EXPECT_BUFFER_COLLAPSE 2:2
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_EXPECT_BUFFER_COLLAPSE_FALSE (0x00000000)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_EXPECT_BUFFER_COLLAPSE_TRUE (0x00000001)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_TIMESTAMP_MODE 3:3
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_TIMESTAMP_MODE_FALSE (0x00000000)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_TIMESTAMP_MODE_TRUE (0x00000001)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT 19:8
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_DAC(i) (0x00000FF0 +(i))
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_DAC__SIZE_1 4
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_DAC0 (0x00000FF0)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_DAC1 (0x00000FF1)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_DAC2 (0x00000FF2)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_DAC3 (0x00000FF3)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_RG(i) (0x00000FF8 +(i))
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_RG__SIZE_1 4
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_RG0 (0x00000FF8)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_RG1 (0x00000FF9)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_RG2 (0x00000FFA)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_RG3 (0x00000FFB)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SOR(i) (0x00000F0F +(i)*16)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SOR__SIZE_1 8
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SOR0 (0x00000F0F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SOR1 (0x00000F1F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SOR2 (0x00000F2F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SOR3 (0x00000F3F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SOR4 (0x00000F4F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SOR5 (0x00000F5F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SOR6 (0x00000F6F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SOR7 (0x00000F7F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SF(i) (0x00000F8F +(i)*16)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SF__SIZE_1 4
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SF0 (0x00000F8F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SF1 (0x00000F9F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SF2 (0x00000FAF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_SF3 (0x00000FBF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_PIOR(i) (0x000000FF +(i)*256)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_PIOR__SIZE_1 8
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_PIOR0 (0x000000FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_PIOR1 (0x000001FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_PIOR2 (0x000002FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_PIOR3 (0x000003FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_PIOR4 (0x000004FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_PIOR5 (0x000005FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_PIOR6 (0x000006FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_PIOR7 (0x000007FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_PRIMARY_OUTPUT_NONE (0x00000FFF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT 31:20
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_DAC(i) (0x00000FF0 +(i))
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_DAC__SIZE_1 4
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_DAC0 (0x00000FF0)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_DAC1 (0x00000FF1)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_DAC2 (0x00000FF2)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_DAC3 (0x00000FF3)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_RG(i) (0x00000FF8 +(i))
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_RG__SIZE_1 4
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_RG0 (0x00000FF8)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_RG1 (0x00000FF9)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_RG2 (0x00000FFA)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_RG3 (0x00000FFB)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SOR(i) (0x00000F0F +(i)*16)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SOR__SIZE_1 8
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SOR0 (0x00000F0F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SOR1 (0x00000F1F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SOR2 (0x00000F2F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SOR3 (0x00000F3F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SOR4 (0x00000F4F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SOR5 (0x00000F5F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SOR6 (0x00000F6F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SOR7 (0x00000F7F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SF(i) (0x00000F8F +(i)*16)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SF__SIZE_1 4
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SF0 (0x00000F8F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SF1 (0x00000F9F)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SF2 (0x00000FAF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_SF3 (0x00000FBF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_PIOR(i) (0x000000FF +(i)*256)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_PIOR__SIZE_1 8
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_PIOR0 (0x000000FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_PIOR1 (0x000001FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_PIOR2 (0x000002FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_PIOR3 (0x000003FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_PIOR4 (0x000004FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_PIOR5 (0x000005FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_PIOR6 (0x000006FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_PIOR7 (0x000007FF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_SECONDARY_OUTPUT_NONE (0x00000FFF)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_CRC_DURING_SNOOZE 5:5
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_CRC_DURING_SNOOZE_DISABLE (0x00000000)
|
||||
#define NV907D_HEAD_SET_CRC_CONTROL_CRC_DURING_SNOOZE_ENABLE (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTEXT_DMA_CRC(a) (0x00000438 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_CONTEXT_DMA_CRC_HANDLE 31:0
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO(a) (0x00000448 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_ENABLE 31:31
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_ENABLE_DISABLE (0x00000000)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_ENABLE_ENABLE (0x00000001)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_MODE 27:24
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_MODE_LORES (0x00000000)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_MODE_HIRES (0x00000001)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_MODE_INDEX_1025_UNITY_RANGE (0x00000003)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_MODE_INTERPOLATE_1025_UNITY_RANGE (0x00000004)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_MODE_INTERPOLATE_1025_XRBIAS_RANGE (0x00000005)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_MODE_INTERPOLATE_1025_XVYCC_RANGE (0x00000006)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_MODE_INTERPOLATE_257_UNITY_RANGE (0x00000007)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_MODE_INTERPOLATE_257_LEGACY_RANGE (0x00000008)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_NEVER_YIELD_TO_BASE 20:20
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_NEVER_YIELD_TO_BASE_DISABLE (0x00000000)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_LO_NEVER_YIELD_TO_BASE_ENABLE (0x00000001)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_HI(a) (0x0000044C + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_OUTPUT_LUT_HI_ORIGIN 31:0
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_FREQUENCY(a) (0x00000450 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_HERTZ 30:0
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_ADJ1000DIV1001 31:31
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_ADJ1000DIV1001_FALSE (0x00000000)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_ADJ1000DIV1001_TRUE (0x00000001)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION(a) (0x00000454 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_MODE 21:20
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_MODE_CLK_25 (0x00000000)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_MODE_CLK_28 (0x00000001)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_MODE_CLK_CUSTOM (0x00000002)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_NOT_DRIVER 24:24
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_NOT_DRIVER_FALSE (0x00000000)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_NOT_DRIVER_TRUE (0x00000001)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_ENABLE_HOPPING 25:25
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_ENABLE_HOPPING_FALSE (0x00000000)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_ENABLE_HOPPING_TRUE (0x00000001)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_HOPPING_MODE 26:26
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_HOPPING_MODE_VBLANK (0x00000000)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_CONFIGURATION_HOPPING_MODE_HBLANK (0x00000001)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_MAX(a) (0x00000458 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_MAX_HERTZ 30:0
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_MAX_ADJ1000DIV1001 31:31
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_MAX_ADJ1000DIV1001_FALSE (0x00000000)
|
||||
#define NV907D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_MAX_ADJ1000DIV1001_TRUE (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTEXT_DMA_LUT(a) (0x0000045C + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_CONTEXT_DMA_LUT_HANDLE 31:0
|
||||
#define NV907D_HEAD_SET_OFFSET(a) (0x00000460 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_OFFSET_ORIGIN 31:0
|
||||
#define NV907D_HEAD_SET_SIZE(a) (0x00000468 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_SIZE_WIDTH 15:0
|
||||
#define NV907D_HEAD_SET_SIZE_HEIGHT 31:16
|
||||
#define NV907D_HEAD_SET_STORAGE(a) (0x0000046C + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_STORAGE_BLOCK_HEIGHT 3:0
|
||||
#define NV907D_HEAD_SET_STORAGE_BLOCK_HEIGHT_ONE_GOB (0x00000000)
|
||||
#define NV907D_HEAD_SET_STORAGE_BLOCK_HEIGHT_TWO_GOBS (0x00000001)
|
||||
#define NV907D_HEAD_SET_STORAGE_BLOCK_HEIGHT_FOUR_GOBS (0x00000002)
|
||||
#define NV907D_HEAD_SET_STORAGE_BLOCK_HEIGHT_EIGHT_GOBS (0x00000003)
|
||||
#define NV907D_HEAD_SET_STORAGE_BLOCK_HEIGHT_SIXTEEN_GOBS (0x00000004)
|
||||
#define NV907D_HEAD_SET_STORAGE_BLOCK_HEIGHT_THIRTYTWO_GOBS (0x00000005)
|
||||
#define NV907D_HEAD_SET_STORAGE_PITCH 20:8
|
||||
#define NV907D_HEAD_SET_STORAGE_MEMORY_LAYOUT 24:24
|
||||
#define NV907D_HEAD_SET_STORAGE_MEMORY_LAYOUT_BLOCKLINEAR (0x00000000)
|
||||
#define NV907D_HEAD_SET_STORAGE_MEMORY_LAYOUT_PITCH (0x00000001)
|
||||
#define NV907D_HEAD_SET_PARAMS(a) (0x00000470 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT 15:8
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_I8 (0x0000001E)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_VOID16 (0x0000001F)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_VOID32 (0x0000002E)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_RF16_GF16_BF16_AF16 (0x000000CA)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_A8R8G8B8 (0x000000CF)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_A2B10G10R10 (0x000000D1)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_X2BL10GL10RL10_XRBIAS (0x00000022)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_A8B8G8R8 (0x000000D5)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_R5G6B5 (0x000000E8)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_A1R5G5B5 (0x000000E9)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_R16_G16_B16_A16 (0x000000C6)
|
||||
#define NV907D_HEAD_SET_PARAMS_FORMAT_R16_G16_B16_A16_NVBIAS (0x00000023)
|
||||
#define NV907D_HEAD_SET_PARAMS_SUPER_SAMPLE 1:0
|
||||
#define NV907D_HEAD_SET_PARAMS_SUPER_SAMPLE_X1_AA (0x00000000)
|
||||
#define NV907D_HEAD_SET_PARAMS_SUPER_SAMPLE_X4_AA (0x00000002)
|
||||
#define NV907D_HEAD_SET_PARAMS_GAMMA 2:2
|
||||
#define NV907D_HEAD_SET_PARAMS_GAMMA_LINEAR (0x00000000)
|
||||
#define NV907D_HEAD_SET_PARAMS_GAMMA_SRGB (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTEXT_DMAS_ISO(a) (0x00000474 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_CONTEXT_DMAS_ISO_HANDLE 31:0
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR(a) (0x00000480 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_ENABLE 31:31
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_ENABLE_DISABLE (0x00000000)
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_ENABLE_ENABLE (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_FORMAT 25:24
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_FORMAT_A1R5G5B5 (0x00000000)
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_FORMAT_A8R8G8B8 (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_SIZE 26:26
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_SIZE_W32_H32 (0x00000000)
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_SIZE_W64_H64 (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_HOT_SPOT_X 13:8
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_HOT_SPOT_Y 21:16
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_COMPOSITION 29:28
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_ALPHA_BLEND (0x00000000)
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_PREMULT_ALPHA_BLEND (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_XOR (0x00000002)
|
||||
#define NV907D_HEAD_SET_OFFSET_CURSOR(a) (0x00000484 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_OFFSET_CURSOR_ORIGIN 31:0
|
||||
#define NV907D_HEAD_SET_CONTEXT_DMA_CURSOR(a) (0x0000048C + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_CONTEXT_DMA_CURSOR_HANDLE 31:0
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL(a) (0x00000490 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_ENABLE 0:0
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_ENABLE_DISABLE (0x00000000)
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_ENABLE_ENABLE (0x00000001)
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_BITS 2:1
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_BITS_DITHER_TO_6_BITS (0x00000000)
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_BITS_DITHER_TO_8_BITS (0x00000001)
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_BITS_DITHER_TO_10_BITS (0x00000002)
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_MODE 6:3
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_MODE_DYNAMIC_ERR_ACC (0x00000000)
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_MODE_STATIC_ERR_ACC (0x00000001)
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_MODE_DYNAMIC_2X2 (0x00000002)
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_MODE_STATIC_2X2 (0x00000003)
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_MODE_TEMPORAL (0x00000004)
|
||||
#define NV907D_HEAD_SET_DITHER_CONTROL_PHASE 8:7
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER(a) (0x00000494 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS 2:0
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS_TAPS_1 (0x00000000)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS_TAPS_2 (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS_TAPS_3 (0x00000002)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS_TAPS_3_ADAPTIVE (0x00000003)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS_TAPS_5 (0x00000004)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_HORIZONTAL_TAPS 4:3
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_HORIZONTAL_TAPS_TAPS_1 (0x00000000)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_HORIZONTAL_TAPS_TAPS_2 (0x00000001)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_HORIZONTAL_TAPS_TAPS_8 (0x00000002)
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_HRESPONSE_BIAS 23:16
|
||||
#define NV907D_HEAD_SET_CONTROL_OUTPUT_SCALER_VRESPONSE_BIAS 31:24
|
||||
#define NV907D_HEAD_SET_PROCAMP(a) (0x00000498 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_PROCAMP_COLOR_SPACE 1:0
|
||||
#define NV907D_HEAD_SET_PROCAMP_COLOR_SPACE_RGB (0x00000000)
|
||||
#define NV907D_HEAD_SET_PROCAMP_COLOR_SPACE_YUV_601 (0x00000001)
|
||||
#define NV907D_HEAD_SET_PROCAMP_COLOR_SPACE_YUV_709 (0x00000002)
|
||||
#define NV907D_HEAD_SET_PROCAMP_CHROMA_LPF 2:2
|
||||
#define NV907D_HEAD_SET_PROCAMP_CHROMA_LPF_AUTO (0x00000000)
|
||||
#define NV907D_HEAD_SET_PROCAMP_CHROMA_LPF_ON (0x00000001)
|
||||
#define NV907D_HEAD_SET_PROCAMP_SAT_COS 19:8
|
||||
#define NV907D_HEAD_SET_PROCAMP_SAT_SINE 31:20
|
||||
#define NV907D_HEAD_SET_PROCAMP_DYNAMIC_RANGE 5:5
|
||||
#define NV907D_HEAD_SET_PROCAMP_DYNAMIC_RANGE_VESA (0x00000000)
|
||||
#define NV907D_HEAD_SET_PROCAMP_DYNAMIC_RANGE_CEA (0x00000001)
|
||||
#define NV907D_HEAD_SET_PROCAMP_RANGE_COMPRESSION 6:6
|
||||
#define NV907D_HEAD_SET_PROCAMP_RANGE_COMPRESSION_DISABLE (0x00000000)
|
||||
#define NV907D_HEAD_SET_PROCAMP_RANGE_COMPRESSION_ENABLE (0x00000001)
|
||||
#define NV907D_HEAD_SET_VIEWPORT_POINT_IN(a) (0x000004B0 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_VIEWPORT_POINT_IN_X 14:0
|
||||
#define NV907D_HEAD_SET_VIEWPORT_POINT_IN_Y 30:16
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_IN(a) (0x000004B8 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_IN_WIDTH 14:0
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_IN_HEIGHT 30:16
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_OUT(a) (0x000004C0 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_OUT_WIDTH 14:0
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_OUT_HEIGHT 30:16
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_OUT_MIN(a) (0x000004C4 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_OUT_MIN_WIDTH 14:0
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_OUT_MIN_HEIGHT 30:16
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_OUT_MAX(a) (0x000004C8 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_OUT_MAX_WIDTH 14:0
|
||||
#define NV907D_HEAD_SET_VIEWPORT_SIZE_OUT_MAX_HEIGHT 30:16
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS(a) (0x000004D0 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE 0:0
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE_FALSE (0x00000000)
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE_TRUE (0x00000001)
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH 11:8
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_8 (0x00000000)
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_16 (0x00000001)
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_32 (0x00000003)
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_64 (0x00000005)
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE 13:12
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE_X1_AA (0x00000000)
|
||||
#define NV907D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE_X4_AA (0x00000002)
|
||||
#define NV907D_HEAD_SET_OVERLAY_USAGE_BOUNDS(a) (0x000004D4 + (a)*0x00000300)
|
||||
#define NV907D_HEAD_SET_OVERLAY_USAGE_BOUNDS_USABLE 0:0
|
||||
#define NV907D_HEAD_SET_OVERLAY_USAGE_BOUNDS_USABLE_FALSE (0x00000000)
|
||||
#define NV907D_HEAD_SET_OVERLAY_USAGE_BOUNDS_USABLE_TRUE (0x00000001)
|
||||
#define NV907D_HEAD_SET_OVERLAY_USAGE_BOUNDS_PIXEL_DEPTH 11:8
|
||||
#define NV907D_HEAD_SET_OVERLAY_USAGE_BOUNDS_PIXEL_DEPTH_BPP_16 (0x00000001)
|
||||
#define NV907D_HEAD_SET_OVERLAY_USAGE_BOUNDS_PIXEL_DEPTH_BPP_32 (0x00000003)
|
||||
#define NV907D_HEAD_SET_OVERLAY_USAGE_BOUNDS_PIXEL_DEPTH_BPP_64 (0x00000005)
|
||||
#endif // _cl907d_h
|
104
drivers/gpu/drm/nouveau/include/nvhw/class/cl917d.h
Normal file
104
drivers/gpu/drm/nouveau/include/nvhw/class/cl917d.h
Normal file
@ -0,0 +1,104 @@
|
||||
/*
|
||||
* Copyright (c) 1993-2014, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _cl917d_h_
|
||||
#define _cl917d_h_
|
||||
|
||||
// class methods
|
||||
#define NV917D_SOR_SET_CONTROL(a) (0x00000200 + (a)*0x00000020)
|
||||
#define NV917D_SOR_SET_CONTROL_OWNER_MASK 3:0
|
||||
#define NV917D_SOR_SET_CONTROL_OWNER_MASK_NONE (0x00000000)
|
||||
#define NV917D_SOR_SET_CONTROL_OWNER_MASK_HEAD0 (0x00000001)
|
||||
#define NV917D_SOR_SET_CONTROL_OWNER_MASK_HEAD1 (0x00000002)
|
||||
#define NV917D_SOR_SET_CONTROL_OWNER_MASK_HEAD2 (0x00000004)
|
||||
#define NV917D_SOR_SET_CONTROL_OWNER_MASK_HEAD3 (0x00000008)
|
||||
#define NV917D_SOR_SET_CONTROL_PROTOCOL 11:8
|
||||
#define NV917D_SOR_SET_CONTROL_PROTOCOL_LVDS_CUSTOM (0x00000000)
|
||||
#define NV917D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_A (0x00000001)
|
||||
#define NV917D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_B (0x00000002)
|
||||
#define NV917D_SOR_SET_CONTROL_PROTOCOL_DUAL_TMDS (0x00000005)
|
||||
#define NV917D_SOR_SET_CONTROL_PROTOCOL_DP_A (0x00000008)
|
||||
#define NV917D_SOR_SET_CONTROL_PROTOCOL_DP_B (0x00000009)
|
||||
#define NV917D_SOR_SET_CONTROL_PROTOCOL_CUSTOM (0x0000000F)
|
||||
#define NV917D_SOR_SET_CONTROL_DE_SYNC_POLARITY 14:14
|
||||
#define NV917D_SOR_SET_CONTROL_DE_SYNC_POLARITY_POSITIVE_TRUE (0x00000000)
|
||||
#define NV917D_SOR_SET_CONTROL_DE_SYNC_POLARITY_NEGATIVE_TRUE (0x00000001)
|
||||
#define NV917D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE 21:20
|
||||
#define NV917D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_OFF (0x00000000)
|
||||
#define NV917D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_X2 (0x00000001)
|
||||
#define NV917D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_X4 (0x00000002)
|
||||
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR(a) (0x00000480 + (a)*0x00000300)
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_ENABLE 31:31
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_ENABLE_DISABLE (0x00000000)
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_ENABLE_ENABLE (0x00000001)
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_FORMAT 25:24
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_FORMAT_A1R5G5B5 (0x00000000)
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_FORMAT_A8R8G8B8 (0x00000001)
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_SIZE 27:26
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_SIZE_W32_H32 (0x00000000)
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_SIZE_W64_H64 (0x00000001)
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_SIZE_W128_H128 (0x00000002)
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_SIZE_W256_H256 (0x00000003)
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_HOT_SPOT_X 15:8
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_HOT_SPOT_Y 23:16
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_COMPOSITION 29:28
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_ALPHA_BLEND (0x00000000)
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_PREMULT_ALPHA_BLEND (0x00000001)
|
||||
#define NV917D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_XOR (0x00000002)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL(a) (0x000004A0 + (a)*0x00000300)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_ENABLE 0:0
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_ENABLE_DISABLE (0x00000000)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_ENABLE_ENABLE (0x00000001)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_BITS 2:1
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_BITS_DITHER_TO_6_BITS (0x00000000)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_BITS_DITHER_TO_8_BITS (0x00000001)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_BITS_DITHER_TO_10_BITS (0x00000002)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_MODE 6:3
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_MODE_DYNAMIC_ERR_ACC (0x00000000)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_MODE_STATIC_ERR_ACC (0x00000001)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_MODE_DYNAMIC_2X2 (0x00000002)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_MODE_STATIC_2X2 (0x00000003)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_MODE_TEMPORAL (0x00000004)
|
||||
#define NV917D_HEAD_SET_DITHER_CONTROL_PHASE 8:7
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS(a) (0x000004D0 + (a)*0x00000300)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE 0:0
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE_FALSE (0x00000000)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE_TRUE (0x00000001)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH 11:8
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_8 (0x00000000)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_16 (0x00000001)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_32 (0x00000003)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_64 (0x00000005)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE 13:12
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE_X1_AA (0x00000000)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE_X4_AA (0x00000002)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_BASE_LUT 17:16
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_BASE_LUT_USAGE_NONE (0x00000000)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_BASE_LUT_USAGE_257 (0x00000001)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_BASE_LUT_USAGE_1025 (0x00000002)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_OUTPUT_LUT 21:20
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_OUTPUT_LUT_USAGE_NONE (0x00000000)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_OUTPUT_LUT_USAGE_257 (0x00000001)
|
||||
#define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_OUTPUT_LUT_USAGE_1025 (0x00000002)
|
||||
#endif // _cl917d_h
|
Loading…
Reference in New Issue
Block a user