xf86-video-intel: src/intel_display.c

Chris Wilson ickle at kemper.freedesktop.org
Sun Aug 1 04:37:34 PDT 2010


 src/intel_display.c |   42 +++++++++++++++++++++++++++---------------
 1 file changed, 27 insertions(+), 15 deletions(-)

New commits:
commit 4f8b279f32cfda0f3b8fa1542b3fe00051520012
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Aug 1 12:35:57 2010 +0100

    intel_display: Miscellaneous tidy
    
    A mixture of whitespace and closing of leaks on error paths.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/intel_display.c b/src/intel_display.c
index 9379217..96c60bf 100644
--- a/src/intel_display.c
+++ b/src/intel_display.c
@@ -590,9 +590,11 @@ intel_crtc_shadow_destroy(xf86CrtcPtr crtc, PixmapPtr rotate_pixmap, void *data)
 		 * unbound. */
 		drmModeRmFB(mode->fd, intel_crtc->rotate_fb_id);
 		intel_crtc->rotate_fb_id = 0;
+
 		dri_bo_unreference(intel_crtc->rotate_bo);
 		intel_crtc->rotate_bo = NULL;
 	}
+
 	intel->shadow_present = FALSE;
 }
 
@@ -674,8 +676,8 @@ intel_output_detect(xf86OutputPtr output)
 	struct intel_output *intel_output = output->driver_private;
 	struct intel_mode *mode = intel_output->mode;
 	xf86OutputStatus status;
-	drmModeFreeConnector(intel_output->mode_output);
 
+	drmModeFreeConnector(intel_output->mode_output);
 	intel_output->mode_output =
 		drmModeGetConnector(mode->fd, intel_output->output_id);
 
@@ -705,7 +707,7 @@ intel_output_mode_valid(xf86OutputPtr output, DisplayModePtr pModes)
 	 * If the connector type is LVDS, we will use the panel limit to
 	 * verfiy whether the mode is valid.
 	 */
-	if ((koutput->connector_type ==  DRM_MODE_CONNECTOR_LVDS) && p_lvds) {
+	if ((koutput->connector_type == DRM_MODE_CONNECTOR_LVDS) && p_lvds) {
 		if (pModes->HDisplay > p_lvds->hdisplay ||
 		    pModes->VDisplay > p_lvds->vdisplay)
 			return MODE_PANEL;
@@ -778,6 +780,7 @@ intel_output_get_modes(xf86OutputPtr output)
 		props = drmModeGetProperty(mode->fd, koutput->props[i]);
 		if (!props)
 			continue;
+
 		if (!(props->flags & DRM_MODE_PROP_BLOB)) {
 			drmModeFreeProperty(props);
 			continue;
@@ -809,12 +812,13 @@ intel_output_get_modes(xf86OutputPtr output)
 		Modes = xf86ModesAdd(Modes, Mode);
 
 	}
-	p_lvds = intel_output->private_data;
+
 	/*
 	 * If the connector type is LVDS, we will traverse the kernel mode to
 	 * get the panel limit.
 	 * If it is incorrect, please fix me.
 	 */
+	p_lvds = intel_output->private_data;
 	if ((koutput->connector_type ==  DRM_MODE_CONNECTOR_LVDS) && p_lvds) {
 		p_lvds->hdisplay = 0;
 		p_lvds->vdisplay = 0;
@@ -894,9 +898,10 @@ intel_output_dpms(xf86OutputPtr output, int dpms)
 	drmModeConnectorPtr koutput = intel_output->mode_output;
 	struct intel_mode *mode = intel_output->mode;
 	int i;
-	drmModePropertyPtr props;
 
 	for (i = 0; i < koutput->count_props; i++) {
+		drmModePropertyPtr props;
+
 		props = drmModeGetProperty(mode->fd, koutput->props[i]);
 		if (!props)
 			continue;
@@ -952,7 +957,6 @@ intel_output_create_resources(xf86OutputPtr output)
 	struct intel_output *intel_output = output->driver_private;
 	drmModeConnectorPtr mode_output = intel_output->mode_output;
 	struct intel_mode *mode = intel_output->mode;
-	drmModePropertyPtr drmmode_prop;
 	int i, j, err;
 
 	intel_output->props = calloc(mode_output->count_props,
@@ -961,8 +965,11 @@ intel_output_create_resources(xf86OutputPtr output)
 		return;
 
 	intel_output->num_props = 0;
-	for (i = 0, j = 0; i < mode_output->count_props; i++) {
-		drmmode_prop = drmModeGetProperty(mode->fd, mode_output->props[i]);
+	for (i = j = 0; i < mode_output->count_props; i++) {
+		drmModePropertyPtr drmmode_prop;
+
+		drmmode_prop = drmModeGetProperty(mode->fd,
+						  mode_output->props[i]);
 		if (intel_property_ignore(drmmode_prop)) {
 			drmModeFreeProperty(drmmode_prop);
 			continue;
@@ -976,7 +983,7 @@ intel_output_create_resources(xf86OutputPtr output)
 
 	for (i = 0; i < intel_output->num_props; i++) {
 		struct intel_property *p = &intel_output->props[i];
-		drmmode_prop = p->mode_prop;
+		drmModePropertyPtr drmmode_prop = p->mode_prop;
 
 		if (drmmode_prop->flags & DRM_MODE_PROP_RANGE) {
 			INT32 range[2];
@@ -1151,7 +1158,7 @@ intel_output_set_property(xf86OutputPtr output, Atom property,
 		}
 	}
 
-	return TRUE;
+	return FALSE;
 }
 
 static Bool
@@ -1182,7 +1189,7 @@ intel_output_get_property(xf86OutputPtr output, Atom property)
 		return TRUE;
 	}
 
-	return TRUE;
+	return FALSE;
 }
 
 static const xf86OutputFuncsRec intel_output_funcs = {
@@ -1278,8 +1285,7 @@ intel_output_init(ScrnInfoPtr scrn, struct intel_mode *mode, int num)
 	 */
 	intel_output->private_data = NULL;
 	if (koutput->connector_type ==  DRM_MODE_CONNECTOR_LVDS) {
-		intel_output->private_data = calloc(
-						      sizeof(struct fixed_panel_lvds), 1);
+		intel_output->private_data = calloc(sizeof(struct fixed_panel_lvds), 1);
 		if (!intel_output->private_data)
 			xf86DrvMsg(scrn->scrnIndex, X_ERROR,
 				   "Can't allocate private memory for LVDS.\n");
@@ -1375,6 +1381,8 @@ fail:
 	scrn->virtualX = old_width;
 	scrn->virtualY = old_height;
 	scrn->displayWidth = old_pitch;
+	if (old_fb_id != mode->fb_id)
+		drmModeRmFB(mode->fd, mode->fb_id);
 	mode->fb_id = old_fb_id;
 
 	return FALSE;
@@ -1480,11 +1488,13 @@ Bool intel_mode_pre_init(ScrnInfoPtr scrn, int fd, int cpp)
 	struct drm_i915_getparam gp;
 	struct intel_mode *mode;
 	unsigned int i;
-	int has_flipping = 0;
+	int has_flipping;
+
+	mode = calloc(1, sizeof *mode);
+	if (!mode)
+		return FALSE;
 
-	mode = xnfalloc(sizeof *mode);
 	mode->fd = fd;
-	mode->fb_id = 0;
 
 	list_init(&mode->crtcs);
 	list_init(&mode->outputs);
@@ -1496,6 +1506,7 @@ Bool intel_mode_pre_init(ScrnInfoPtr scrn, int fd, int cpp)
 	if (!mode->mode_res) {
 		xf86DrvMsg(scrn->scrnIndex, X_ERROR,
 			   "failed to get resources: %s\n", strerror(errno));
+		free(mode);
 		return FALSE;
 	}
 
@@ -1509,6 +1520,7 @@ Bool intel_mode_pre_init(ScrnInfoPtr scrn, int fd, int cpp)
 
 	xf86InitialConfiguration(scrn, TRUE);
 
+	has_flipping = 0;
 	gp.param = I915_PARAM_HAS_PAGEFLIPPING;
 	gp.value = &has_flipping;
 	(void)drmCommandWriteRead(intel->drmSubFD, DRM_I915_GETPARAM, &gp,


More information about the xorg-commit mailing list