From: <rn...@ke...> - 2008-10-04 14:39:51
|
bsd-core/drm_bufs.c | 7 ++++--- bsd-core/i915_drv.c | 4 ++-- bsd-core/mach64_drv.c | 4 ++-- bsd-core/mga_drv.c | 4 ++-- bsd-core/r128_drv.c | 4 ++-- bsd-core/radeon_drv.c | 4 ++-- bsd-core/savage_drv.c | 4 ++-- bsd-core/sis_drv.c | 4 ++-- bsd-core/tdfx_drv.c | 4 ++-- bsd-core/via_drv.c | 4 ++-- 10 files changed, 22 insertions(+), 21 deletions(-) New commits: commit 60cf3a4db4ab8ee81aca104624e89caf5587419b Author: Robert Noland <rn...@2h...> Date: Fri Oct 3 14:11:20 2008 -0400 [FreeBSD] Don't explicitly bzero driver softc. This is already handled for us. Suggested by John Baldwin diff --git a/bsd-core/i915_drv.c b/bsd-core/i915_drv.c index b2658f0..8770321 100644 --- a/bsd-core/i915_drv.c +++ b/bsd-core/i915_drv.c @@ -109,8 +109,6 @@ i915_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/mach64_drv.c b/bsd-core/mach64_drv.c index dcf35bb..03a533a 100644 --- a/bsd-core/mach64_drv.c +++ b/bsd-core/mach64_drv.c @@ -83,8 +83,6 @@ mach64_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/mga_drv.c b/bsd-core/mga_drv.c index dfb4b71..ae3675c 100644 --- a/bsd-core/mga_drv.c +++ b/bsd-core/mga_drv.c @@ -127,8 +127,6 @@ mga_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/r128_drv.c b/bsd-core/r128_drv.c index f325114..f239ea3 100644 --- a/bsd-core/r128_drv.c +++ b/bsd-core/r128_drv.c @@ -82,8 +82,6 @@ r128_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/radeon_drv.c b/bsd-core/radeon_drv.c index 6b90dd6..ab5968b 100644 --- a/bsd-core/radeon_drv.c +++ b/bsd-core/radeon_drv.c @@ -87,8 +87,6 @@ radeon_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/savage_drv.c b/bsd-core/savage_drv.c index 7f406e0..5cf2d61 100644 --- a/bsd-core/savage_drv.c +++ b/bsd-core/savage_drv.c @@ -73,8 +73,6 @@ savage_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/sis_drv.c b/bsd-core/sis_drv.c index c69a093..55a6231 100644 --- a/bsd-core/sis_drv.c +++ b/bsd-core/sis_drv.c @@ -67,8 +67,6 @@ sis_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/tdfx_drv.c b/bsd-core/tdfx_drv.c index 8c10ea8..6195256 100644 --- a/bsd-core/tdfx_drv.c +++ b/bsd-core/tdfx_drv.c @@ -69,8 +69,6 @@ tdfx_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); diff --git a/bsd-core/via_drv.c b/bsd-core/via_drv.c index d2a1e67..d16efc4 100644 --- a/bsd-core/via_drv.c +++ b/bsd-core/via_drv.c @@ -80,8 +80,6 @@ via_attach(device_t nbdev) { struct drm_device *dev = device_get_softc(nbdev); - bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_WAITOK | M_ZERO); commit 9c0ce38df3d9026785155d06fc62bdd7acaf8bf0 Author: Robert Noland <rn...@2h...> Date: Fri Oct 3 14:05:45 2008 -0400 [FreeBSD] Use M_WAITOK when allocating driver memory. We don't explicitly check for error here and M_WAITOK will just put the process to sleep waiting on resources to become available. Suggested by John Baldwin diff --git a/bsd-core/i915_drv.c b/bsd-core/i915_drv.c index def35f0..b2658f0 100644 --- a/bsd-core/i915_drv.c +++ b/bsd-core/i915_drv.c @@ -111,7 +111,9 @@ i915_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + i915_configure(dev); return drm_attach(nbdev, i915_pciidlist); diff --git a/bsd-core/mach64_drv.c b/bsd-core/mach64_drv.c index adb83d3..dcf35bb 100644 --- a/bsd-core/mach64_drv.c +++ b/bsd-core/mach64_drv.c @@ -85,7 +85,9 @@ mach64_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + mach64_configure(dev); return drm_attach(nbdev, mach64_pciidlist); diff --git a/bsd-core/mga_drv.c b/bsd-core/mga_drv.c index 5554236..dfb4b71 100644 --- a/bsd-core/mga_drv.c +++ b/bsd-core/mga_drv.c @@ -129,7 +129,9 @@ mga_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + mga_configure(dev); return drm_attach(nbdev, mga_pciidlist); diff --git a/bsd-core/r128_drv.c b/bsd-core/r128_drv.c index 4c20af4..f325114 100644 --- a/bsd-core/r128_drv.c +++ b/bsd-core/r128_drv.c @@ -84,7 +84,9 @@ r128_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + r128_configure(dev); return drm_attach(nbdev, r128_pciidlist); diff --git a/bsd-core/radeon_drv.c b/bsd-core/radeon_drv.c index 8ab3e99..6b90dd6 100644 --- a/bsd-core/radeon_drv.c +++ b/bsd-core/radeon_drv.c @@ -89,7 +89,9 @@ radeon_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + radeon_configure(dev); return drm_attach(nbdev, radeon_pciidlist); diff --git a/bsd-core/savage_drv.c b/bsd-core/savage_drv.c index 35fcdfa..7f406e0 100644 --- a/bsd-core/savage_drv.c +++ b/bsd-core/savage_drv.c @@ -75,7 +75,9 @@ savage_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + savage_configure(dev); return drm_attach(nbdev, savage_pciidlist); diff --git a/bsd-core/sis_drv.c b/bsd-core/sis_drv.c index 2ae1bff..c69a093 100644 --- a/bsd-core/sis_drv.c +++ b/bsd-core/sis_drv.c @@ -69,7 +69,9 @@ sis_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + sis_configure(dev); return drm_attach(nbdev, sis_pciidlist); diff --git a/bsd-core/tdfx_drv.c b/bsd-core/tdfx_drv.c index 44948b5..8c10ea8 100644 --- a/bsd-core/tdfx_drv.c +++ b/bsd-core/tdfx_drv.c @@ -71,7 +71,9 @@ tdfx_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + tdfx_configure(dev); return drm_attach(nbdev, tdfx_pciidlist); diff --git a/bsd-core/via_drv.c b/bsd-core/via_drv.c index e5f7d49..d2a1e67 100644 --- a/bsd-core/via_drv.c +++ b/bsd-core/via_drv.c @@ -82,7 +82,9 @@ via_attach(device_t nbdev) bzero(dev, sizeof(struct drm_device)); - dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, M_NOWAIT | M_ZERO); + dev->driver = malloc(sizeof(struct drm_driver_info), M_DRM, + M_WAITOK | M_ZERO); + via_configure(dev); return drm_attach(nbdev, via_pciidlist); commit 4c92abfa8d0b9f2ab14e6b915bdffd47fd2e2474 Author: Robert Noland <rn...@2h...> Date: Fri Oct 3 13:56:50 2008 -0400 [FreeBSD] Do a bit of optimization on drm_order() diff --git a/bsd-core/drm_bufs.c b/bsd-core/drm_bufs.c index c9b5dc4..60f57cf 100644 --- a/bsd-core/drm_bufs.c +++ b/bsd-core/drm_bufs.c @@ -1099,11 +1099,12 @@ int drm_mapbufs(struct drm_device *dev, void *data, struct drm_file *file_priv) int drm_order(unsigned long size) { int order; - unsigned long tmp; - for (order = 0, tmp = size; tmp >>= 1; ++order); + if (size == 0) + return 0; - if (size & ~(1 << order)) + order = ffsl(size) - 1; + if (size & ~(1ul << order)) ++order; return order; |