1 #ifndef __NOUVEAU_SOFTWARE_H__
2 #define __NOUVEAU_SOFTWARE_H__
4 #include "nouveau_fence.h"
6 struct nouveau_software_priv
{
7 struct nouveau_exec_engine base
;
8 struct list_head vblank
;
9 spinlock_t peephole_lock
;
12 struct nouveau_software_chan
{
13 int (*flip
)(void *data
);
17 struct list_head list
;
27 nouveau_software_context_new(struct nouveau_channel
*chan
,
28 struct nouveau_software_chan
*pch
)
30 pch
->flip
= nouveau_flip_complete
;
31 pch
->flip_data
= chan
;
35 nouveau_software_create(struct nouveau_software_priv
*psw
)
37 INIT_LIST_HEAD(&psw
->vblank
);
38 spin_lock_init(&psw
->peephole_lock
);
42 nouveau_software_class(struct drm_device
*dev
)
44 struct drm_nouveau_private
*dev_priv
= dev
->dev_private
;
45 if (dev_priv
->card_type
<= NV_04
)
47 if (dev_priv
->card_type
<= NV_40
)
49 if (dev_priv
->card_type
<= NV_50
)
51 if (dev_priv
->card_type
<= NV_E0
)
56 int nv04_software_create(struct drm_device
*);
57 int nv50_software_create(struct drm_device
*);
58 int nvc0_software_create(struct drm_device
*);
This page took 0.088992 seconds and 5 git commands to generate.