5 #include "radeon_drm.h"
6 #include "radeon_bocs_wrapper.h"
7 #include "radeon_cs_int_drm.h"
9 struct radeon_cs
*radeon_cs_create(struct radeon_cs_manager
*csm
,
12 struct radeon_cs_int
*csi
= csm
->funcs
->cs_create(csm
, ndw
);
13 return (struct radeon_cs
*)csi
;
16 int radeon_cs_write_reloc(struct radeon_cs
*cs
,
19 uint32_t write_domain
,
22 struct radeon_cs_int
*csi
= (struct radeon_cs_int
*)cs
;
24 return csi
->csm
->funcs
->cs_write_reloc(csi
,
31 int radeon_cs_begin(struct radeon_cs
*cs
,
37 struct radeon_cs_int
*csi
= (struct radeon_cs_int
*)cs
;
38 return csi
->csm
->funcs
->cs_begin(csi
, ndw
, file
, func
, line
);
41 int radeon_cs_end(struct radeon_cs
*cs
,
46 struct radeon_cs_int
*csi
= (struct radeon_cs_int
*)cs
;
47 return csi
->csm
->funcs
->cs_end(csi
, file
, func
, line
);
50 int radeon_cs_emit(struct radeon_cs
*cs
)
52 struct radeon_cs_int
*csi
= (struct radeon_cs_int
*)cs
;
53 return csi
->csm
->funcs
->cs_emit(csi
);
56 int radeon_cs_destroy(struct radeon_cs
*cs
)
58 struct radeon_cs_int
*csi
= (struct radeon_cs_int
*)cs
;
59 return csi
->csm
->funcs
->cs_destroy(csi
);
62 int radeon_cs_erase(struct radeon_cs
*cs
)
64 struct radeon_cs_int
*csi
= (struct radeon_cs_int
*)cs
;
65 return csi
->csm
->funcs
->cs_erase(csi
);
68 int radeon_cs_need_flush(struct radeon_cs
*cs
)
70 struct radeon_cs_int
*csi
= (struct radeon_cs_int
*)cs
;
71 return csi
->csm
->funcs
->cs_need_flush(csi
);
74 void radeon_cs_print(struct radeon_cs
*cs
, FILE *file
)
76 struct radeon_cs_int
*csi
= (struct radeon_cs_int
*)cs
;
77 csi
->csm
->funcs
->cs_print(csi
, file
);
80 void radeon_cs_set_limit(struct radeon_cs
*cs
, uint32_t domain
, uint32_t limit
)
82 struct radeon_cs_int
*csi
= (struct radeon_cs_int
*)cs
;
83 if (domain
== RADEON_GEM_DOMAIN_VRAM
)
84 csi
->csm
->vram_limit
= limit
;
86 csi
->csm
->gart_limit
= limit
;
89 void radeon_cs_space_set_flush(struct radeon_cs
*cs
, void (*fn
)(void *), void *data
)
91 struct radeon_cs_int
*csi
= (struct radeon_cs_int
*)cs
;
92 csi
->space_flush_fn
= fn
;
93 csi
->space_flush_data
= data
;