Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
commit
c71c44bb92
|
@ -572,7 +572,7 @@ bool drm_initial_config(drm_device_t *dev, bool can_grow)
|
|||
|
||||
/* bind analog output to one crtc */
|
||||
list_for_each_entry(output, &dev->mode_config.output_list, head) {
|
||||
struct drm_display_mode *des_mode;
|
||||
struct drm_display_mode *des_mode = NULL;
|
||||
|
||||
if (list_empty(&output->modes))
|
||||
continue;
|
||||
|
@ -582,6 +582,10 @@ bool drm_initial_config(drm_device_t *dev, bool can_grow)
|
|||
if (des_mode->flags & DRM_MODE_TYPE_PREFERRED)
|
||||
break;
|
||||
}
|
||||
|
||||
if (!des_mode)
|
||||
continue;
|
||||
|
||||
if (!strncmp(output->name, "VGA", 3)) {
|
||||
DRM_DEBUG("VGA preferred mode: %s\n", des_mode->name);
|
||||
drm_setup_output(output, vga_crtc, des_mode);
|
||||
|
|
|
@ -375,9 +375,6 @@ static void drm_cleanup(drm_device_t * dev)
|
|||
drm_lastclose(dev);
|
||||
drm_fence_manager_takedown(dev);
|
||||
|
||||
if (!drm_fb_loaded)
|
||||
pci_disable_device(dev->pdev);
|
||||
|
||||
drm_ctxbitmap_cleanup(dev);
|
||||
|
||||
if (drm_core_has_MTRR(dev) && drm_core_has_AGP(dev) && dev->agp
|
||||
|
@ -389,15 +386,16 @@ static void drm_cleanup(drm_device_t * dev)
|
|||
DRM_DEBUG("mtrr_del=%d\n", retval);
|
||||
}
|
||||
|
||||
// drm_bo_driver_finish(dev);
|
||||
if (dev->driver->unload)
|
||||
dev->driver->unload(dev);
|
||||
|
||||
if (drm_core_has_AGP(dev) && dev->agp) {
|
||||
drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS);
|
||||
dev->agp = NULL;
|
||||
}
|
||||
if (dev->driver->unload)
|
||||
dev->driver->unload(dev);
|
||||
|
||||
|
||||
// drm_bo_driver_finish(dev);
|
||||
if (dev->maplist) {
|
||||
drm_free(dev->maplist, sizeof(*dev->maplist), DRM_MEM_MAPS);
|
||||
dev->maplist = NULL;
|
||||
|
@ -406,6 +404,9 @@ static void drm_cleanup(drm_device_t * dev)
|
|||
drm_ht_remove(&dev->object_hash);
|
||||
}
|
||||
|
||||
if (!drm_fb_loaded)
|
||||
pci_disable_device(dev->pdev);
|
||||
|
||||
drm_put_head(&dev->primary);
|
||||
if (drm_put_dev(dev))
|
||||
DRM_ERROR("Cannot unload module\n");
|
||||
|
|
|
@ -70,10 +70,9 @@ static void intel_sdvo_write_sdvox(struct drm_output *output, u32 val)
|
|||
int i;
|
||||
|
||||
if (sdvo_priv->output_device == SDVOB)
|
||||
bval = I915_READ(SDVOB);
|
||||
else
|
||||
cval = I915_READ(SDVOC);
|
||||
|
||||
else
|
||||
bval = I915_READ(SDVOB);
|
||||
/*
|
||||
* Write the registers twice for luck. Sometimes,
|
||||
* writing them only once doesn't appear to 'stick'.
|
||||
|
|
|
@ -265,6 +265,7 @@ int i915_driver_unload(drm_device_t *dev)
|
|||
drm_mem_reg_iounmap(dev, &dev_priv->ring_buffer->mem,
|
||||
dev_priv->ring.virtual_start);
|
||||
|
||||
DRM_DEBUG("usage is %d\n", dev_priv->ring_buffer->usage);
|
||||
mutex_lock(&dev->struct_mutex);
|
||||
drm_bo_usage_deref_locked(dev_priv->ring_buffer);
|
||||
mutex_unlock(&dev->struct_mutex);
|
||||
|
|
Loading…
Reference in New Issue