Rev 1321 | Rev 1428 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1321 | Rev 1404 | ||
---|---|---|---|
Line 631... | Line 631... | ||
631 | if (pt->misc & DRM_EDID_PT_STEREO) { |
631 | if (pt->misc & DRM_EDID_PT_STEREO) { |
632 | printk(KERN_WARNING "stereo mode not supported\n"); |
632 | printk(KERN_WARNING "stereo mode not supported\n"); |
633 | return NULL; |
633 | return NULL; |
634 | } |
634 | } |
635 | if (!(pt->misc & DRM_EDID_PT_SEPARATE_SYNC)) { |
635 | if (!(pt->misc & DRM_EDID_PT_SEPARATE_SYNC)) { |
636 | printk(KERN_WARNING "integrated sync not supported\n"); |
636 | printk(KERN_WARNING "composite sync not supported\n"); |
637 | return NULL; |
- | |
638 | } |
637 | } |
Line 639... | Line 638... | ||
639 | 638 | ||
640 | /* it is incorrect if hsync/vsync width is zero */ |
639 | /* it is incorrect if hsync/vsync width is zero */ |
641 | if (!hsync_pulse_width || !vsync_pulse_width) { |
640 | if (!hsync_pulse_width || !vsync_pulse_width) { |
Line 909... | Line 908... | ||
909 | int i, j, modes = 0; |
908 | int i, j, modes = 0; |
910 | struct drm_display_mode *newmode; |
909 | struct drm_display_mode *newmode; |
911 | struct drm_device *dev = connector->dev; |
910 | struct drm_device *dev = connector->dev; |
912 | struct cvt_timing *cvt; |
911 | struct cvt_timing *cvt; |
913 | const int rates[] = { 60, 85, 75, 60, 50 }; |
912 | const int rates[] = { 60, 85, 75, 60, 50 }; |
- | 913 | const u8 empty[3] = { 0, 0, 0 }; |
|
Line 914... | Line 914... | ||
914 | 914 | ||
915 | for (i = 0; i < 4; i++) { |
915 | for (i = 0; i < 4; i++) { |
916 | int width, height; |
916 | int uninitialized_var(width), height; |
Line -... | Line 917... | ||
- | 917 | cvt = &(timing->data.other_data.data.cvt[i]); |
|
- | 918 | ||
- | 919 | if (!memcmp(cvt->code, empty, 3)) |
|
917 | cvt = &(timing->data.other_data.data.cvt[i]); |
920 | continue; |
918 | 921 | ||
919 | height = (cvt->code[0] + ((cvt->code[1] & 0xf0) << 8) + 1) * 2; |
922 | height = (cvt->code[0] + ((cvt->code[1] & 0xf0) << 4) + 1) * 2; |
920 | switch (cvt->code[1] & 0xc0) { |
923 | switch (cvt->code[1] & 0x0c) { |
921 | case 0x00: |
924 | case 0x00: |
922 | width = height * 4 / 3; |
925 | width = height * 4 / 3; |
923 | break; |
926 | break; |
924 | case 0x40: |
927 | case 0x04: |
925 | width = height * 16 / 9; |
928 | width = height * 16 / 9; |
926 | break; |
929 | break; |
927 | case 0x80: |
930 | case 0x08: |
928 | width = height * 16 / 10; |
931 | width = height * 16 / 10; |
929 | break; |
932 | break; |
930 | case 0xc0: |
933 | case 0x0c: |
931 | width = height * 15 / 9; |
934 | width = height * 15 / 9; |
Line 932... | Line 935... | ||
932 | break; |
935 | break; |