Deleted Added
sdiff udiff text old ( 189499 ) new ( 196470 )
full compact
1/*-
2 * Copyright 2000 VA Linux Systems, Inc., Fremont, California.
3 * All Rights Reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,

--- 13 unchanged lines hidden (view full) ---

22 * DEALINGS IN THE SOFTWARE.
23 *
24 * Authors:
25 * Gareth Hughes <gareth@valinux.com>
26 * Kevin E. Martin <martin@valinux.com>
27 */
28
29#include <sys/cdefs.h>
30__FBSDID("$FreeBSD: head/sys/dev/drm/radeon_state.c 189499 2009-03-07 21:36:57Z rnoland $");
31
32#include "dev/drm/drmP.h"
33#include "dev/drm/drm.h"
34#include "dev/drm/drm_sarea.h"
35#include "dev/drm/radeon_drm.h"
36#include "dev/drm/radeon_drv.h"
37
38/* ================================================================

--- 1497 unchanged lines hidden (view full) ---

1536 (numverts << RADEON_NUM_VERTICES_SHIFT));
1537
1538 ADVANCE_RING();
1539
1540 i++;
1541 } while (i < nbox);
1542}
1543
1544static void radeon_cp_discard_buffer(struct drm_device *dev, struct drm_buf *buf)
1545{
1546 drm_radeon_private_t *dev_priv = dev->dev_private;
1547 drm_radeon_buf_priv_t *buf_priv = buf->dev_private;
1548 RING_LOCALS;
1549
1550 buf_priv->age = ++dev_priv->sarea_priv->last_dispatch;
1551
1552 /* Emit the vertex buffer age */

--- 644 unchanged lines hidden (view full) ---

2197
2198 LOCK_TEST_WITH_RETURN(dev, file_priv);
2199
2200 RING_SPACE_TEST_WITH_RETURN(dev_priv);
2201
2202 if (sarea_priv->nbox > RADEON_NR_SAREA_CLIPRECTS)
2203 sarea_priv->nbox = RADEON_NR_SAREA_CLIPRECTS;
2204
2205 radeon_cp_dispatch_swap(dev);
2206 sarea_priv->ctx_owner = 0;
2207
2208 COMMIT_RING();
2209 return 0;
2210}
2211
2212static int radeon_cp_vertex(struct drm_device *dev, void *data, struct drm_file *file_priv)
2213{

--- 180 unchanged lines hidden (view full) ---

2394 if (DRM_COPY_FROM_USER(&image,
2395 (drm_radeon_tex_image_t __user *) tex->image,
2396 sizeof(image)))
2397 return -EFAULT;
2398
2399 RING_SPACE_TEST_WITH_RETURN(dev_priv);
2400 VB_AGE_TEST_WITH_RETURN(dev_priv);
2401
2402 ret = radeon_cp_dispatch_texture(dev, file_priv, tex, &image);
2403
2404 return ret;
2405}
2406
2407static int radeon_cp_stipple(struct drm_device *dev, void *data, struct drm_file *file_priv)
2408{
2409 drm_radeon_private_t *dev_priv = dev->dev_private;
2410 drm_radeon_stipple_t *stipple = data;

--- 740 unchanged lines hidden (view full) ---

3151 radeon_mem_release(file_priv, dev_priv->fb_heap);
3152 radeon_surfaces_release(file_priv, dev_priv);
3153 }
3154}
3155
3156void radeon_driver_lastclose(struct drm_device *dev)
3157{
3158 radeon_surfaces_release(PCIGART_FILE_PRIV, dev->dev_private);
3159 radeon_do_release(dev);
3160}
3161
3162int radeon_driver_open(struct drm_device *dev, struct drm_file *file_priv)
3163{
3164 drm_radeon_private_t *dev_priv = dev->dev_private;
3165 struct drm_radeon_driver_file_fields *radeon_priv;
3166

--- 44 unchanged lines hidden (view full) ---

3211 DRM_IOCTL_DEF(DRM_RADEON_FLIP, radeon_cp_flip, DRM_AUTH),
3212 DRM_IOCTL_DEF(DRM_RADEON_ALLOC, radeon_mem_alloc, DRM_AUTH),
3213 DRM_IOCTL_DEF(DRM_RADEON_FREE, radeon_mem_free, DRM_AUTH),
3214 DRM_IOCTL_DEF(DRM_RADEON_INIT_HEAP, radeon_mem_init_heap, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
3215 DRM_IOCTL_DEF(DRM_RADEON_IRQ_EMIT, radeon_irq_emit, DRM_AUTH),
3216 DRM_IOCTL_DEF(DRM_RADEON_IRQ_WAIT, radeon_irq_wait, DRM_AUTH),
3217 DRM_IOCTL_DEF(DRM_RADEON_SETPARAM, radeon_cp_setparam, DRM_AUTH),
3218 DRM_IOCTL_DEF(DRM_RADEON_SURF_ALLOC, radeon_surface_alloc, DRM_AUTH),
3219 DRM_IOCTL_DEF(DRM_RADEON_SURF_FREE, radeon_surface_free, DRM_AUTH)
3220};
3221
3222int radeon_max_ioctl = DRM_ARRAY_SIZE(radeon_ioctls);