• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/staging/tidspbridge/rmgr/

Lines Matching defs:hnode_mgr

189 	struct node_mgr *hnode_mgr;	/* The manager of this node */
243 static void delete_node_mgr(struct node_mgr *hnode_mgr);
250 static void free_stream(struct node_mgr *hnode_mgr, struct stream_chnl stream);
257 static int get_proc_props(struct node_mgr *hnode_mgr,
259 static int get_rms_fxns(struct node_mgr *hnode_mgr);
300 struct node_mgr *hnode_mgr;
342 status = dev_get_node_manager(hdev_obj, &hnode_mgr);
343 if (hnode_mgr == NULL)
369 if (hnode_mgr->ul_fxn_addrs[0] == 0) {
377 if (attr_in->prio < hnode_mgr->min_pri ||
378 attr_in->prio > hnode_mgr->max_pri)
391 pnode->hnode_mgr = hnode_mgr;
393 mutex_lock(&hnode_mgr->node_mgr_lock);
396 status = get_node_props(hnode_mgr->hdcd_mgr, pnode, node_uuid,
471 mutex_unlock(&hnode_mgr->node_mgr_lock);
564 intf_fxns = hnode_mgr->intf_fxns;
566 (*intf_fxns->pfn_msg_create_queue) (hnode_mgr->msg_mgr_obj,
577 status = hnode_mgr->nldr_fxns.pfn_allocate(hnode_mgr->nldr_obj,
597 hnode_mgr->nldr_fxns.
605 hnode_mgr->nldr_fxns.
644 mutex_lock(&hnode_mgr->node_mgr_lock);
646 lst_put_tail(hnode_mgr->node_list, (struct list_head *) pnode);
647 ++(hnode_mgr->num_nodes);
650 mutex_unlock(&hnode_mgr->node_mgr_lock);
779 struct node_mgr *hnode_mgr = NULL;
787 if (!hnode || !hnode->hnode_mgr) {
790 hnode_mgr = hnode->hnode_mgr;
794 else if (prio < hnode_mgr->min_pri || prio > hnode_mgr->max_pri)
801 mutex_lock(&hnode_mgr->node_mgr_lock);
814 disp_node_change_priority(hnode_mgr->disp_obj,
816 hnode_mgr->ul_fxn_addrs
826 mutex_unlock(&hnode_mgr->node_mgr_lock);
841 struct node_mgr *hnode_mgr;
866 node1->hnode_mgr != node2->hnode_mgr)
914 hnode_mgr = node1->hnode_mgr;
917 hnode_mgr = node2->hnode_mgr;
920 mutex_lock(&hnode_mgr->node_mgr_lock);
955 pipe_id = gb_findandset(hnode_mgr->pipe_map);
975 gb_clear(hnode_mgr->pipe_map, pipe_id);
1001 gb_findandset(hnode_mgr->dma_chnl_map);
1007 hnode_mgr->ul_num_chnls) : chnl_id;
1009 chnl_id = gb_findandset(hnode_mgr->zc_chnl_map);
1014 hnode_mgr->
1020 chnl_id = gb_findandset(hnode_mgr->chnl_map);
1025 chnl_id = gb_findandset(hnode_mgr->chnl_map);
1037 gb_clear(hnode_mgr->dma_chnl_map, chnl_id -
1038 hnode_mgr->ul_num_chnls);
1040 gb_clear(hnode_mgr->zc_chnl_map, chnl_id -
1041 (2 * hnode_mgr->ul_num_chnls));
1045 gb_clear(hnode_mgr->chnl_map, chnl_id);
1048 gb_clear(hnode_mgr->chnl_map, chnl_id);
1133 mutex_unlock(&hnode_mgr->node_mgr_lock);
1149 struct node_mgr *hnode_mgr;
1183 hnode_mgr = hnode->hnode_mgr;
1184 intf_fxns = hnode_mgr->intf_fxns;
1186 mutex_lock(&hnode_mgr->node_mgr_lock);
1215 status = hnode_mgr->nldr_fxns.pfn_load(hnode->nldr_node_obj,
1236 status = hnode_mgr->nldr_fxns.pfn_get_fxn_addr
1247 status = disp_node_create(hnode_mgr->disp_obj, hnode,
1248 hnode_mgr->ul_fxn_addrs
1256 intf_fxns = hnode_mgr->intf_fxns;
1268 status1 = hnode_mgr->nldr_fxns.pfn_unload(hnode->nldr_node_obj,
1279 hnode_mgr->num_created++;
1288 mutex_unlock(&hnode_mgr->node_mgr_lock);
1442 struct node_mgr *hnode_mgr;
1465 hnode_mgr = pnode->hnode_mgr;
1467 disp_obj = hnode_mgr->disp_obj;
1469 intf_fxns = hnode_mgr->intf_fxns;
1471 mutex_lock(&hnode_mgr->node_mgr_lock);
1497 hnode_mgr->nldr_fxns.
1508 hnode_mgr->nldr_fxns.
1536 hnode_mgr->
1549 hnode_mgr->nldr_fxns.
1558 hnode_mgr->nldr_fxns.pfn_unload(pnode->
1569 /* Remove node from hnode_mgr->node_list */
1570 lst_remove_elem(hnode_mgr->node_list, (struct list_head *)pnode);
1571 hnode_mgr->num_nodes--;
1575 hnode_mgr->num_created--;
1588 mutex_unlock(&hnode_mgr->node_mgr_lock);
1600 int node_delete_mgr(struct node_mgr *hnode_mgr)
1606 if (hnode_mgr)
1607 delete_node_mgr(hnode_mgr);
1619 int node_enum_nodes(struct node_mgr *hnode_mgr, void **node_tab,
1631 if (!hnode_mgr) {
1636 mutex_lock(&hnode_mgr->node_mgr_lock);
1638 if (hnode_mgr->num_nodes > node_tab_size) {
1639 *pu_allocated = hnode_mgr->num_nodes;
1643 hnode = (struct node_object *)lst_first(hnode_mgr->
1645 for (i = 0; i < hnode_mgr->num_nodes; i++) {
1649 (hnode_mgr->node_list,
1652 *pu_allocated = *pu_num_nodes = hnode_mgr->num_nodes;
1656 mutex_unlock(&hnode_mgr->node_mgr_lock);
1725 struct node_mgr *hnode_mgr;
1734 hnode_mgr = hnode->hnode_mgr;
1735 /* Enter hnode_mgr critical section (since we're accessing
1738 mutex_lock(&hnode_mgr->node_mgr_lock);
1755 mutex_unlock(&hnode_mgr->node_mgr_lock);
1811 struct node_mgr *hnode_mgr;
1837 hnode_mgr = hnode->hnode_mgr;
1849 intf_fxns = hnode_mgr->intf_fxns;
1859 hnode->hnode_mgr->
1868 message->dw_arg2 *= hnode->hnode_mgr->udsp_word_size;
1884 int node_get_nldr_obj(struct node_mgr *hnode_mgr,
1888 struct node_mgr *node_mgr_obj = hnode_mgr;
1891 if (!hnode_mgr)
1915 *strm_man = hnode->hnode_mgr->strm_mgr_obj;
2000 (void)hnode->hnode_mgr->nldr_fxns.pfn_unload(hnode->
2022 struct node_mgr *hnode_mgr;
2046 hnode_mgr = hnode->hnode_mgr;
2049 mutex_lock(&hnode_mgr->node_mgr_lock);
2069 status = disp_node_change_priority(hnode_mgr->disp_obj, hnode,
2070 hnode_mgr->ul_fxn_addrs[RMSCHANGENODEPRIORITY],
2080 mutex_unlock(&hnode_mgr->node_mgr_lock);
2102 struct node_mgr *hnode_mgr = NULL;
2130 hnode_mgr = hnode->hnode_mgr;
2144 mutex_lock(&hnode_mgr->node_mgr_lock);
2150 mutex_unlock(&hnode_mgr->node_mgr_lock);
2165 if (hnode->hnode_mgr->udsp_word_size != 0) {
2168 hnode->hnode_mgr->udsp_word_size;
2170 new_msg.dw_arg2 /= hnode->hnode_mgr->
2182 intf_fxns = hnode_mgr->intf_fxns;
2230 intf_fxns = hnode->hnode_mgr->intf_fxns;
2254 struct node_mgr *hnode_mgr;
2287 hnode_mgr = hnode->hnode_mgr;
2288 if (!hnode_mgr) {
2292 intf_fxns = hnode_mgr->intf_fxns;
2294 mutex_lock(&hnode_mgr->node_mgr_lock);
2313 hnode_mgr->nldr_fxns.pfn_load(hnode->nldr_node_obj,
2332 ul_fxn_addr = hnode_mgr->ul_fxn_addrs[RMSEXECUTENODE];
2334 disp_node_run(hnode_mgr->disp_obj, hnode,
2339 ul_fxn_addr = hnode_mgr->ul_fxn_addrs[RMSCHANGENODEPRIORITY];
2340 status = disp_node_change_priority(hnode_mgr->disp_obj, hnode,
2355 mutex_unlock(&hnode_mgr->node_mgr_lock);
2374 struct node_mgr *hnode_mgr = NULL;
2387 if (!hnode || !hnode->hnode_mgr) {
2398 hnode_mgr = hnode->hnode_mgr;
2405 mutex_lock(&hnode_mgr->node_mgr_lock);
2418 mutex_unlock(&hnode_mgr->node_mgr_lock);
2440 intf_fxns = hnode_mgr->intf_fxns;
2474 dev_get_deh_mgr(hnode_mgr->hdev_obj, &hdeh_mgr);
2485 mutex_lock(&hnode_mgr->node_mgr_lock);
2494 mutex_unlock(&hnode_mgr->node_mgr_lock);
2508 struct node_mgr *hnode_mgr;
2524 hnode_mgr = hnode->hnode_mgr;
2525 if (!hnode_mgr)
2535 intf_fxns = hnode_mgr->intf_fxns;
2547 free_stream(hnode_mgr, stream);
2555 free_stream(hnode_mgr, stream);
2630 hnode->hnode_mgr = NULL;
2642 static void delete_node_mgr(struct node_mgr *hnode_mgr)
2646 if (hnode_mgr) {
2648 if (hnode_mgr->hdcd_mgr)
2649 dcd_destroy_manager(hnode_mgr->hdcd_mgr);
2652 if (hnode_mgr->node_list) {
2654 lst_get_head(hnode_mgr->node_list)))
2657 DBC_ASSERT(LST_IS_EMPTY(hnode_mgr->node_list));
2658 kfree(hnode_mgr->node_list);
2660 mutex_destroy(&hnode_mgr->node_mgr_lock);
2661 if (hnode_mgr->ntfy_obj) {
2662 ntfy_delete(hnode_mgr->ntfy_obj);
2663 kfree(hnode_mgr->ntfy_obj);
2666 if (hnode_mgr->pipe_map)
2667 gb_delete(hnode_mgr->pipe_map);
2669 if (hnode_mgr->pipe_done_map)
2670 gb_delete(hnode_mgr->pipe_done_map);
2672 if (hnode_mgr->chnl_map)
2673 gb_delete(hnode_mgr->chnl_map);
2675 if (hnode_mgr->dma_chnl_map)
2676 gb_delete(hnode_mgr->dma_chnl_map);
2678 if (hnode_mgr->zc_chnl_map)
2679 gb_delete(hnode_mgr->zc_chnl_map);
2681 if (hnode_mgr->disp_obj)
2682 disp_delete(hnode_mgr->disp_obj);
2684 if (hnode_mgr->strm_mgr_obj)
2685 strm_delete(hnode_mgr->strm_mgr_obj);
2688 if (hnode_mgr->nldr_obj)
2689 hnode_mgr->nldr_fxns.pfn_delete(hnode_mgr->nldr_obj);
2691 if (hnode_mgr->loader_init)
2692 hnode_mgr->nldr_fxns.pfn_exit();
2694 kfree(hnode_mgr);
2767 struct node_mgr *hnode_mgr = hnode->hnode_mgr;
2772 pattrs->buf_size / hnode_mgr->udsp_data_mau_size;
2779 DEFAULTBUFSIZE / hnode_mgr->udsp_data_mau_size;
2791 static void free_stream(struct node_mgr *hnode_mgr, struct stream_chnl stream)
2795 if (gb_test(hnode_mgr->pipe_done_map, stream.dev_id)) {
2797 gb_clear(hnode_mgr->pipe_done_map, stream.dev_id);
2798 gb_clear(hnode_mgr->pipe_map, stream.dev_id);
2801 gb_set(hnode_mgr->pipe_done_map, stream.dev_id);
2804 if (stream.dev_id < hnode_mgr->ul_num_chnls) {
2805 gb_clear(hnode_mgr->chnl_map, stream.dev_id);
2806 } else if (stream.dev_id < (2 * hnode_mgr->ul_num_chnls)) {
2808 gb_clear(hnode_mgr->dma_chnl_map, stream.dev_id -
2809 (1 * hnode_mgr->ul_num_chnls));
2810 } else if (stream.dev_id < (3 * hnode_mgr->ul_num_chnls)) {
2812 gb_clear(hnode_mgr->zc_chnl_map, stream.dev_id -
2813 (2 * hnode_mgr->ul_num_chnls));
2827 struct node_mgr *hnode_mgr = hnode->hnode_mgr;
2853 hnode_mgr->nldr_fxns.pfn_get_fxn_addr(hnode->nldr_node_obj,
2968 static int get_proc_props(struct node_mgr *hnode_mgr,
2983 hnode_mgr->ul_chnl_offset = host_res->dw_chnl_offset;
2984 hnode_mgr->ul_chnl_buf_size = host_res->dw_chnl_buf_size;
2985 hnode_mgr->ul_num_chnls = host_res->dw_num_chnls;
2992 hnode_mgr->proc_family = 6000;
2993 hnode_mgr->proc_type = 6410;
2994 hnode_mgr->min_pri = DSP_NODE_MIN_PRIORITY;
2995 hnode_mgr->max_pri = DSP_NODE_MAX_PRIORITY;
2996 hnode_mgr->udsp_word_size = DSPWORDSIZE;
2997 hnode_mgr->udsp_data_mau_size = DSPWORDSIZE;
2998 hnode_mgr->udsp_mau_size = 1;
3013 struct node_mgr *hnode_mgr = NULL;
3040 status = dev_get_node_manager(hdev_obj, &hnode_mgr);
3041 if (hnode_mgr == NULL) {
3053 mutex_lock(&hnode_mgr->node_mgr_lock);
3060 status = dcd_get_object_def(hnode_mgr->hdcd_mgr,
3075 mutex_unlock(&hnode_mgr->node_mgr_lock);
3085 static int get_rms_fxns(struct node_mgr *hnode_mgr)
3088 struct dev_object *dev_obj = hnode_mgr->hdev_obj;
3105 &(hnode_mgr->ul_fxn_addrs[i]));
3135 struct node_mgr *hnode_mgr;
3146 hnode_mgr = hnode->hnode_mgr;
3148 ul_size = ul_num_bytes / hnode_mgr->udsp_word_size;
3152 intf_fxns = hnode_mgr->intf_fxns;
3153 status = dev_get_bridge_context(hnode_mgr->hdev_obj, &hbridge_context);
3179 struct node_mgr *hnode_mgr;
3190 hnode_mgr = hnode->hnode_mgr;
3196 intf_fxns = hnode_mgr->intf_fxns;
3197 status = dev_get_bridge_context(hnode_mgr->hdev_obj, &hbridge_context);