Commit 967ad7f1 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next


The conflict in intel_drv.h tripped me up a bit since a patch in dinq
moves all the functions around, but another one in drm-next removes a
single function. So I'ev figured backing this into a backmerge would
be good.

i915_dma.c is just adjacent lines changed, nothing nefarious there.

Conflicts:
	drivers/gpu/drm/i915/i915_dma.c
	drivers/gpu/drm/i915/intel_drv.h
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parents d7bf63f2 6aba5b6c
...@@ -420,7 +420,7 @@ nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon) ...@@ -420,7 +420,7 @@ nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon)
nouveau_bo_unmap(nouveau_fb->nvbo); nouveau_bo_unmap(nouveau_fb->nvbo);
nouveau_bo_vma_del(nouveau_fb->nvbo, &nouveau_fb->vma); nouveau_bo_vma_del(nouveau_fb->nvbo, &nouveau_fb->vma);
nouveau_bo_unpin(nouveau_fb->nvbo); nouveau_bo_unpin(nouveau_fb->nvbo);
drm_gem_object_unreference_unlocked(nouveau_fb->nvbo->gem); drm_gem_object_unreference_unlocked(&nouveau_fb->nvbo->gem);
nouveau_fb->nvbo = NULL; nouveau_fb->nvbo = NULL;
} }
drm_fb_helper_fini(&fbcon->helper); drm_fb_helper_fini(&fbcon->helper);
......
...@@ -34,29 +34,20 @@ ...@@ -34,29 +34,20 @@
#include "nouveau_ttm.h" #include "nouveau_ttm.h"
#include "nouveau_gem.h" #include "nouveau_gem.h"
int
nouveau_gem_object_new(struct drm_gem_object *gem)
{
return 0;
}
void void
nouveau_gem_object_del(struct drm_gem_object *gem) nouveau_gem_object_del(struct drm_gem_object *gem)
{ {
struct nouveau_bo *nvbo = gem->driver_private; struct nouveau_bo *nvbo = nouveau_gem_object(gem);
struct ttm_buffer_object *bo = &nvbo->bo; struct ttm_buffer_object *bo = &nvbo->bo;
if (!nvbo)
return;
nvbo->gem = NULL;
if (gem->import_attach) if (gem->import_attach)
drm_prime_gem_destroy(gem, nvbo->bo.sg); drm_prime_gem_destroy(gem, nvbo->bo.sg);
ttm_bo_unref(&bo);
drm_gem_object_release(gem); drm_gem_object_release(gem);
kfree(gem);
/* reset filp so nouveau_bo_del_ttm() can test for it */
gem->filp = NULL;
ttm_bo_unref(&bo);
} }
int int
...@@ -186,14 +177,15 @@ nouveau_gem_new(struct drm_device *dev, int size, int align, uint32_t domain, ...@@ -186,14 +177,15 @@ nouveau_gem_new(struct drm_device *dev, int size, int align, uint32_t domain,
if (nv_device(drm->device)->card_type >= NV_50) if (nv_device(drm->device)->card_type >= NV_50)
nvbo->valid_domains &= domain; nvbo->valid_domains &= domain;
nvbo->gem = drm_gem_object_alloc(dev, nvbo->bo.mem.size); /* Initialize the embedded gem-object. We return a single gem-reference
if (!nvbo->gem) { * to the caller, instead of a normal nouveau_bo ttm reference. */
ret = drm_gem_object_init(dev, &nvbo->gem, nvbo->bo.mem.size);
if (ret) {
nouveau_bo_ref(NULL, pnvbo); nouveau_bo_ref(NULL, pnvbo);
return -ENOMEM; return -ENOMEM;
} }
nvbo->bo.persistent_swap_storage = nvbo->gem->filp; nvbo->bo.persistent_swap_storage = nvbo->gem.filp;
nvbo->gem->driver_private = nvbo;
return 0; return 0;
} }
...@@ -250,15 +242,15 @@ nouveau_gem_ioctl_new(struct drm_device *dev, void *data, ...@@ -250,15 +242,15 @@ nouveau_gem_ioctl_new(struct drm_device *dev, void *data,
if (ret) if (ret)
return ret; return ret;
ret = drm_gem_handle_create(file_priv, nvbo->gem, &req->info.handle); ret = drm_gem_handle_create(file_priv, &nvbo->gem, &req->info.handle);
if (ret == 0) { if (ret == 0) {
ret = nouveau_gem_info(file_priv, nvbo->gem, &req->info); ret = nouveau_gem_info(file_priv, &nvbo->gem, &req->info);
if (ret) if (ret)
drm_gem_handle_delete(file_priv, req->info.handle); drm_gem_handle_delete(file_priv, req->info.handle);
} }
/* drop reference from allocate - handle holds it now */ /* drop reference from allocate - handle holds it now */
drm_gem_object_unreference_unlocked(nvbo->gem); drm_gem_object_unreference_unlocked(&nvbo->gem);
return ret; return ret;
} }
...@@ -266,7 +258,7 @@ static int ...@@ -266,7 +258,7 @@ static int
nouveau_gem_set_domain(struct drm_gem_object *gem, uint32_t read_domains, nouveau_gem_set_domain(struct drm_gem_object *gem, uint32_t read_domains,
uint32_t write_domains, uint32_t valid_domains) uint32_t write_domains, uint32_t valid_domains)
{ {
struct nouveau_bo *nvbo = gem->driver_private; struct nouveau_bo *nvbo = nouveau_gem_object(gem);
struct ttm_buffer_object *bo = &nvbo->bo; struct ttm_buffer_object *bo = &nvbo->bo;
uint32_t domains = valid_domains & nvbo->valid_domains & uint32_t domains = valid_domains & nvbo->valid_domains &
(write_domains ? write_domains : read_domains); (write_domains ? write_domains : read_domains);
...@@ -327,7 +319,7 @@ validate_fini_list(struct list_head *list, struct nouveau_fence *fence, ...@@ -327,7 +319,7 @@ validate_fini_list(struct list_head *list, struct nouveau_fence *fence,
list_del(&nvbo->entry); list_del(&nvbo->entry);
nvbo->reserved_by = NULL; nvbo->reserved_by = NULL;
ttm_bo_unreserve_ticket(&nvbo->bo, ticket); ttm_bo_unreserve_ticket(&nvbo->bo, ticket);
drm_gem_object_unreference_unlocked(nvbo->gem); drm_gem_object_unreference_unlocked(&nvbo->gem);
} }
} }
...@@ -376,7 +368,7 @@ validate_init(struct nouveau_channel *chan, struct drm_file *file_priv, ...@@ -376,7 +368,7 @@ validate_init(struct nouveau_channel *chan, struct drm_file *file_priv,
validate_fini(op, NULL); validate_fini(op, NULL);
return -ENOENT; return -ENOENT;
} }
nvbo = gem->driver_private; nvbo = nouveau_gem_object(gem);
if (nvbo == res_bo) { if (nvbo == res_bo) {
res_bo = NULL; res_bo = NULL;
drm_gem_object_unreference_unlocked(gem); drm_gem_object_unreference_unlocked(gem);
...@@ -478,7 +470,7 @@ validate_list(struct nouveau_channel *chan, struct nouveau_cli *cli, ...@@ -478,7 +470,7 @@ validate_list(struct nouveau_channel *chan, struct nouveau_cli *cli,
return ret; return ret;
} }
ret = nouveau_gem_set_domain(nvbo->gem, b->read_domains, ret = nouveau_gem_set_domain(&nvbo->gem, b->read_domains,
b->write_domains, b->write_domains,
b->valid_domains); b->valid_domains);
if (unlikely(ret)) { if (unlikely(ret)) {
......
...@@ -12,14 +12,13 @@ ...@@ -12,14 +12,13 @@
static inline struct nouveau_bo * static inline struct nouveau_bo *
nouveau_gem_object(struct drm_gem_object *gem) nouveau_gem_object(struct drm_gem_object *gem)
{ {
return gem ? gem->driver_private : NULL; return gem ? container_of(gem, struct nouveau_bo, gem) : NULL;
} }
/* nouveau_gem.c */ /* nouveau_gem.c */
extern int nouveau_gem_new(struct drm_device *, int size, int align, extern int nouveau_gem_new(struct drm_device *, int size, int align,
uint32_t domain, uint32_t tile_mode, uint32_t domain, uint32_t tile_mode,
uint32_t tile_flags, struct nouveau_bo **); uint32_t tile_flags, struct nouveau_bo **);
extern int nouveau_gem_object_new(struct drm_gem_object *);
extern void nouveau_gem_object_del(struct drm_gem_object *); extern void nouveau_gem_object_del(struct drm_gem_object *);
extern int nouveau_gem_object_open(struct drm_gem_object *, struct drm_file *); extern int nouveau_gem_object_open(struct drm_gem_object *, struct drm_file *);
extern void nouveau_gem_object_close(struct drm_gem_object *, extern void nouveau_gem_object_close(struct drm_gem_object *,
......
...@@ -71,14 +71,16 @@ struct drm_gem_object *nouveau_gem_prime_import_sg_table(struct drm_device *dev, ...@@ -71,14 +71,16 @@ struct drm_gem_object *nouveau_gem_prime_import_sg_table(struct drm_device *dev,
return ERR_PTR(ret); return ERR_PTR(ret);
nvbo->valid_domains = NOUVEAU_GEM_DOMAIN_GART; nvbo->valid_domains = NOUVEAU_GEM_DOMAIN_GART;
nvbo->gem = drm_gem_object_alloc(dev, nvbo->bo.mem.size);
if (!nvbo->gem) { /* Initialize the embedded gem-object. We return a single gem-reference
* to the caller, instead of a normal nouveau_bo ttm reference. */
ret = drm_gem_object_init(dev, &nvbo->gem, nvbo->bo.mem.size);
if (ret) {
nouveau_bo_ref(NULL, &nvbo); nouveau_bo_ref(NULL, &nvbo);
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
} }
nvbo->gem->driver_private = nvbo; return &nvbo->gem;
return nvbo->gem;
} }
int nouveau_gem_prime_pin(struct drm_gem_object *obj) int nouveau_gem_prime_pin(struct drm_gem_object *obj)
......
...@@ -620,7 +620,6 @@ static struct drm_driver omap_drm_driver = { ...@@ -620,7 +620,6 @@ static struct drm_driver omap_drm_driver = {
.prime_fd_to_handle = drm_gem_prime_fd_to_handle, .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
.gem_prime_export = omap_gem_prime_export, .gem_prime_export = omap_gem_prime_export,
.gem_prime_import = omap_gem_prime_import, .gem_prime_import = omap_gem_prime_import,
.gem_init_object = omap_gem_init_object,
.gem_free_object = omap_gem_free_object, .gem_free_object = omap_gem_free_object,
.gem_vm_ops = &omap_gem_vm_ops, .gem_vm_ops = &omap_gem_vm_ops,
.dumb_create = omap_gem_dumb_create, .dumb_create = omap_gem_dumb_create,
......
...@@ -220,7 +220,6 @@ struct drm_gem_object *omap_gem_new(struct drm_device *dev, ...@@ -220,7 +220,6 @@ struct drm_gem_object *omap_gem_new(struct drm_device *dev,
int omap_gem_new_handle(struct drm_device *dev, struct drm_file *file, int omap_gem_new_handle(struct drm_device *dev, struct drm_file *file,
union omap_gem_size gsize, uint32_t flags, uint32_t *handle); union omap_gem_size gsize, uint32_t flags, uint32_t *handle);
void omap_gem_free_object(struct drm_gem_object *obj); void omap_gem_free_object(struct drm_gem_object *obj);
int omap_gem_init_object(struct drm_gem_object *obj);
void *omap_gem_vaddr(struct drm_gem_object *obj); void *omap_gem_vaddr(struct drm_gem_object *obj);
int omap_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev, int omap_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
uint32_t handle, uint64_t *offset); uint32_t handle, uint64_t *offset);
......
...@@ -1274,11 +1274,6 @@ int omap_gem_set_sync_object(struct drm_gem_object *obj, void *syncobj) ...@@ -1274,11 +1274,6 @@ int omap_gem_set_sync_object(struct drm_gem_object *obj, void *syncobj)
return ret; return ret;
} }
int omap_gem_init_object(struct drm_gem_object *obj)
{
return -EINVAL; /* unused */
}
/* don't call directly.. called from GEM core when it is time to actually /* don't call directly.. called from GEM core when it is time to actually
* free the object.. * free the object..
*/ */
......
...@@ -261,7 +261,7 @@ int omap_drm_irq_install(struct drm_device *dev) ...@@ -261,7 +261,7 @@ int omap_drm_irq_install(struct drm_device *dev)
mutex_unlock(&dev->struct_mutex); mutex_unlock(&dev->struct_mutex);
return -EBUSY; return -EBUSY;
} }
dev->irq_enabled = 1; dev->irq_enabled = true;
mutex_unlock(&dev->struct_mutex); mutex_unlock(&dev->struct_mutex);
/* Before installing handler */ /* Before installing handler */
...@@ -272,7 +272,7 @@ int omap_drm_irq_install(struct drm_device *dev) ...@@ -272,7 +272,7 @@ int omap_drm_irq_install(struct drm_device *dev)
if (ret < 0) { if (ret < 0) {
mutex_lock(&dev->struct_mutex); mutex_lock(&dev->struct_mutex);
dev->irq_enabled = 0; dev->irq_enabled = false;
mutex_unlock(&dev->struct_mutex); mutex_unlock(&dev->struct_mutex);
return ret; return ret;
} }
...@@ -283,7 +283,7 @@ int omap_drm_irq_install(struct drm_device *dev) ...@@ -283,7 +283,7 @@ int omap_drm_irq_install(struct drm_device *dev)
if (ret < 0) { if (ret < 0) {
mutex_lock(&dev->struct_mutex); mutex_lock(&dev->struct_mutex);
dev->irq_enabled = 0; dev->irq_enabled = false;
mutex_unlock(&dev->struct_mutex); mutex_unlock(&dev->struct_mutex);
dispc_free_irq(dev); dispc_free_irq(dev);
} }
...@@ -294,11 +294,12 @@ int omap_drm_irq_install(struct drm_device *dev) ...@@ -294,11 +294,12 @@ int omap_drm_irq_install(struct drm_device *dev)
int omap_drm_irq_uninstall(struct drm_device *dev) int omap_drm_irq_uninstall(struct drm_device *dev)
{ {
unsigned long irqflags; unsigned long irqflags;
int irq_enabled, i; bool irq_enabled;
int i;
mutex_lock(&dev->struct_mutex); mutex_lock(&dev->struct_mutex);
irq_enabled = dev->irq_enabled; irq_enabled = dev->irq_enabled;
dev->irq_enabled = 0; dev->irq_enabled = false;
mutex_unlock(&dev->struct_mutex); mutex_unlock(&dev->struct_mutex);
/* /*
...@@ -307,9 +308,9 @@ int omap_drm_irq_uninstall(struct drm_device *dev) ...@@ -307,9 +308,9 @@ int omap_drm_irq_uninstall(struct drm_device *dev)
if (dev->num_crtcs) { if (dev->num_crtcs) {
spin_lock_irqsave(&dev->vbl_lock, irqflags); spin_lock_irqsave(&dev->vbl_lock, irqflags);
for (i = 0; i < dev->num_crtcs; i++) { for (i = 0; i < dev->num_crtcs; i++) {
DRM_WAKEUP(&dev->vbl_queue[i]); DRM_WAKEUP(&dev->vblank[i].queue);
dev->vblank_enabled[i] = 0; dev->vblank[i].enabled = false;
dev->last_vblank[i] = dev->vblank[i].last =
dev->driver->get_vblank_counter(dev, i); dev->driver->get_vblank_counter(dev, i);
} }
spin_unlock_irqrestore(&dev->vbl_lock, irqflags); spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
......
...@@ -225,7 +225,6 @@ static struct drm_driver qxl_driver = { ...@@ -225,7 +225,6 @@ static struct drm_driver qxl_driver = {
.debugfs_init = qxl_debugfs_init, .debugfs_init = qxl_debugfs_init,
.debugfs_cleanup = qxl_debugfs_takedown, .debugfs_cleanup = qxl_debugfs_takedown,
#endif #endif
.gem_init_object = qxl_gem_object_init,
.gem_free_object = qxl_gem_object_free, .gem_free_object = qxl_gem_object_free,
.gem_open_object = qxl_gem_object_open, .gem_open_object = qxl_gem_object_open,
.gem_close_object = qxl_gem_object_close, .gem_close_object = qxl_gem_object_close,
......
...@@ -412,7 +412,6 @@ int qxl_gem_object_create_with_handle(struct qxl_device *qdev, ...@@ -412,7 +412,6 @@ int qxl_gem_object_create_with_handle(struct qxl_device *qdev,
struct qxl_surface *surf, struct qxl_surface *surf,
struct qxl_bo **qobj, struct qxl_bo **qobj,
uint32_t *handle); uint32_t *handle);
int qxl_gem_object_init(struct drm_gem_object *obj);
void qxl_gem_object_free(struct drm_gem_object *gobj); void qxl_gem_object_free(struct drm_gem_object *gobj);
int qxl_gem_object_open(struct drm_gem_object *obj, struct drm_file *file_priv); int qxl_gem_object_open(struct drm_gem_object *obj, struct drm_file *file_priv);
void qxl_gem_object_close(struct drm_gem_object *obj, void qxl_gem_object_close(struct drm_gem_object *obj,
......
...@@ -28,12 +28,6 @@ ...@@ -28,12 +28,6 @@
#include "qxl_drv.h" #include "qxl_drv.h"
#include "qxl_object.h" #include "qxl_object.h"
int qxl_gem_object_init(struct drm_gem_object *obj)
{
/* we do nothings here */
return 0;
}
void qxl_gem_object_free(struct drm_gem_object *gobj) void qxl_gem_object_free(struct drm_gem_object *gobj)
{ {
struct qxl_bo *qobj = gem_to_qxl_bo(gobj); struct qxl_bo *qobj = gem_to_qxl_bo(gobj);
......
...@@ -690,8 +690,7 @@ static int radeon_dp_link_train_init(struct radeon_dp_link_train_info *dp_info) ...@@ -690,8 +690,7 @@ static int radeon_dp_link_train_init(struct radeon_dp_link_train_info *dp_info)
/* set the lane count on the sink */ /* set the lane count on the sink */
tmp = dp_info->dp_lane_count; tmp = dp_info->dp_lane_count;
if (dp_info->dpcd[DP_DPCD_REV] >= 0x11 && if (drm_dp_enhanced_frame_cap(dp_info->dpcd))
dp_info->dpcd[DP_MAX_LANE_COUNT] & DP_ENHANCED_FRAME_CAP)
tmp |= DP_LANE_COUNT_ENHANCED_FRAME_EN; tmp |= DP_LANE_COUNT_ENHANCED_FRAME_EN;
radeon_write_dpcd_reg(dp_info->radeon_connector, DP_LANE_COUNT_SET, tmp); radeon_write_dpcd_reg(dp_info->radeon_connector, DP_LANE_COUNT_SET, tmp);
......
...@@ -499,7 +499,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev) ...@@ -499,7 +499,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev)
crtc_ext_cntl = RREG32(RADEON_CRTC_EXT_CNTL); crtc_ext_cntl = RREG32(RADEON_CRTC_EXT_CNTL);
fp2_gen_cntl = 0; fp2_gen_cntl = 0;
if (rdev->ddev->pci_device == PCI_DEVICE_ID_ATI_RADEON_QY) { if (rdev->ddev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) {
fp2_gen_cntl = RREG32(RADEON_FP2_GEN_CNTL); fp2_gen_cntl = RREG32(RADEON_FP2_GEN_CNTL);
} }
...@@ -536,7 +536,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev) ...@@ -536,7 +536,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev)
(RADEON_CRTC_SYNC_TRISTAT | (RADEON_CRTC_SYNC_TRISTAT |
RADEON_CRTC_DISPLAY_DIS))); RADEON_CRTC_DISPLAY_DIS)));
if (rdev->ddev->pci_device == PCI_DEVICE_ID_ATI_RADEON_QY) { if (rdev->ddev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) {
WREG32(RADEON_FP2_GEN_CNTL, (fp2_gen_cntl & ~RADEON_FP2_ON)); WREG32(RADEON_FP2_GEN_CNTL, (fp2_gen_cntl & ~RADEON_FP2_ON));
} }
...@@ -554,7 +554,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev) ...@@ -554,7 +554,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev)
WREG32(RADEON_CRTC2_GEN_CNTL, crtc2_gen_cntl); WREG32(RADEON_CRTC2_GEN_CNTL, crtc2_gen_cntl);
} }
WREG32(RADEON_CRTC_EXT_CNTL, crtc_ext_cntl); WREG32(RADEON_CRTC_EXT_CNTL, crtc_ext_cntl);
if (rdev->ddev->pci_device == PCI_DEVICE_ID_ATI_RADEON_QY) { if (rdev->ddev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) {
WREG32(RADEON_FP2_GEN_CNTL, fp2_gen_cntl); WREG32(RADEON_FP2_GEN_CNTL, fp2_gen_cntl);
} }
return r; return r;
......
...@@ -100,7 +100,6 @@ void radeon_driver_irq_preinstall_kms(struct drm_device *dev); ...@@ -100,7 +100,6 @@ void radeon_driver_irq_preinstall_kms(struct drm_device *dev);
int radeon_driver_irq_postinstall_kms(struct drm_device *dev); int radeon_driver_irq_postinstall_kms(struct drm_device *dev);
void radeon_driver_irq_uninstall_kms(struct drm_device *dev); void radeon_driver_irq_uninstall_kms(struct drm_device *dev);
irqreturn_t radeon_driver_irq_handler_kms(DRM_IRQ_ARGS); irqreturn_t radeon_driver_irq_handler_kms(DRM_IRQ_ARGS);
int radeon_gem_object_init(struct drm_gem_object *obj);
void radeon_gem_object_free(struct drm_gem_object *obj); void radeon_gem_object_free(struct drm_gem_object *obj);
int radeon_gem_object_open(struct drm_gem_object *obj, int radeon_gem_object_open(struct drm_gem_object *obj,
struct drm_file *file_priv); struct drm_file *file_priv);
...@@ -408,7 +407,6 @@ static struct drm_driver kms_driver = { ...@@ -408,7 +407,6 @@ static struct drm_driver kms_driver = {
.irq_uninstall = radeon_driver_irq_uninstall_kms, .irq_uninstall = radeon_driver_irq_uninstall_kms,
.irq_handler = radeon_driver_irq_handler_kms, .irq_handler = radeon_driver_irq_handler_kms,
.ioctls = radeon_ioctls_kms, .ioctls = radeon_ioctls_kms,
.gem_init_object = radeon_gem_object_init,
.gem_free_object = radeon_gem_object_free, .gem_free_object = radeon_gem_object_free,
.gem_open_object = radeon_gem_object_open, .gem_open_object = radeon_gem_object_open,
.gem_close_object = radeon_gem_object_close, .gem_close_object = radeon_gem_object_close,
......
...@@ -29,13 +29,6 @@ ...@@ -29,13 +29,6 @@
#include <drm/radeon_drm.h> #include <drm/radeon_drm.h>
#include "radeon.h" #include "radeon.h"
int radeon_gem_object_init(struct drm_gem_object *obj)
{
BUG();
return 0;
}
void radeon_gem_object_free(struct drm_gem_object *gobj) void radeon_gem_object_free(struct drm_gem_object *gobj)
{ {
struct radeon_bo *robj = gem_to_radeon_bo(gobj); struct radeon_bo *robj = gem_to_radeon_bo(gobj);
......
...@@ -191,7 +191,7 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp) ...@@ -191,7 +191,7 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
switch (info->request) { switch (info->request) {
case RADEON_INFO_DEVICE_ID: case RADEON_INFO_DEVICE_ID:
*value = dev->pci_device; *value = dev->pdev->device;
break; break;
case RADEON_INFO_NUM_GB_PIPES: case RADEON_INFO_NUM_GB_PIPES:
*value = rdev->num_gb_pipes; *value = rdev->num_gb_pipes;
......
...@@ -77,7 +77,6 @@ static struct drm_driver driver = { ...@@ -77,7 +77,6 @@ static struct drm_driver driver = {
.unload = udl_driver_unload, .unload = udl_driver_unload,
/* gem hooks */ /* gem hooks */
.gem_init_object = udl_gem_init_object,
.gem_free_object = udl_gem_free_object, .gem_free_object = udl_gem_free_object,
.gem_vm_ops = &udl_gem_vm_ops, .gem_vm_ops = &udl_gem_vm_ops,
......
...@@ -115,7 +115,6 @@ int udl_dumb_create(struct drm_file *file_priv, ...@@ -115,7 +115,6 @@ int udl_dumb_create(struct drm_file *file_priv,
int udl_gem_mmap(struct drm_file *file_priv, struct drm_device *dev, int udl_gem_mmap(struct drm_file *file_priv, struct drm_device *dev,
uint32_t handle, uint64_t *offset); uint32_t handle, uint64_t *offset);
int udl_gem_init_object(struct drm_gem_object *obj);
void udl_gem_free_object(struct drm_gem_object *gem_obj); void udl_gem_free_object(struct drm_gem_object *gem_obj);
struct udl_gem_object *udl_gem_alloc_object(struct drm_device *dev, struct udl_gem_object *udl_gem_alloc_object(struct drm_device *dev,
size_t size); size_t size);
......
...@@ -107,13 +107,6 @@ int udl_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf) ...@@ -107,13 +107,6 @@ int udl_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
} }
} }
int udl_gem_init_object(struct drm_gem_object *obj)
{
BUG();
return 0;
}
static int udl_gem_get_pages(struct udl_gem_object *obj, gfp_t gfpmask) static int udl_gem_get_pages(struct udl_gem_object *obj, gfp_t gfpmask)
{ {
struct page **pages; struct page **pages;
......
...@@ -79,7 +79,7 @@ int via_final_context(struct drm_device *dev, int context) ...@@ -79,7 +79,7 @@ int via_final_context(struct drm_device *dev, int context)
/* Linux specific until context tracking code gets ported to BSD */ /* Linux specific until context tracking code gets ported to BSD */
/* Last context, perform cleanup */ /* Last context, perform cleanup */
if (dev->ctx_count == 1 && dev->dev_private) { if (list_is_singular(&dev->ctxlist) && dev->dev_private) {
DRM_DEBUG("Last Context\n"); DRM_DEBUG("Last Context\n");
drm_irq_uninstall(dev); drm_irq_uninstall(dev);
via_cleanup_futex(dev_priv); via_cleanup_futex(dev_priv);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment