summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/clk/clk_domain.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/clk/clk_domain.c')
-rw-r--r--drivers/gpu/nvgpu/clk/clk_domain.c86
1 files changed, 43 insertions, 43 deletions
diff --git a/drivers/gpu/nvgpu/clk/clk_domain.c b/drivers/gpu/nvgpu/clk/clk_domain.c
index 9f17d199..c0445e5c 100644
--- a/drivers/gpu/nvgpu/clk/clk_domain.c
+++ b/drivers/gpu/nvgpu/clk/clk_domain.c
@@ -33,10 +33,10 @@
33 33
34static struct clk_domain *construct_clk_domain(struct gk20a *g, void *pargs); 34static struct clk_domain *construct_clk_domain(struct gk20a *g, void *pargs);
35 35
36static u32 devinit_get_clocks_table(struct gk20a *g, 36static int devinit_get_clocks_table(struct gk20a *g,
37 struct clk_domains *pdomainobjs); 37 struct clk_domains *pdomainobjs);
38 38
39static u32 clk_domain_pmudatainit_super(struct gk20a *g, struct boardobj 39static int clk_domain_pmudatainit_super(struct gk20a *g, struct boardobj
40 *board_obj_ptr, struct nv_pmu_boardobj *ppmudata); 40 *board_obj_ptr, struct nv_pmu_boardobj *ppmudata);
41 41
42static struct vbios_clocks_table_1x_hal_clock_entry 42static struct vbios_clocks_table_1x_hal_clock_entry
@@ -120,7 +120,7 @@ static u32 clktranslatehalmumsettoapinumset(u32 clkhaldomains)
120 return clkapidomains; 120 return clkapidomains;
121} 121}
122 122
123static u32 _clk_domains_pmudatainit_3x(struct gk20a *g, 123static int _clk_domains_pmudatainit_3x(struct gk20a *g,
124 struct boardobjgrp *pboardobjgrp, 124 struct boardobjgrp *pboardobjgrp,
125 struct nv_pmu_boardobjgrp_super *pboardobjgrppmu) 125 struct nv_pmu_boardobjgrp_super *pboardobjgrppmu)
126{ 126{
@@ -128,7 +128,7 @@ static u32 _clk_domains_pmudatainit_3x(struct gk20a *g,
128 (struct nv_pmu_clk_clk_domain_boardobjgrp_set_header *) 128 (struct nv_pmu_clk_clk_domain_boardobjgrp_set_header *)
129 pboardobjgrppmu; 129 pboardobjgrppmu;
130 struct clk_domains *pdomains = (struct clk_domains *)pboardobjgrp; 130 struct clk_domains *pdomains = (struct clk_domains *)pboardobjgrp;
131 u32 status = 0; 131 int status = 0;
132 132
133 status = boardobjgrp_pmudatainit_e32(g, pboardobjgrp, pboardobjgrppmu); 133 status = boardobjgrp_pmudatainit_e32(g, pboardobjgrp, pboardobjgrppmu);
134 if (status) { 134 if (status) {
@@ -162,7 +162,7 @@ done:
162 return status; 162 return status;
163} 163}
164 164
165static u32 _clk_domains_pmudata_instget(struct gk20a *g, 165static int _clk_domains_pmudata_instget(struct gk20a *g,
166 struct nv_pmu_boardobjgrp *pmuboardobjgrp, 166 struct nv_pmu_boardobjgrp *pmuboardobjgrp,
167 struct nv_pmu_boardobj **ppboardobjpmudata, 167 struct nv_pmu_boardobj **ppboardobjpmudata,
168 u8 idx) 168 u8 idx)
@@ -185,9 +185,9 @@ static u32 _clk_domains_pmudata_instget(struct gk20a *g,
185 return 0; 185 return 0;
186} 186}
187 187
188u32 clk_domain_sw_setup(struct gk20a *g) 188int clk_domain_sw_setup(struct gk20a *g)
189{ 189{
190 u32 status; 190 int status;
191 struct boardobjgrp *pboardobjgrp = NULL; 191 struct boardobjgrp *pboardobjgrp = NULL;
192 struct clk_domains *pclkdomainobjs; 192 struct clk_domains *pclkdomainobjs;
193 struct clk_domain *pdomain; 193 struct clk_domain *pdomain;
@@ -281,9 +281,9 @@ done:
281 return status; 281 return status;
282} 282}
283 283
284u32 clk_domain_pmu_setup(struct gk20a *g) 284int clk_domain_pmu_setup(struct gk20a *g)
285{ 285{
286 u32 status; 286 int status;
287 struct boardobjgrp *pboardobjgrp = NULL; 287 struct boardobjgrp *pboardobjgrp = NULL;
288 288
289 nvgpu_log_info(g, " "); 289 nvgpu_log_info(g, " ");
@@ -300,10 +300,10 @@ u32 clk_domain_pmu_setup(struct gk20a *g)
300 return status; 300 return status;
301} 301}
302 302
303static u32 devinit_get_clocks_table(struct gk20a *g, 303static int devinit_get_clocks_table(struct gk20a *g,
304 struct clk_domains *pclkdomainobjs) 304 struct clk_domains *pclkdomainobjs)
305{ 305{
306 u32 status = 0; 306 int status = 0;
307 u8 *clocks_table_ptr = NULL; 307 u8 *clocks_table_ptr = NULL;
308 struct vbios_clocks_table_1x_header clocks_table_header = { 0 }; 308 struct vbios_clocks_table_1x_header clocks_table_header = { 0 };
309 struct vbios_clocks_table_1x_entry clocks_table_entry = { 0 }; 309 struct vbios_clocks_table_1x_entry clocks_table_entry = { 0 };
@@ -486,7 +486,7 @@ done:
486 return status; 486 return status;
487} 487}
488 488
489static u32 clkdomainclkproglink_not_supported(struct gk20a *g, 489static int clkdomainclkproglink_not_supported(struct gk20a *g,
490 struct clk_pmupstate *pclk, 490 struct clk_pmupstate *pclk,
491 struct clk_domain *pdomain) 491 struct clk_domain *pdomain)
492{ 492{
@@ -520,13 +520,13 @@ static u32 clkdomaingetfpoints_stub(
520} 520}
521 521
522 522
523static u32 clk_domain_construct_super(struct gk20a *g, 523static int clk_domain_construct_super(struct gk20a *g,
524 struct boardobj **ppboardobj, 524 struct boardobj **ppboardobj,
525 u16 size, void *pargs) 525 u16 size, void *pargs)
526{ 526{
527 struct clk_domain *pdomain; 527 struct clk_domain *pdomain;
528 struct clk_domain *ptmpdomain = (struct clk_domain *)pargs; 528 struct clk_domain *ptmpdomain = (struct clk_domain *)pargs;
529 u32 status = 0; 529 int status = 0;
530 530
531 status = boardobj_construct_super(g, ppboardobj, 531 status = boardobj_construct_super(g, ppboardobj,
532 size, pargs); 532 size, pargs);
@@ -557,11 +557,11 @@ static u32 clk_domain_construct_super(struct gk20a *g,
557 return status; 557 return status;
558} 558}
559 559
560static u32 _clk_domain_pmudatainit_3x(struct gk20a *g, 560static int _clk_domain_pmudatainit_3x(struct gk20a *g,
561 struct boardobj *board_obj_ptr, 561 struct boardobj *board_obj_ptr,
562 struct nv_pmu_boardobj *ppmudata) 562 struct nv_pmu_boardobj *ppmudata)
563{ 563{
564 u32 status = 0; 564 int status = 0;
565 struct clk_domain_3x *pclk_domain_3x; 565 struct clk_domain_3x *pclk_domain_3x;
566 struct nv_pmu_clk_clk_domain_3x_boardobj_set *pset; 566 struct nv_pmu_clk_clk_domain_3x_boardobj_set *pset;
567 567
@@ -581,7 +581,7 @@ static u32 _clk_domain_pmudatainit_3x(struct gk20a *g,
581 return status; 581 return status;
582} 582}
583 583
584static u32 clk_domain_construct_3x(struct gk20a *g, 584static int clk_domain_construct_3x(struct gk20a *g,
585 struct boardobj **ppboardobj, 585 struct boardobj **ppboardobj,
586 u16 size, void *pargs) 586 u16 size, void *pargs)
587{ 587{
@@ -589,7 +589,7 @@ static u32 clk_domain_construct_3x(struct gk20a *g,
589 struct clk_domain_3x *pdomain; 589 struct clk_domain_3x *pdomain;
590 struct clk_domain_3x *ptmpdomain = 590 struct clk_domain_3x *ptmpdomain =
591 (struct clk_domain_3x *)pargs; 591 (struct clk_domain_3x *)pargs;
592 u32 status = 0; 592 int status = 0;
593 593
594 ptmpobj->type_mask = BIT(CTRL_CLK_CLK_DOMAIN_TYPE_3X); 594 ptmpobj->type_mask = BIT(CTRL_CLK_CLK_DOMAIN_TYPE_3X);
595 status = clk_domain_construct_super(g, ppboardobj, 595 status = clk_domain_construct_super(g, ppboardobj,
@@ -608,11 +608,11 @@ static u32 clk_domain_construct_3x(struct gk20a *g,
608 return status; 608 return status;
609} 609}
610 610
611static u32 clkdomainclkproglink_3x_prog(struct gk20a *g, 611static int clkdomainclkproglink_3x_prog(struct gk20a *g,
612 struct clk_pmupstate *pclk, 612 struct clk_pmupstate *pclk,
613 struct clk_domain *pdomain) 613 struct clk_domain *pdomain)
614{ 614{
615 u32 status = 0; 615 int status = 0;
616 struct clk_domain_3x_prog *p3xprog = 616 struct clk_domain_3x_prog *p3xprog =
617 (struct clk_domain_3x_prog *)pdomain; 617 (struct clk_domain_3x_prog *)pdomain;
618 struct clk_prog *pprog = NULL; 618 struct clk_prog *pprog = NULL;
@@ -822,11 +822,11 @@ done:
822 return status; 822 return status;
823} 823}
824 824
825static u32 _clk_domain_pmudatainit_3x_prog(struct gk20a *g, 825static int _clk_domain_pmudatainit_3x_prog(struct gk20a *g,
826 struct boardobj *board_obj_ptr, 826 struct boardobj *board_obj_ptr,
827 struct nv_pmu_boardobj *ppmudata) 827 struct nv_pmu_boardobj *ppmudata)
828{ 828{
829 u32 status = 0; 829 int status = 0;
830 struct clk_domain_3x_prog *pclk_domain_3x_prog; 830 struct clk_domain_3x_prog *pclk_domain_3x_prog;
831 struct nv_pmu_clk_clk_domain_3x_prog_boardobj_set *pset; 831 struct nv_pmu_clk_clk_domain_3x_prog_boardobj_set *pset;
832 struct clk_domains *pdomains = &(g->clk_pmu.clk_domainobjs); 832 struct clk_domains *pdomains = &(g->clk_pmu.clk_domainobjs);
@@ -860,7 +860,7 @@ static u32 _clk_domain_pmudatainit_3x_prog(struct gk20a *g,
860 return status; 860 return status;
861} 861}
862 862
863static u32 clk_domain_construct_3x_prog(struct gk20a *g, 863static int clk_domain_construct_3x_prog(struct gk20a *g,
864 struct boardobj **ppboardobj, 864 struct boardobj **ppboardobj,
865 u16 size, void *pargs) 865 u16 size, void *pargs)
866{ 866{
@@ -868,7 +868,7 @@ static u32 clk_domain_construct_3x_prog(struct gk20a *g,
868 struct clk_domain_3x_prog *pdomain; 868 struct clk_domain_3x_prog *pdomain;
869 struct clk_domain_3x_prog *ptmpdomain = 869 struct clk_domain_3x_prog *ptmpdomain =
870 (struct clk_domain_3x_prog *)pargs; 870 (struct clk_domain_3x_prog *)pargs;
871 u32 status = 0; 871 int status = 0;
872 872
873 ptmpobj->type_mask |= BIT(CTRL_CLK_CLK_DOMAIN_TYPE_3X_PROG); 873 ptmpobj->type_mask |= BIT(CTRL_CLK_CLK_DOMAIN_TYPE_3X_PROG);
874 status = clk_domain_construct_3x(g, ppboardobj, size, pargs); 874 status = clk_domain_construct_3x(g, ppboardobj, size, pargs);
@@ -905,11 +905,11 @@ static u32 clk_domain_construct_3x_prog(struct gk20a *g,
905 return status; 905 return status;
906} 906}
907 907
908static u32 _clk_domain_pmudatainit_3x_slave(struct gk20a *g, 908static int _clk_domain_pmudatainit_3x_slave(struct gk20a *g,
909 struct boardobj *board_obj_ptr, 909 struct boardobj *board_obj_ptr,
910 struct nv_pmu_boardobj *ppmudata) 910 struct nv_pmu_boardobj *ppmudata)
911{ 911{
912 u32 status = 0; 912 int status = 0;
913 struct clk_domain_3x_slave *pclk_domain_3x_slave; 913 struct clk_domain_3x_slave *pclk_domain_3x_slave;
914 struct nv_pmu_clk_clk_domain_3x_slave_boardobj_set *pset; 914 struct nv_pmu_clk_clk_domain_3x_slave_boardobj_set *pset;
915 915
@@ -930,7 +930,7 @@ static u32 _clk_domain_pmudatainit_3x_slave(struct gk20a *g,
930 return status; 930 return status;
931} 931}
932 932
933static u32 clk_domain_construct_3x_slave(struct gk20a *g, 933static int clk_domain_construct_3x_slave(struct gk20a *g,
934 struct boardobj **ppboardobj, 934 struct boardobj **ppboardobj,
935 u16 size, void *pargs) 935 u16 size, void *pargs)
936{ 936{
@@ -938,7 +938,7 @@ static u32 clk_domain_construct_3x_slave(struct gk20a *g,
938 struct clk_domain_3x_slave *pdomain; 938 struct clk_domain_3x_slave *pdomain;
939 struct clk_domain_3x_slave *ptmpdomain = 939 struct clk_domain_3x_slave *ptmpdomain =
940 (struct clk_domain_3x_slave *)pargs; 940 (struct clk_domain_3x_slave *)pargs;
941 u32 status = 0; 941 int status = 0;
942 942
943 if (BOARDOBJ_GET_TYPE(pargs) != CTRL_CLK_CLK_DOMAIN_TYPE_3X_SLAVE) { 943 if (BOARDOBJ_GET_TYPE(pargs) != CTRL_CLK_CLK_DOMAIN_TYPE_3X_SLAVE) {
944 return -EINVAL; 944 return -EINVAL;
@@ -963,11 +963,11 @@ static u32 clk_domain_construct_3x_slave(struct gk20a *g,
963 return status; 963 return status;
964} 964}
965 965
966static u32 clkdomainclkproglink_3x_master(struct gk20a *g, 966static int clkdomainclkproglink_3x_master(struct gk20a *g,
967 struct clk_pmupstate *pclk, 967 struct clk_pmupstate *pclk,
968 struct clk_domain *pdomain) 968 struct clk_domain *pdomain)
969{ 969{
970 u32 status = 0; 970 int status = 0;
971 struct clk_domain_3x_master *p3xmaster = 971 struct clk_domain_3x_master *p3xmaster =
972 (struct clk_domain_3x_master *)pdomain; 972 (struct clk_domain_3x_master *)pdomain;
973 struct clk_prog *pprog = NULL; 973 struct clk_prog *pprog = NULL;
@@ -1007,11 +1007,11 @@ done:
1007 return status; 1007 return status;
1008} 1008}
1009 1009
1010static u32 _clk_domain_pmudatainit_3x_master(struct gk20a *g, 1010static int _clk_domain_pmudatainit_3x_master(struct gk20a *g,
1011 struct boardobj *board_obj_ptr, 1011 struct boardobj *board_obj_ptr,
1012 struct nv_pmu_boardobj *ppmudata) 1012 struct nv_pmu_boardobj *ppmudata)
1013{ 1013{
1014 u32 status = 0; 1014 int status = 0;
1015 struct clk_domain_3x_master *pclk_domain_3x_master; 1015 struct clk_domain_3x_master *pclk_domain_3x_master;
1016 struct nv_pmu_clk_clk_domain_3x_master_boardobj_set *pset; 1016 struct nv_pmu_clk_clk_domain_3x_master_boardobj_set *pset;
1017 1017
@@ -1032,13 +1032,13 @@ static u32 _clk_domain_pmudatainit_3x_master(struct gk20a *g,
1032 return status; 1032 return status;
1033} 1033}
1034 1034
1035static u32 clk_domain_construct_3x_master(struct gk20a *g, 1035static int clk_domain_construct_3x_master(struct gk20a *g,
1036 struct boardobj **ppboardobj, 1036 struct boardobj **ppboardobj,
1037 u16 size, void *pargs) 1037 u16 size, void *pargs)
1038{ 1038{
1039 struct boardobj *ptmpobj = (struct boardobj *)pargs; 1039 struct boardobj *ptmpobj = (struct boardobj *)pargs;
1040 struct clk_domain_3x_master *pdomain; 1040 struct clk_domain_3x_master *pdomain;
1041 u32 status = 0; 1041 int status = 0;
1042 1042
1043 if (BOARDOBJ_GET_TYPE(pargs) != CTRL_CLK_CLK_DOMAIN_TYPE_3X_MASTER) { 1043 if (BOARDOBJ_GET_TYPE(pargs) != CTRL_CLK_CLK_DOMAIN_TYPE_3X_MASTER) {
1044 return -EINVAL; 1044 return -EINVAL;
@@ -1062,7 +1062,7 @@ static u32 clk_domain_construct_3x_master(struct gk20a *g,
1062 return status; 1062 return status;
1063} 1063}
1064 1064
1065static u32 clkdomainclkproglink_fixed(struct gk20a *g, 1065static int clkdomainclkproglink_fixed(struct gk20a *g,
1066 struct clk_pmupstate *pclk, 1066 struct clk_pmupstate *pclk,
1067 struct clk_domain *pdomain) 1067 struct clk_domain *pdomain)
1068{ 1068{
@@ -1070,11 +1070,11 @@ static u32 clkdomainclkproglink_fixed(struct gk20a *g,
1070 return 0; 1070 return 0;
1071} 1071}
1072 1072
1073static u32 _clk_domain_pmudatainit_3x_fixed(struct gk20a *g, 1073static int _clk_domain_pmudatainit_3x_fixed(struct gk20a *g,
1074 struct boardobj *board_obj_ptr, 1074 struct boardobj *board_obj_ptr,
1075 struct nv_pmu_boardobj *ppmudata) 1075 struct nv_pmu_boardobj *ppmudata)
1076{ 1076{
1077 u32 status = 0; 1077 int status = 0;
1078 struct clk_domain_3x_fixed *pclk_domain_3x_fixed; 1078 struct clk_domain_3x_fixed *pclk_domain_3x_fixed;
1079 struct nv_pmu_clk_clk_domain_3x_fixed_boardobj_set *pset; 1079 struct nv_pmu_clk_clk_domain_3x_fixed_boardobj_set *pset;
1080 1080
@@ -1095,7 +1095,7 @@ static u32 _clk_domain_pmudatainit_3x_fixed(struct gk20a *g,
1095 return status; 1095 return status;
1096} 1096}
1097 1097
1098static u32 clk_domain_construct_3x_fixed(struct gk20a *g, 1098static int clk_domain_construct_3x_fixed(struct gk20a *g,
1099 struct boardobj **ppboardobj, 1099 struct boardobj **ppboardobj,
1100 u16 size, void *pargs) 1100 u16 size, void *pargs)
1101{ 1101{
@@ -1103,7 +1103,7 @@ static u32 clk_domain_construct_3x_fixed(struct gk20a *g,
1103 struct clk_domain_3x_fixed *pdomain; 1103 struct clk_domain_3x_fixed *pdomain;
1104 struct clk_domain_3x_fixed *ptmpdomain = 1104 struct clk_domain_3x_fixed *ptmpdomain =
1105 (struct clk_domain_3x_fixed *)pargs; 1105 (struct clk_domain_3x_fixed *)pargs;
1106 u32 status = 0; 1106 int status = 0;
1107 1107
1108 if (BOARDOBJ_GET_TYPE(pargs) != CTRL_CLK_CLK_DOMAIN_TYPE_3X_FIXED) { 1108 if (BOARDOBJ_GET_TYPE(pargs) != CTRL_CLK_CLK_DOMAIN_TYPE_3X_FIXED) {
1109 return -EINVAL; 1109 return -EINVAL;
@@ -1163,11 +1163,11 @@ static struct clk_domain *construct_clk_domain(struct gk20a *g, void *pargs)
1163 return (struct clk_domain *)board_obj_ptr; 1163 return (struct clk_domain *)board_obj_ptr;
1164} 1164}
1165 1165
1166static u32 clk_domain_pmudatainit_super(struct gk20a *g, 1166static int clk_domain_pmudatainit_super(struct gk20a *g,
1167 struct boardobj *board_obj_ptr, 1167 struct boardobj *board_obj_ptr,
1168 struct nv_pmu_boardobj *ppmudata) 1168 struct nv_pmu_boardobj *ppmudata)
1169{ 1169{
1170 u32 status = 0; 1170 int status = 0;
1171 struct clk_domain *pclk_domain; 1171 struct clk_domain *pclk_domain;
1172 struct nv_pmu_clk_clk_domain_boardobj_set *pset; 1172 struct nv_pmu_clk_clk_domain_boardobj_set *pset;
1173 1173
@@ -1189,9 +1189,9 @@ static u32 clk_domain_pmudatainit_super(struct gk20a *g,
1189 return status; 1189 return status;
1190} 1190}
1191 1191
1192u32 clk_domain_clk_prog_link(struct gk20a *g, struct clk_pmupstate *pclk) 1192int clk_domain_clk_prog_link(struct gk20a *g, struct clk_pmupstate *pclk)
1193{ 1193{
1194 u32 status = 0; 1194 int status = 0;
1195 struct clk_domain *pdomain; 1195 struct clk_domain *pdomain;
1196 u8 i; 1196 u8 i;
1197 1197