aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nv04_crtc.c
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2010-08-26 17:07:02 -0400
committerBen Skeggs <bskeggs@redhat.com>2010-09-24 02:17:59 -0400
commit4295f188e8297660b498e021caee430a40558d8b (patch)
tree9cec49772202a50ed168c0215a48f6b22f79fc16 /drivers/gpu/drm/nouveau/nv04_crtc.c
parent316f60a120a8f1dacb574f705d5faf7eac3e6e2a (diff)
drm/nv20: Use the nv30 CRTC bandwidth calculation code.
nv2x CRTC FIFOs are as large as in nv3x (4kB it seems), and the FIFO control registers have the same layout: we can make them share the same implementation. Previously we were using the nv1x code, but the calculated FIFO watermarks are usually too low for nv2x and they cause horrible scanout artifacts. They've gone unnoticed until now because we've been leaving one of the bandwidth regs uninitialized (CRE 47, which contains the most significant bits of FFLWM), so everything seemed to work fine except in some cases after a cold boot, depending on the memory bandwidth and pixel clocks used. Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv04_crtc.c')
-rw-r--r--drivers/gpu/drm/nouveau/nv04_crtc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nv04_crtc.c b/drivers/gpu/drm/nouveau/nv04_crtc.c
index 497df8765f2..932c914743f 100644
--- a/drivers/gpu/drm/nouveau/nv04_crtc.c
+++ b/drivers/gpu/drm/nouveau/nv04_crtc.c
@@ -826,7 +826,7 @@ nv04_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
826 crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_FF_INDEX); 826 crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_FF_INDEX);
827 crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_FFLWM__INDEX); 827 crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_FFLWM__INDEX);
828 828
829 if (dev_priv->card_type >= NV_30) { 829 if (dev_priv->card_type >= NV_20) {
830 regp->CRTC[NV_CIO_CRE_47] = arb_lwm >> 8; 830 regp->CRTC[NV_CIO_CRE_47] = arb_lwm >> 8;
831 crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_47); 831 crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_47);
832 } 832 }