rpms/kernel/devel drm-nouveau.patch, 1.26, 1.27 kernel.spec, 1.1455, 1.1456

Ben Skeggs bskeggs at fedoraproject.org
Sun Mar 22 23:57:05 UTC 2009


Author: bskeggs

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv21098

Modified Files:
	drm-nouveau.patch kernel.spec 
Log Message:
* Mon Mar 23 2009 Ben Skeggs <bskeggs at redhat.com>
- drm-nouveau.patch: fix GEM object leak, and display shutdown issue



drm-nouveau.patch:

Index: drm-nouveau.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-nouveau.patch,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- drm-nouveau.patch	19 Mar 2009 06:06:09 -0000	1.26
+++ drm-nouveau.patch	22 Mar 2009 23:56:32 -0000	1.27
@@ -10435,10 +10435,10 @@
 +}
 diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c
 new file mode 100644
-index 0000000..2988664
+index 0000000..e3efc05
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nouveau_state.c
-@@ -0,0 +1,1038 @@
+@@ -0,0 +1,1039 @@
 +/*
 + * Copyright 2005 Stephane Marchesin
 + * Copyright 2008 Stuart Bennett
@@ -10511,11 +10511,12 @@
 +
 +		ret = drm_gem_object_name(dev, dev_priv->sfb_gem,
 +					  &dev_priv->sfbhack_handle);
++		mutex_lock(&dev->struct_mutex);
++		drm_gem_object_unreference(dev_priv->sfb_gem);
++		mutex_unlock(&dev->struct_mutex);
 +		if (ret) {
-+			mutex_lock(&dev->struct_mutex);
-+			drm_gem_object_unreference(dev_priv->sfb_gem);
-+			mutex_unlock(&dev->struct_mutex);
 +			dev_priv->sfb_gem = NULL;
++			return ret;
 +		}
 +		
 +		dev_priv->sfbhack_size = dev_priv->sfb_gem->size;
@@ -17897,7 +17898,7 @@
 +}
 diff --git a/drivers/gpu/drm/nouveau/nv50_crtc.c b/drivers/gpu/drm/nouveau/nv50_crtc.c
 new file mode 100644
-index 0000000..32238b7
+index 0000000..385a5a4
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nv50_crtc.c
 @@ -0,0 +1,804 @@
@@ -17986,7 +17987,7 @@
 +	return 0;
 +}
 +
-+static int
++int
 +nv50_crtc_blank(struct nouveau_crtc *crtc, bool blanked)
 +{
 +	struct drm_device *dev = crtc->base.dev;
@@ -19149,7 +19150,7 @@
 +
 diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
 new file mode 100644
-index 0000000..ac69865
+index 0000000..40281e1
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nv50_display.c
 @@ -0,0 +1,441 @@
@@ -19319,9 +19320,9 @@
 +	DRM_DEBUG("\n");
 +
 +	list_for_each_entry(drm_crtc, &dev->mode_config.crtc_list, head) {
-+		struct drm_crtc_helper_funcs *helper = drm_crtc->helper_private;
++		struct nouveau_crtc *crtc = to_nouveau_crtc(drm_crtc);
 +
-+		helper->dpms(drm_crtc, DRM_MODE_DPMS_OFF);
++		nv50_crtc_blank(crtc, true);
 +	}
 +
 +	OUT_MODE(NV50_UPDATE_DISPLAY, 0);
@@ -19596,10 +19597,10 @@
 +}
 diff --git a/drivers/gpu/drm/nouveau/nv50_display.h b/drivers/gpu/drm/nouveau/nv50_display.h
 new file mode 100644
-index 0000000..72fbf02
+index 0000000..4227f3f
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nv50_display.h
-@@ -0,0 +1,42 @@
+@@ -0,0 +1,44 @@
 +/*
 + * Copyright (C) 2008 Maarten Maathuis.
 + * All Rights Reserved.
@@ -19634,12 +19635,14 @@
 +#include "nouveau_drv.h"
 +#include "nouveau_dma.h"
 +#include "nouveau_reg.h"
++#include "nouveau_crtc.h"
 +#include "nv50_display_commands.h"
 +
 +void nv50_display_command(struct drm_device *dev, uint32_t mthd, uint32_t val);
 +struct nv50_display *nv50_get_display(struct drm_device *dev);
 +int nv50_display_create(struct drm_device *dev);
 +int nv50_display_destroy(struct drm_device *dev);
++int nv50_crtc_blank(struct nouveau_crtc *, bool blank);
 +
 +#endif /* __NV50_DISPLAY_H__ */
 diff --git a/drivers/gpu/drm/nouveau/nv50_display_commands.h b/drivers/gpu/drm/nouveau/nv50_display_commands.h


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1455
retrieving revision 1.1456
diff -u -r1.1455 -r1.1456
--- kernel.spec	20 Mar 2009 21:32:18 -0000	1.1455
+++ kernel.spec	22 Mar 2009 23:56:33 -0000	1.1456
@@ -1817,6 +1817,9 @@
 # and build.
 
 %changelog
+* Mon Mar 23 2009 Ben Skeggs <bskeggs at redhat.com>
+- drm-nouveau.patch: fix GEM object leak, and display shutdown issue
+
 * Fri Mar 20 2009 Kyle McMartin <kyle at redhat.com>
 - Linux 2.6.29-rc8-git5
 




More information about the fedora-extras-commits mailing list