aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/tidspbridge/pmgr/cmm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/tidspbridge/pmgr/cmm.c')
-rw-r--r--drivers/staging/tidspbridge/pmgr/cmm.c59
1 files changed, 0 insertions, 59 deletions
diff --git a/drivers/staging/tidspbridge/pmgr/cmm.c b/drivers/staging/tidspbridge/pmgr/cmm.c
index e6b2c8962f8..2eeb5370927 100644
--- a/drivers/staging/tidspbridge/pmgr/cmm.c
+++ b/drivers/staging/tidspbridge/pmgr/cmm.c
@@ -244,9 +244,6 @@ int cmm_create(struct cmm_object **ph_cmm_mgr,
244 struct cmm_object *cmm_obj = NULL; 244 struct cmm_object *cmm_obj = NULL;
245 int status = 0; 245 int status = 0;
246 246
247 DBC_REQUIRE(refs > 0);
248 DBC_REQUIRE(ph_cmm_mgr != NULL);
249
250 *ph_cmm_mgr = NULL; 247 *ph_cmm_mgr = NULL;
251 /* create, zero, and tag a cmm mgr object */ 248 /* create, zero, and tag a cmm mgr object */
252 cmm_obj = kzalloc(sizeof(struct cmm_object), GFP_KERNEL); 249 cmm_obj = kzalloc(sizeof(struct cmm_object), GFP_KERNEL);
@@ -283,7 +280,6 @@ int cmm_destroy(struct cmm_object *hcmm_mgr, bool force)
283 s32 slot_seg; 280 s32 slot_seg;
284 struct cmm_mnode *node, *tmp; 281 struct cmm_mnode *node, *tmp;
285 282
286 DBC_REQUIRE(refs > 0);
287 if (!hcmm_mgr) { 283 if (!hcmm_mgr) {
288 status = -EFAULT; 284 status = -EFAULT;
289 return status; 285 return status;
@@ -333,8 +329,6 @@ int cmm_destroy(struct cmm_object *hcmm_mgr, bool force)
333 */ 329 */
334void cmm_exit(void) 330void cmm_exit(void)
335{ 331{
336 DBC_REQUIRE(refs > 0);
337
338 refs--; 332 refs--;
339} 333}
340 334
@@ -351,9 +345,6 @@ int cmm_free_buf(struct cmm_object *hcmm_mgr, void *buf_pa, u32 ul_seg_id)
351 struct cmm_allocator *allocator; 345 struct cmm_allocator *allocator;
352 struct cmm_attrs *pattrs; 346 struct cmm_attrs *pattrs;
353 347
354 DBC_REQUIRE(refs > 0);
355 DBC_REQUIRE(buf_pa != NULL);
356
357 if (ul_seg_id == 0) { 348 if (ul_seg_id == 0) {
358 pattrs = &cmm_dfltalctattrs; 349 pattrs = &cmm_dfltalctattrs;
359 ul_seg_id = pattrs->seg_id; 350 ul_seg_id = pattrs->seg_id;
@@ -392,8 +383,6 @@ int cmm_get_handle(void *hprocessor, struct cmm_object ** ph_cmm_mgr)
392 int status = 0; 383 int status = 0;
393 struct dev_object *hdev_obj; 384 struct dev_object *hdev_obj;
394 385
395 DBC_REQUIRE(refs > 0);
396 DBC_REQUIRE(ph_cmm_mgr != NULL);
397 if (hprocessor != NULL) 386 if (hprocessor != NULL)
398 status = proc_get_dev_object(hprocessor, &hdev_obj); 387 status = proc_get_dev_object(hprocessor, &hdev_obj);
399 else 388 else
@@ -419,8 +408,6 @@ int cmm_get_info(struct cmm_object *hcmm_mgr,
419 struct cmm_allocator *altr; 408 struct cmm_allocator *altr;
420 struct cmm_mnode *curr; 409 struct cmm_mnode *curr;
421 410
422 DBC_REQUIRE(cmm_info_obj != NULL);
423
424 if (!hcmm_mgr) { 411 if (!hcmm_mgr) {
425 status = -EFAULT; 412 status = -EFAULT;
426 return status; 413 return status;
@@ -472,12 +459,9 @@ bool cmm_init(void)
472{ 459{
473 bool ret = true; 460 bool ret = true;
474 461
475 DBC_REQUIRE(refs >= 0);
476 if (ret) 462 if (ret)
477 refs++; 463 refs++;
478 464
479 DBC_ENSURE((ret && (refs > 0)) || (!ret && (refs >= 0)));
480
481 return ret; 465 return ret;
482} 466}
483 467
@@ -499,13 +483,6 @@ int cmm_register_gppsm_seg(struct cmm_object *hcmm_mgr,
499 struct cmm_mnode *new_node; 483 struct cmm_mnode *new_node;
500 s32 slot_seg; 484 s32 slot_seg;
501 485
502 DBC_REQUIRE(ul_size > 0);
503 DBC_REQUIRE(sgmt_id != NULL);
504 DBC_REQUIRE(dw_gpp_base_pa != 0);
505 DBC_REQUIRE(gpp_base_va != 0);
506 DBC_REQUIRE((c_factor <= CMM_ADDTODSPPA) &&
507 (c_factor >= CMM_SUBFROMDSPPA));
508
509 dev_dbg(bridge, "%s: dw_gpp_base_pa %x ul_size %x dsp_addr_offset %x " 486 dev_dbg(bridge, "%s: dw_gpp_base_pa %x ul_size %x dsp_addr_offset %x "
510 "dw_dsp_base %x ul_dsp_size %x gpp_base_va %x\n", 487 "dw_dsp_base %x ul_dsp_size %x gpp_base_va %x\n",
511 __func__, dw_gpp_base_pa, ul_size, dsp_addr_offset, 488 __func__, dw_gpp_base_pa, ul_size, dsp_addr_offset,
@@ -589,7 +566,6 @@ int cmm_un_register_gppsm_seg(struct cmm_object *hcmm_mgr,
589 struct cmm_allocator *psma; 566 struct cmm_allocator *psma;
590 u32 ul_id = ul_seg_id; 567 u32 ul_id = ul_seg_id;
591 568
592 DBC_REQUIRE(ul_seg_id > 0);
593 if (!hcmm_mgr) 569 if (!hcmm_mgr)
594 return -EFAULT; 570 return -EFAULT;
595 571
@@ -635,8 +611,6 @@ static void un_register_gppsm_seg(struct cmm_allocator *psma)
635{ 611{
636 struct cmm_mnode *curr, *tmp; 612 struct cmm_mnode *curr, *tmp;
637 613
638 DBC_REQUIRE(psma != NULL);
639
640 /* free nodes on free list */ 614 /* free nodes on free list */
641 list_for_each_entry_safe(curr, tmp, &psma->free_list, link) { 615 list_for_each_entry_safe(curr, tmp, &psma->free_list, link) {
642 list_del(&curr->link); 616 list_del(&curr->link);
@@ -664,7 +638,6 @@ static void un_register_gppsm_seg(struct cmm_allocator *psma)
664static s32 get_slot(struct cmm_object *cmm_mgr_obj) 638static s32 get_slot(struct cmm_object *cmm_mgr_obj)
665{ 639{
666 s32 slot_seg = -1; /* neg on failure */ 640 s32 slot_seg = -1; /* neg on failure */
667 DBC_REQUIRE(cmm_mgr_obj != NULL);
668 /* get first available slot in cmm mgr SMSegTab[] */ 641 /* get first available slot in cmm mgr SMSegTab[] */
669 for (slot_seg = 0; slot_seg < CMM_MAXGPPSEGS; slot_seg++) { 642 for (slot_seg = 0; slot_seg < CMM_MAXGPPSEGS; slot_seg++) {
670 if (cmm_mgr_obj->pa_gppsm_seg_tab[slot_seg] == NULL) 643 if (cmm_mgr_obj->pa_gppsm_seg_tab[slot_seg] == NULL)
@@ -687,11 +660,6 @@ static struct cmm_mnode *get_node(struct cmm_object *cmm_mgr_obj, u32 dw_pa,
687{ 660{
688 struct cmm_mnode *pnode; 661 struct cmm_mnode *pnode;
689 662
690 DBC_REQUIRE(cmm_mgr_obj != NULL);
691 DBC_REQUIRE(dw_pa != 0);
692 DBC_REQUIRE(dw_va != 0);
693 DBC_REQUIRE(ul_size != 0);
694
695 /* Check cmm mgr's node freelist */ 663 /* Check cmm mgr's node freelist */
696 if (list_empty(&cmm_mgr_obj->node_free_list)) { 664 if (list_empty(&cmm_mgr_obj->node_free_list)) {
697 pnode = kzalloc(sizeof(struct cmm_mnode), GFP_KERNEL); 665 pnode = kzalloc(sizeof(struct cmm_mnode), GFP_KERNEL);
@@ -719,7 +687,6 @@ static struct cmm_mnode *get_node(struct cmm_object *cmm_mgr_obj, u32 dw_pa,
719 */ 687 */
720static void delete_node(struct cmm_object *cmm_mgr_obj, struct cmm_mnode *pnode) 688static void delete_node(struct cmm_object *cmm_mgr_obj, struct cmm_mnode *pnode)
721{ 689{
722 DBC_REQUIRE(pnode != NULL);
723 list_add_tail(&pnode->link, &cmm_mgr_obj->node_free_list); 690 list_add_tail(&pnode->link, &cmm_mgr_obj->node_free_list);
724} 691}
725 692
@@ -794,9 +761,6 @@ static void add_to_free_list(struct cmm_allocator *allocator,
794static struct cmm_allocator *get_allocator(struct cmm_object *cmm_mgr_obj, 761static struct cmm_allocator *get_allocator(struct cmm_object *cmm_mgr_obj,
795 u32 ul_seg_id) 762 u32 ul_seg_id)
796{ 763{
797 DBC_REQUIRE(cmm_mgr_obj != NULL);
798 DBC_REQUIRE((ul_seg_id > 0) && (ul_seg_id <= CMM_MAXGPPSEGS));
799
800 return cmm_mgr_obj->pa_gppsm_seg_tab[ul_seg_id - 1]; 764 return cmm_mgr_obj->pa_gppsm_seg_tab[ul_seg_id - 1];
801} 765}
802 766
@@ -818,10 +782,6 @@ int cmm_xlator_create(struct cmm_xlatorobject **xlator,
818 struct cmm_xlator *xlator_object = NULL; 782 struct cmm_xlator *xlator_object = NULL;
819 int status = 0; 783 int status = 0;
820 784
821 DBC_REQUIRE(refs > 0);
822 DBC_REQUIRE(xlator != NULL);
823 DBC_REQUIRE(hcmm_mgr != NULL);
824
825 *xlator = NULL; 785 *xlator = NULL;
826 if (xlator_attrs == NULL) 786 if (xlator_attrs == NULL)
827 xlator_attrs = &cmm_dfltxlatorattrs; /* set defaults */ 787 xlator_attrs = &cmm_dfltxlatorattrs; /* set defaults */
@@ -851,13 +811,6 @@ void *cmm_xlator_alloc_buf(struct cmm_xlatorobject *xlator, void *va_buf,
851 void *tmp_va_buff; 811 void *tmp_va_buff;
852 struct cmm_attrs attrs; 812 struct cmm_attrs attrs;
853 813
854 DBC_REQUIRE(refs > 0);
855 DBC_REQUIRE(xlator != NULL);
856 DBC_REQUIRE(xlator_obj->cmm_mgr != NULL);
857 DBC_REQUIRE(va_buf != NULL);
858 DBC_REQUIRE(pa_size > 0);
859 DBC_REQUIRE(xlator_obj->seg_id > 0);
860
861 if (xlator_obj) { 814 if (xlator_obj) {
862 attrs.seg_id = xlator_obj->seg_id; 815 attrs.seg_id = xlator_obj->seg_id;
863 __raw_writel(0, va_buf); 816 __raw_writel(0, va_buf);
@@ -887,10 +840,6 @@ int cmm_xlator_free_buf(struct cmm_xlatorobject *xlator, void *buf_va)
887 int status = -EPERM; 840 int status = -EPERM;
888 void *buf_pa = NULL; 841 void *buf_pa = NULL;
889 842
890 DBC_REQUIRE(refs > 0);
891 DBC_REQUIRE(buf_va != NULL);
892 DBC_REQUIRE(xlator_obj->seg_id > 0);
893
894 if (xlator_obj) { 843 if (xlator_obj) {
895 /* convert Va to Pa so we can free it. */ 844 /* convert Va to Pa so we can free it. */
896 buf_pa = cmm_xlator_translate(xlator, buf_va, CMM_VA2PA); 845 buf_pa = cmm_xlator_translate(xlator, buf_va, CMM_VA2PA);
@@ -918,10 +867,6 @@ int cmm_xlator_info(struct cmm_xlatorobject *xlator, u8 ** paddr,
918 struct cmm_xlator *xlator_obj = (struct cmm_xlator *)xlator; 867 struct cmm_xlator *xlator_obj = (struct cmm_xlator *)xlator;
919 int status = 0; 868 int status = 0;
920 869
921 DBC_REQUIRE(refs > 0);
922 DBC_REQUIRE(paddr != NULL);
923 DBC_REQUIRE((segm_id > 0) && (segm_id <= CMM_MAXGPPSEGS));
924
925 if (xlator_obj) { 870 if (xlator_obj) {
926 if (set_info) { 871 if (set_info) {
927 /* set translators virtual address range */ 872 /* set translators virtual address range */
@@ -948,10 +893,6 @@ void *cmm_xlator_translate(struct cmm_xlatorobject *xlator, void *paddr,
948 struct cmm_allocator *allocator = NULL; 893 struct cmm_allocator *allocator = NULL;
949 u32 dw_offset = 0; 894 u32 dw_offset = 0;
950 895
951 DBC_REQUIRE(refs > 0);
952 DBC_REQUIRE(paddr != NULL);
953 DBC_REQUIRE((xtype >= CMM_VA2PA) && (xtype <= CMM_DSPPA2PA));
954
955 if (!xlator_obj) 896 if (!xlator_obj)
956 goto loop_cont; 897 goto loop_cont;
957 898