Rev 3243 | Rev 3262 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3243 | Rev 3255 | ||
---|---|---|---|
Line 425... | Line 425... | ||
425 | /* initial implementaton using a linked list - todo hashtab */ |
425 | /* initial implementaton using a linked list - todo hashtab */ |
426 | struct drm_prime_file_private { |
426 | struct drm_prime_file_private { |
427 | struct list_head head; |
427 | struct list_head head; |
428 | struct mutex lock; |
428 | struct mutex lock; |
429 | }; |
429 | }; |
- | 430 | #endif |
|
Line 430... | Line 431... | ||
430 | 431 | ||
431 | /** File private data */ |
432 | /** File private data */ |
432 | struct drm_file { |
- | |
433 | int authenticated; |
- | |
434 | struct pid *pid; |
- | |
435 | kuid_t uid; |
- | |
436 | drm_magic_t magic; |
- | |
437 | unsigned long ioctl_count; |
433 | struct drm_file { |
438 | struct list_head lhead; |
- | |
439 | struct drm_minor *minor; |
434 | struct list_head lhead; |
Line 440... | Line 435... | ||
440 | unsigned long lock_count; |
435 | unsigned long lock_count; |
441 | 436 | ||
442 | /** Mapping of mm object handles to object pointers. */ |
437 | /** Mapping of mm object handles to object pointers. */ |
443 | struct idr object_idr; |
438 | struct idr object_idr; |
Line 444... | Line -... | ||
444 | /** Lock for synchronization of access to object_idr. */ |
- | |
445 | spinlock_t table_lock; |
439 | /** Lock for synchronization of access to object_idr. */ |
Line 446... | Line -... | ||
446 | - | ||
447 | struct file *filp; |
- | |
448 | void *driver_priv; |
- | |
449 | 440 | spinlock_t table_lock; |
|
Line 450... | Line 441... | ||
450 | int is_master; /* this file private is a master for a minor */ |
441 | |
451 | struct drm_master *master; /* master this node is currently associated with |
442 | void *driver_priv; |
452 | N.B. not always minor->master */ |
443 | |
453 | struct list_head fbs; |
- | |
454 | - | ||
455 | wait_queue_head_t event_wait; |
444 | struct list_head fbs; |
Line -... | Line 445... | ||
- | 445 | ||
456 | struct list_head event_list; |
446 | wait_queue_head_t event_wait; |
457 | int event_space; |
447 | struct list_head event_list; |
458 | 448 | int event_space; |
|
459 | struct drm_prime_file_private prime; |
449 | }; |
460 | }; |
450 | |
Line 970... | Line 960... | ||
970 | 960 | ||
971 | struct drm_driver { |
961 | struct drm_driver { |
972 | irqreturn_t (*irq_handler) (DRM_IRQ_ARGS); |
962 | irqreturn_t (*irq_handler) (DRM_IRQ_ARGS); |
973 | void (*irq_preinstall) (struct drm_device *dev); |
963 | void (*irq_preinstall) (struct drm_device *dev); |
- | 964 | int (*irq_postinstall) (struct drm_device *dev); |
|
- | 965 | int (*gem_open_object) (struct drm_gem_object *, struct drm_file *); |
|
974 | int (*irq_postinstall) (struct drm_device *dev); |
966 | void (*gem_close_object) (struct drm_gem_object *, struct drm_file *); |
Line 975... | Line 967... | ||
975 | }; |
967 | }; |
976 | 968 | ||
Line 1599... | Line 1591... | ||
1599 | { |
1591 | { |
1600 | if (obj != NULL) |
1592 | if (obj != NULL) |
1601 | kref_put(&obj->refcount, drm_gem_object_free); |
1593 | kref_put(&obj->refcount, drm_gem_object_free); |
1602 | } |
1594 | } |
Line 1603... | Line -... | ||
1603 | - | ||
1604 | #if 0 |
1595 | |
1605 | static inline void |
1596 | static inline void |
1606 | drm_gem_object_unreference_unlocked(struct drm_gem_object *obj) |
1597 | drm_gem_object_unreference_unlocked(struct drm_gem_object *obj) |
1607 | { |
1598 | { |
1608 | if (obj != NULL) { |
1599 | if (obj != NULL) { |
Line 1680... | Line 1671... | ||
1680 | 1671 | ||
1681 | extern void drm_core_ioremap(struct drm_local_map *map, struct drm_device *dev); |
1672 | extern void drm_core_ioremap(struct drm_local_map *map, struct drm_device *dev); |
1682 | extern void drm_core_ioremap_wc(struct drm_local_map *map, struct drm_device *dev); |
1673 | extern void drm_core_ioremap_wc(struct drm_local_map *map, struct drm_device *dev); |
Line -... | Line 1674... | ||
- | 1674 | extern void drm_core_ioremapfree(struct drm_local_map *map, struct drm_device *dev); |
|
- | 1675 | ||
1683 | extern void drm_core_ioremapfree(struct drm_local_map *map, struct drm_device *dev); |
1676 | #if 0 |
1684 | 1677 | ||
1685 | static __inline__ struct drm_local_map *drm_core_findmap(struct drm_device *dev, |
1678 | static __inline__ struct drm_local_map *drm_core_findmap(struct drm_device *dev, |
1686 | unsigned int token) |
1679 | unsigned int token) |
1687 | { |
1680 | { |