diff options
| author | Ben Skeggs <bskeggs@redhat.com> | 2011-07-05 20:29:49 -0400 |
|---|---|---|
| committer | Ben Skeggs <bskeggs@redhat.com> | 2011-09-20 02:06:37 -0400 |
| commit | 1d6e7a59f70b3107a75672f365be2fec2ee43a36 (patch) | |
| tree | 27d85b62d4b3103513792a28f08a583d39e80340 | |
| parent | 2fad3d5e2bc8776a2963399a936db13814107646 (diff) | |
drm/nvd0/disp: some magic to make evo happeir
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| -rw-r--r-- | drivers/gpu/drm/nouveau/nvd0_display.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvd0_display.c b/drivers/gpu/drm/nouveau/nvd0_display.c index cf294886a696..0afc5e1ad845 100644 --- a/drivers/gpu/drm/nouveau/nvd0_display.c +++ b/drivers/gpu/drm/nouveau/nvd0_display.c | |||
| @@ -850,6 +850,18 @@ nvd0_display_init(struct drm_device *dev) | |||
| 850 | u32 *push; | 850 | u32 *push; |
| 851 | int i; | 851 | int i; |
| 852 | 852 | ||
| 853 | /*XXX: wrong, and wtf is it for? */ | ||
| 854 | for (i = 0; i < 3; i++) { | ||
| 855 | u32 dac = nv_rd32(dev, 0x61a000 + (i * 0x800)); | ||
| 856 | nv_wr32(dev, 0x6101c0 + (i * 0x800), dac); | ||
| 857 | } | ||
| 858 | |||
| 859 | /*XXX: wrong, and wtf is it for? SOR_MODE_CTRL is an error without.. */ | ||
| 860 | for (i = 0; i < 4; i++) { | ||
| 861 | u32 sor = nv_rd32(dev, 0x61c000 + (i * 0x800)); | ||
| 862 | nv_wr32(dev, 0x6301c4 + (i * 0x800), sor); | ||
| 863 | } | ||
| 864 | |||
| 853 | if (nv_rd32(dev, 0x6100ac) & 0x00000100) { | 865 | if (nv_rd32(dev, 0x6100ac) & 0x00000100) { |
| 854 | nv_wr32(dev, 0x6100ac, 0x00000100); | 866 | nv_wr32(dev, 0x6100ac, 0x00000100); |
| 855 | nv_mask(dev, 0x6194e8, 0x00000001, 0x00000000); | 867 | nv_mask(dev, 0x6194e8, 0x00000001, 0x00000000); |
