summaryrefslogtreecommitdiff
path: root/src/i830_tv.c
diff options
context:
space:
mode:
authorZhenyu Wang <zhenyu.z.wang@intel.com>2008-11-11 09:36:50 +0800
committerZhenyu Wang <zhenyu.z.wang@intel.com>2008-11-11 09:36:50 +0800
commit65cd0fbb018b2c18f1571dc0924c7d92eaf794ad (patch)
tree5516583559f1b1df52a77d6a1cb3d2e9fb565438 /src/i830_tv.c
parenta5b1e62337d4e8840347bb186db48697f0690a19 (diff)
TV: fix contrast and saturation for 915/945G
915/945G uses exponent-mantissa format instead of fixed-point format on 965G.
Diffstat (limited to 'src/i830_tv.c')
-rw-r--r--src/i830_tv.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/i830_tv.c b/src/i830_tv.c
index 5c6a0310..09a46e95 100644
--- a/src/i830_tv.c
+++ b/src/i830_tv.c
@@ -1180,9 +1180,14 @@ i830_tv_mode_set(xf86OutputPtr output, DisplayModePtr mode,
(i830_float_to_csc(color_conversion->bv) << 16) |
(i830_float_to_luma(color_conversion->av)));
- /* 2.6 fixed point value for contrast and saturation modifier,
- use 1 as default */
- OUTREG(TV_CLR_KNOBS, 0x00404000);
+ if (IS_I965G(pI830)) {
+ /* 2.6 fixed point value for contrast and saturation modifier,
+ use 1 as default */
+ OUTREG(TV_CLR_KNOBS, 0x00404000);
+ } else {
+ /* 915/945 uses 2 bits exponent and 6 bits mantissa format */
+ OUTREG(TV_CLR_KNOBS, 0x00606000);
+ }
OUTREG(TV_CLR_LEVEL, ((video_levels->black << TV_BLACK_LEVEL_SHIFT) |
(video_levels->blank << TV_BLANK_LEVEL_SHIFT)));
{