13#define VDFLAG(DATA, FLAG) (DATA->flags & FLAG)
14#define VD_BUFF_OWNER(BUFF) *(arax_data_s **) ((char *) BUFF - sizeof(size_t *))
30 "UNUSED", alloc_size, 1);
35 uint64_t *buff_ptr = (uint64_t *) (data + 1);
38 buff_ptr = (uint64_t *) (((
char *) buff_ptr) + align - (((
size_t) buff_ptr) % align));
104 fprintf(stderr,
"%s(%p,%p): Size mismatch (%lu,%lu)\n", __func__, dst, src,
arax_data_size(dst),
108 fprintf(stderr,
"%s(%p,%p)[%lu,%lu]\n", __func__, dst, src, dst->
flags, src->
flags);
115#define TYPE_MASK(A, B) ( ( (A) *ARAX_TYPE_COUNT ) + (B) )
122 if (data->
accel == accel)
135 switch (
TYPE_MASK(data_accel_type, accel_accel_type) ) {
145 fprintf(stderr,
"Different device data migration!\n");
146 arax_assert(!
"arax_data_migrate_accel: D2D not implemented!");
151 fprintf(stderr,
"%s():Data migration not implemented(%s:%s,%s:%s)!\n",
200 if (data->
accel != accel) {
314 if (data > start && data < end) {
353 file += strlen(file);
366 fprintf(stderr,
"%s(%p)[%lu]:Flags(%s) %08x ?????? @%lu:%s\n", __func__, vdata,
arax_data_size(vdata),
382 fprintf(stderr,
"arax_data(%p) dtor called, with dangling remote, with no accel!\n", data);
397 fprintf(stderr,
"arax_data(%p,%s,size:%lu) dtor called, data possibly unused!\n", data, obj->name,
arax_data_size(
struct arax_pipe arax_pipe_s
#define arax_assert(EXPR)
#define arax_assert_obj(OBJ, TYPE)
struct utils_list_node utils_list_node_s
#define utils_list_for_each(list, itr)
#define arax_data_stat(DATA)
#define ARAX_BUFF_ALLOC_SIZE(SIZE, ALIGN)
enum arax_object_type arax_object_type_e
#define ARAX_OBJ_DTOR_DECL(TYPE)
struct arax_task_msg arax_task_msg_s
#define ARAX_THROTTLE_DEBUG_PRINT(...)
void ARAX_THROTTLE_DEBUG_ACCEL_FUNC arax_accel_size_dec(arax_accel *accel, size_t sz ARAX_THROTTLE_DEBUG_ACCEL_PARAMS)
void arax_data_arg_init(arax_data_s *data, arax_accel *accel)
void arax_data_output_init(arax_data_s *data, arax_accel *accel)
void * arax_data_deref(arax_data *data)
void arax_data_input_init(arax_data_s *data, arax_accel *accel)
size_t arax_data_size(arax_data *data)
void arax_data_migrate_accel(arax_data_s *data, arax_accel *accel)
arax_data_s * arax_data_init_aligned(arax_pipe_s *vpipe, size_t size, size_t align)
int arax_data_has_remote(arax_data *data)
void arax_data_get(arax_data *data, void *user)
void arax_data_memcpy(arax_accel *accel, arax_data_s *dst, arax_data_s *src, int block)
void arax_data_set(arax_data *data, arax_accel *accel, const void *user)
void arax_data_free(arax_data *data)
#define VD_BUFF_OWNER(BUFF)
arax_data * arax_data_ref_offset(arax_pipe_s *vpipe, void *data)
void arax_data_set_remote(arax_data_s *data, arax_accel *accel, void *remt)
void arax_data_set_accel(arax_data_s *data, arax_accel *accel)
arax_data_s * arax_data_init(arax_pipe_s *vpipe, size_t size)
void arax_data_allocate_remote(arax_data_s *data, arax_accel *accel)
arax_data * arax_data_ref(void *data)
arax_object_s * arax_object_register(arax_object_repo_s *repo, arax_object_type_e type, const char *name, size_t size, const int ref_count)
const char * arax_object_type_to_str(arax_object_type_e type)
void arax_object_ref_inc(arax_object_s *obj)
utils_list_s * arax_object_list_lock(arax_object_repo_s *repo, arax_object_type_e type)
void arax_object_list_unlock(arax_object_repo_s *repo, arax_object_type_e type)
int arax_object_ref_dec(arax_object_s *obj)
int arax_ptr_valid(const void *ptr)
void * arax_task_host_data(arax_task_msg_s *task, size_t size)
int arax_proc_put(arax_proc *func)
arax_proc * arax_proc_get(const char *func_name)
void arax_task_free(arax_task *task)
arax_task * arax_task_issue(arax_accel *accel, arax_proc *proc, const void *host_init, size_t host_size, size_t in_count, arax_data **dev_in, size_t out_count, arax_data **dev_out)
arax_task_state_e arax_task_wait(arax_task *task)