Subversion Repositories Kolibri OS

Rev

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
{