summaryrefslogtreecommitdiff
path: root/src/i810_reg.h
diff options
context:
space:
mode:
authorEric Anholt <anholt@FreeBSD.org>2006-06-21 16:04:18 -0700
committerEric Anholt <anholt@FreeBSD.org>2006-06-21 16:04:18 -0700
commit72e25a7488c2eabcc92e9e0769a89dee687f52fd (patch)
tree22760ad7296a6c537e75731388472320f6fa749e /src/i810_reg.h
parent726443309d72134341cff1f6db978aa1d6e3ce52 (diff)
Fix SDVO output at low pixel clocks.
I had interpreted the docs as saying that the multiplier setting would further divide the clock and stuff dummy bytes in. Instead, we have to set the DPLL at the higher clock rate, and the pixel multiplier just controls the stuffing of dummy bytes. Also, we have to set the multiplier both in the graphics chip and on the SDVO device on the other side.
Diffstat (limited to 'src/i810_reg.h')
-rw-r--r--src/i810_reg.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/i810_reg.h b/src/i810_reg.h
index b95f795b..e8462f9d 100644
--- a/src/i810_reg.h
+++ b/src/i810_reg.h
@@ -726,7 +726,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# define PLLB_REF_INPUT_SPREADSPECTRUMIN (3 << 13)
# define DISPLAY_RATE_SELECT_FPA1 (1 << 8)
# define SDVO_MULTIPLIER_MASK 0x000000ff
-# define SDVO_DEFAULT_MULTIPLIER 0x00000003
+# define SDVO_MULTIPLIER_SHIFT_HIRES 4
+# define SDVO_MULTIPLIER_SHIFT_VGA 0
#define BLC_PWM_CTL 0x61254
#define BACKLIGHT_MODULATION_FREQ_SHIFT (17)
@@ -769,6 +770,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define SDVO_INTERRUPT_ENABLE (1 << 26)
/* Programmed value is multiplier - 1, up to 5x. alv, gdg only */
#define SDVO_PORT_MULTIPLY_MASK (7 << 23)
+#define SDVO_PORT_MULTIPLY_SHIFT 23
#define SDVO_PHASE_SELECT_MASK (15 << 19)
#define SDVO_PHASE_SELECT_DEFAULT (6 << 19)
#define SDVO_CLOCK_OUTPUT_INVERT (1 << 18)