|
@@ -35,11 +35,11 @@ struct est_timings {
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
|
|
/* 00=16:10, 01=4:3, 10=5:4, 11=16:9 */
|
|
/* 00=16:10, 01=4:3, 10=5:4, 11=16:9 */
|
|
-#define EDID_TIMING_ASPECT_SHIFT 0
|
|
|
|
|
|
+#define EDID_TIMING_ASPECT_SHIFT 6
|
|
#define EDID_TIMING_ASPECT_MASK (0x3 << EDID_TIMING_ASPECT_SHIFT)
|
|
#define EDID_TIMING_ASPECT_MASK (0x3 << EDID_TIMING_ASPECT_SHIFT)
|
|
|
|
|
|
/* need to add 60 */
|
|
/* need to add 60 */
|
|
-#define EDID_TIMING_VFREQ_SHIFT 2
|
|
|
|
|
|
+#define EDID_TIMING_VFREQ_SHIFT 0
|
|
#define EDID_TIMING_VFREQ_MASK (0x3f << EDID_TIMING_VFREQ_SHIFT)
|
|
#define EDID_TIMING_VFREQ_MASK (0x3f << EDID_TIMING_VFREQ_SHIFT)
|
|
|
|
|
|
struct std_timing {
|
|
struct std_timing {
|
|
@@ -47,11 +47,11 @@ struct std_timing {
|
|
u8 vfreq_aspect;
|
|
u8 vfreq_aspect;
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
|
|
-#define DRM_EDID_PT_HSYNC_POSITIVE (1 << 6)
|
|
|
|
-#define DRM_EDID_PT_VSYNC_POSITIVE (1 << 5)
|
|
|
|
|
|
+#define DRM_EDID_PT_HSYNC_POSITIVE (1 << 1)
|
|
|
|
+#define DRM_EDID_PT_VSYNC_POSITIVE (1 << 2)
|
|
#define DRM_EDID_PT_SEPARATE_SYNC (3 << 3)
|
|
#define DRM_EDID_PT_SEPARATE_SYNC (3 << 3)
|
|
-#define DRM_EDID_PT_STEREO (1 << 2)
|
|
|
|
-#define DRM_EDID_PT_INTERLACED (1 << 1)
|
|
|
|
|
|
+#define DRM_EDID_PT_STEREO (1 << 5)
|
|
|
|
+#define DRM_EDID_PT_INTERLACED (1 << 7)
|
|
|
|
|
|
/* If detailed data is pixel timing */
|
|
/* If detailed data is pixel timing */
|
|
struct detailed_pixel_timing {
|
|
struct detailed_pixel_timing {
|
|
@@ -93,7 +93,7 @@ struct detailed_data_monitor_range {
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
|
|
struct detailed_data_wpindex {
|
|
struct detailed_data_wpindex {
|
|
- u8 white_xy_lo; /* Upper 2 bits each */
|
|
|
|
|
|
+ u8 white_yx_lo; /* Lower 2 bits each */
|
|
u8 white_x_hi;
|
|
u8 white_x_hi;
|
|
u8 white_y_hi;
|
|
u8 white_y_hi;
|
|
u8 gamma; /* need to divide by 100 then add 1 */
|
|
u8 gamma; /* need to divide by 100 then add 1 */
|
|
@@ -135,21 +135,21 @@ struct detailed_timing {
|
|
} data;
|
|
} data;
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
|
|
-#define DRM_EDID_INPUT_SERRATION_VSYNC (1 << 7)
|
|
|
|
-#define DRM_EDID_INPUT_SYNC_ON_GREEN (1 << 5)
|
|
|
|
-#define DRM_EDID_INPUT_COMPOSITE_SYNC (1 << 4)
|
|
|
|
|
|
+#define DRM_EDID_INPUT_SERRATION_VSYNC (1 << 0)
|
|
|
|
+#define DRM_EDID_INPUT_SYNC_ON_GREEN (1 << 1)
|
|
|
|
+#define DRM_EDID_INPUT_COMPOSITE_SYNC (1 << 2)
|
|
#define DRM_EDID_INPUT_SEPARATE_SYNCS (1 << 3)
|
|
#define DRM_EDID_INPUT_SEPARATE_SYNCS (1 << 3)
|
|
-#define DRM_EDID_INPUT_BLANK_TO_BLACK (1 << 2)
|
|
|
|
-#define DRM_EDID_INPUT_VIDEO_LEVEL (3 << 1)
|
|
|
|
-#define DRM_EDID_INPUT_DIGITAL (1 << 0) /* bits above must be zero if set */
|
|
|
|
|
|
+#define DRM_EDID_INPUT_BLANK_TO_BLACK (1 << 4)
|
|
|
|
+#define DRM_EDID_INPUT_VIDEO_LEVEL (3 << 5)
|
|
|
|
+#define DRM_EDID_INPUT_DIGITAL (1 << 7) /* bits below must be zero if set */
|
|
|
|
|
|
-#define DRM_EDID_FEATURE_DEFAULT_GTF (1 << 7)
|
|
|
|
-#define DRM_EDID_FEATURE_PREFERRED_TIMING (1 << 6)
|
|
|
|
-#define DRM_EDID_FEATURE_STANDARD_COLOR (1 << 5)
|
|
|
|
|
|
+#define DRM_EDID_FEATURE_DEFAULT_GTF (1 << 0)
|
|
|
|
+#define DRM_EDID_FEATURE_PREFERRED_TIMING (1 << 1)
|
|
|
|
+#define DRM_EDID_FEATURE_STANDARD_COLOR (1 << 2)
|
|
#define DRM_EDID_FEATURE_DISPLAY_TYPE (3 << 3) /* 00=mono, 01=rgb, 10=non-rgb, 11=unknown */
|
|
#define DRM_EDID_FEATURE_DISPLAY_TYPE (3 << 3) /* 00=mono, 01=rgb, 10=non-rgb, 11=unknown */
|
|
-#define DRM_EDID_FEATURE_PM_ACTIVE_OFF (1 << 2)
|
|
|
|
-#define DRM_EDID_FEATURE_PM_SUSPEND (1 << 1)
|
|
|
|
-#define DRM_EDID_FEATURE_PM_STANDBY (1 << 0)
|
|
|
|
|
|
+#define DRM_EDID_FEATURE_PM_ACTIVE_OFF (1 << 5)
|
|
|
|
+#define DRM_EDID_FEATURE_PM_SUSPEND (1 << 6)
|
|
|
|
+#define DRM_EDID_FEATURE_PM_STANDBY (1 << 7)
|
|
|
|
|
|
struct edid {
|
|
struct edid {
|
|
u8 header[8];
|
|
u8 header[8];
|