xf86-video-intel: 2 commits - src/sna/sna_display.c

Chris Wilson ickle at kemper.freedesktop.org
Tue Aug 5 07:50:22 PDT 2014


 src/sna/sna_display.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

New commits:
commit 999c8dc700a0573859ec1aaae4500493d01d0c0c
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Aug 5 15:36:26 2014 +0100

    sna: Add intermediate modes to any output with a scaler
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 59449a0..0a6d35e 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -166,6 +166,7 @@ struct sna_output {
 	unsigned attached_encoders;
 
 	unsigned int is_panel : 1;
+	unsigned int has_scaler : 1;
 
 	uint32_t edid_idx;
 	uint32_t edid_blob_id;
@@ -2845,7 +2846,7 @@ sna_output_get_modes(xf86OutputPtr output)
 	 * If it is incorrect, please fix me.
 	 */
 	sna_output->has_panel_limits = false;
-	if (sna_output->is_panel) {
+	if (sna_output->has_scaler) {
 		sna_output->panel_hdisplay = sna_output->panel_vdisplay = 0;
 		for (i = 0; i < sna_output->num_modes; i++) {
 			struct drm_mode_modeinfo *m;
@@ -3674,6 +3675,7 @@ reset:
 	sna_output->id = compat_conn.conn.connector_id;
 	sna_output->is_panel = is_panel(compat_conn.conn.connector_type);
 	sna_output->edid_idx = find_property(sna, sna_output, "EDID");
+	sna_output->has_scaler = find_property(sna, sna_output, "scaling mode") != -1;
 	i = find_property(sna, sna_output, "DPMS");
 	if (i != -1) {
 		sna_output->dpms_id = sna_output->prop_ids[i];
commit cea47f8cfcd810c103740ec7ee9caeecba1e30f4
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Aug 5 15:30:11 2014 +0100

    sna: Add DSI to the list of recognised panel connectors.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 342bff2..59449a0 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -2514,8 +2514,12 @@ sna_crtc_add(ScrnInfoPtr scrn, int id)
 static bool
 is_panel(int type)
 {
+#define DRM_MODE_CONNECTOR_LVDS 7
+#define DRM_MODE_CONNECTOR_eDP 14
+#define DRM_MODE_CONNECTOR_DSI 16
 	return (type == DRM_MODE_CONNECTOR_LVDS ||
-		type == DRM_MODE_CONNECTOR_eDP);
+		type == DRM_MODE_CONNECTOR_eDP ||
+		type == DRM_MODE_CONNECTOR_DSI);
 }
 
 static int


More information about the xorg-commit mailing list