Mercurial > mplayer.hg
changeset 22880:8b0cfdc71759
GeForce 6x00 and above are actually referenced as NV40 in X.Org driver (though it doesn't work better right now)
author | ben |
---|---|
date | Sun, 01 Apr 2007 20:48:34 +0000 |
parents | 910cdc3f2afb |
children | 2d01760be338 |
files | vidix/nvidia_vid.c |
diffstat | 1 files changed, 96 insertions(+), 89 deletions(-) [+] |
line wrap: on
line diff
--- a/vidix/nvidia_vid.c Sun Apr 01 20:03:24 2007 +0000 +++ b/vidix/nvidia_vid.c Sun Apr 01 20:48:34 2007 +0000 @@ -57,6 +57,7 @@ #define NV_ARCH_10 0x10 #define NV_ARCH_20 0x20 #define NV_ARCH_30 0x30 +#define NV_ARCH_40 0x40 // since no useful information whatsoever is passed // to the equalizer functions we need this @@ -218,93 +219,93 @@ {DEVICE_NVIDIA_NV37GL_QUADRO_FX,NV_ARCH_30}, {DEVICE_NVIDIA_NV37GL_QUADRO_FX2,NV_ARCH_30}, {DEVICE_NVIDIA_NV38GL_QUADRO_FX,NV_ARCH_30}, - /* FIXME are they different? */ - {DEVICE_NVIDIA_NV40_GEFORCE_6800,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_68002,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_2_GEFORCE_6800,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_3,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_68003,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_68004,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_68005,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_68006,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_68007,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_68008,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_68009,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_680010,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_680011,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_680012,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_68008,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40GL,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40GL_QUADRO_FX,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40GL_QUADRO_FX2,NV_ARCH_30}, - {DEVICE_NVIDIA_NV41_GEFORCE_6800,NV_ARCH_30}, - {DEVICE_NVIDIA_NV41_1_GEFORCE_6800,NV_ARCH_30}, - {DEVICE_NVIDIA_NV41_2_GEFORCE_6800,NV_ARCH_30}, - {DEVICE_NVIDIA_NV41_8_GEFORCE_GO,NV_ARCH_30}, - {DEVICE_NVIDIA_NV41_9_GEFORCE_GO,NV_ARCH_30}, - {DEVICE_NVIDIA_NV41_QUADRO_FX,NV_ARCH_30}, - {DEVICE_NVIDIA_NV41_QUADRO_FX2,NV_ARCH_30}, - {DEVICE_NVIDIA_NV41GL_QUADRO_FX,NV_ARCH_30}, - {DEVICE_NVIDIA_NV41GL_QUADRO_FX,NV_ARCH_30}, - {DEVICE_NVIDIA_NV40_GEFORCE_6800_GEFORCE,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_6600_GEFORCE,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_6600_GEFORCE2,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_6200,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_62002,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_6600,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_66002,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_66003,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_66004,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_66005,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_GO,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_GO2,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_GO3,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_GO4,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_GO5,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_GO6,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43_GEFORCE_6610,NV_ARCH_30}, - {DEVICE_NVIDIA_NV43GL_QUADRO_FX,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_6100_NFORCE,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_6100_NFORCE2,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_6100_NFORCE3,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_6100_NFORCE4,NV_ARCH_30}, - {DEVICE_NVIDIA_C51G_GEFORCE_6100,NV_ARCH_30}, - {DEVICE_NVIDIA_C51PV_GEFORCE_6150,NV_ARCH_30}, - {DEVICE_NVIDIA_NV44_GEFORCE_6200,NV_ARCH_30}, - {DEVICE_NVIDIA_NV44_GEFORCE_62002,NV_ARCH_30}, - {DEVICE_NVIDIA_NV44_GEFORCE_62003,NV_ARCH_30}, - {DEVICE_NVIDIA_NV44_GEFORCE_GO,NV_ARCH_30}, - {DEVICE_NVIDIA_NV44_QUADRO_NVS,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_GO_6200,NV_ARCH_30}, - {DEVICE_NVIDIA_NV44A_GEFORCE_6200,NV_ARCH_30}, - {DEVICE_NVIDIA_NV45GL_QUADRO_FX,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_GO_7200,NV_ARCH_30}, - {DEVICE_NVIDIA_QUADRO_NVS_110M,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_GO_7400,NV_ARCH_30}, - {DEVICE_NVIDIA_QUADRO_NVS_110M2,NV_ARCH_30}, - {DEVICE_NVIDIA_QUADRO_FX_350,NV_ARCH_30}, - {DEVICE_NVIDIA_G70_GEFORCE_7300,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_7300_GS,NV_ARCH_30}, - {DEVICE_NVIDIA_G70_GEFORCE_7600,NV_ARCH_30}, - {DEVICE_NVIDIA_G70_GEFORCE_76002,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_7600_GS,NV_ARCH_30}, - {DEVICE_NVIDIA_G70_GEFORCE_GO,NV_ARCH_30}, - {DEVICE_NVIDIA_QUADRO_FX_560,NV_ARCH_30}, - {DEVICE_NVIDIA_G70_GEFORCE_7800,NV_ARCH_30}, - {DEVICE_NVIDIA_G70_GEFORCE_78002,NV_ARCH_30}, - {DEVICE_NVIDIA_G70_GEFORCE_78003,NV_ARCH_30}, - {DEVICE_NVIDIA_G70_GEFORCE_78004,NV_ARCH_30}, - {DEVICE_NVIDIA_G70_GEFORCE_78005,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_GO_7800,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_7900_GTX,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_7900_GT,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_7900_GS,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_GO_7900,NV_ARCH_30}, - {DEVICE_NVIDIA_GEFORCE_GO_79002,NV_ARCH_30}, - {DEVICE_NVIDIA_GE_FORCE_GO,NV_ARCH_30}, - {DEVICE_NVIDIA_G70GL_QUADRO_FX4500,NV_ARCH_30}, - {DEVICE_NVIDIA_G71_QUADRO_FX,NV_ARCH_30}, - {DEVICE_NVIDIA_G71_QUADRO_FX2,NV_ARCH_30} + /* NV40: GeForce 6x00 to 7x00 */ + {DEVICE_NVIDIA_NV40_GEFORCE_6800,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_68002,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_2_GEFORCE_6800,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_3,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_68003,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_68004,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_68005,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_68006,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_68007,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_68008,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_68009,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_680010,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_680011,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_680012,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_68008,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40GL,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40GL_QUADRO_FX,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40GL_QUADRO_FX2,NV_ARCH_40}, + {DEVICE_NVIDIA_NV41_GEFORCE_6800,NV_ARCH_40}, + {DEVICE_NVIDIA_NV41_1_GEFORCE_6800,NV_ARCH_40}, + {DEVICE_NVIDIA_NV41_2_GEFORCE_6800,NV_ARCH_40}, + {DEVICE_NVIDIA_NV41_8_GEFORCE_GO,NV_ARCH_40}, + {DEVICE_NVIDIA_NV41_9_GEFORCE_GO,NV_ARCH_40}, + {DEVICE_NVIDIA_NV41_QUADRO_FX,NV_ARCH_40}, + {DEVICE_NVIDIA_NV41_QUADRO_FX2,NV_ARCH_40}, + {DEVICE_NVIDIA_NV41GL_QUADRO_FX,NV_ARCH_40}, + {DEVICE_NVIDIA_NV41GL_QUADRO_FX,NV_ARCH_40}, + {DEVICE_NVIDIA_NV40_GEFORCE_6800_GEFORCE,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_6600_GEFORCE,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_6600_GEFORCE2,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_6200,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_62002,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_6600,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_66002,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_66003,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_66004,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_66005,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_GO,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_GO2,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_GO3,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_GO4,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_GO5,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_GO6,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43_GEFORCE_6610,NV_ARCH_40}, + {DEVICE_NVIDIA_NV43GL_QUADRO_FX,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_6100_NFORCE,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_6100_NFORCE2,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_6100_NFORCE3,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_6100_NFORCE4,NV_ARCH_40}, + {DEVICE_NVIDIA_C51G_GEFORCE_6100,NV_ARCH_40}, + {DEVICE_NVIDIA_C51PV_GEFORCE_6150,NV_ARCH_40}, + {DEVICE_NVIDIA_NV44_GEFORCE_6200,NV_ARCH_40}, + {DEVICE_NVIDIA_NV44_GEFORCE_62002,NV_ARCH_40}, + {DEVICE_NVIDIA_NV44_GEFORCE_62003,NV_ARCH_40}, + {DEVICE_NVIDIA_NV44_GEFORCE_GO,NV_ARCH_40}, + {DEVICE_NVIDIA_NV44_QUADRO_NVS,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_GO_6200,NV_ARCH_40}, + {DEVICE_NVIDIA_NV44A_GEFORCE_6200,NV_ARCH_40}, + {DEVICE_NVIDIA_NV45GL_QUADRO_FX,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_GO_7200,NV_ARCH_40}, + {DEVICE_NVIDIA_QUADRO_NVS_110M,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_GO_7400,NV_ARCH_40}, + {DEVICE_NVIDIA_QUADRO_NVS_110M2,NV_ARCH_40}, + {DEVICE_NVIDIA_QUADRO_FX_350,NV_ARCH_40}, + {DEVICE_NVIDIA_G70_GEFORCE_7300,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_7300_GS,NV_ARCH_40}, + {DEVICE_NVIDIA_G70_GEFORCE_7600,NV_ARCH_40}, + {DEVICE_NVIDIA_G70_GEFORCE_76002,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_7600_GS,NV_ARCH_40}, + {DEVICE_NVIDIA_G70_GEFORCE_GO,NV_ARCH_40}, + {DEVICE_NVIDIA_QUADRO_FX_560,NV_ARCH_40}, + {DEVICE_NVIDIA_G70_GEFORCE_7800,NV_ARCH_40}, + {DEVICE_NVIDIA_G70_GEFORCE_78002,NV_ARCH_40}, + {DEVICE_NVIDIA_G70_GEFORCE_78003,NV_ARCH_40}, + {DEVICE_NVIDIA_G70_GEFORCE_78004,NV_ARCH_40}, + {DEVICE_NVIDIA_G70_GEFORCE_78005,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_GO_7800,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_7900_GTX,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_7900_GT,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_7900_GS,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_GO_7900,NV_ARCH_40}, + {DEVICE_NVIDIA_GEFORCE_GO_79002,NV_ARCH_40}, + {DEVICE_NVIDIA_GE_FORCE_GO,NV_ARCH_40}, + {DEVICE_NVIDIA_G70GL_QUADRO_FX4500,NV_ARCH_40}, + {DEVICE_NVIDIA_G71_QUADRO_FX,NV_ARCH_40}, + {DEVICE_NVIDIA_G71_QUADRO_FX2,NV_ARCH_40} }; @@ -524,6 +525,7 @@ case NV_ARCH_10: case NV_ARCH_20: case NV_ARCH_30: + case NV_ARCH_40: /* NV_PVIDEO_COLOR_KEY */ info->colorkey = VID_RD32 (info->chip.PVIDEO, 0xB00); break; @@ -545,7 +547,8 @@ switch (info->chip.arch ) { case NV_ARCH_10: case NV_ARCH_20: - case NV_ARCH_30: + case NV_ARCH_30: + case NV_ARCH_40: /* NV_PVIDEO_COLOR_KEY */ /* Xv-Extension-Hack: Restore previously saved value. */ VID_WR32 (info->chip.PVIDEO, 0xB00, info->colorkey); @@ -624,6 +627,7 @@ case NV_ARCH_10: case NV_ARCH_20: case NV_ARCH_30: + case NV_ARCH_40: VID_WR32 (info->chip.PVIDEO, 0xB00, key); break; case NV_ARCH_03: @@ -716,6 +720,7 @@ case NV_ARCH_10: case NV_ARCH_20: case NV_ARCH_30: + case NV_ARCH_40: /* NV_PVIDEO_BASE */ VID_WR32 (info->chip.PVIDEO, 0x900 + 0, base + offset); @@ -725,7 +730,7 @@ //VID_WR32 (info->chip.PVIDEO, 0x908 + 4, base + size - 1); /* extra code for NV20 && NV30 architectures */ - if (info->chip.arch == NV_ARCH_20 || info->chip.arch == NV_ARCH_30) { + if (info->chip.arch == NV_ARCH_20 || info->chip.arch == NV_ARCH_30 || info->chip.arch == NV_ARCH_40) { VID_WR32 (info->chip.PVIDEO, 0x800 + 0, base + offset); //VID_WR32 (info->chip.PVIDEO, 0x800 + 4, base); VID_WR32 (info->chip.PVIDEO, 0x808 + 0, base + offset + size - 1); @@ -886,6 +891,7 @@ case NV_ARCH_10: case NV_ARCH_20: case NV_ARCH_30: + case NV_ARCH_40: info->chip.lock = rivatv_lock_nv04; info->chip.fbsize = rivatv_fbsize_nv10 (&info->chip); info->chip.PRAMIN = (uint32_t *) (info->control_base + 0x00700000); @@ -907,6 +913,7 @@ case NV_ARCH_10: case NV_ARCH_20: case NV_ARCH_30: + case NV_ARCH_40: { info->video_base = map_phys_mem(pci_info.base1, info->chip.fbsize); info->picture_offset = info->chip.fbsize - NV04_BES_SIZE;