summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/clk/clk.c
diff options
context:
space:
mode:
authorSrirangan <smadhavan@nvidia.com>2018-09-04 06:46:20 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-05 23:38:33 -0400
commitef851272e5201f343c9b287a9eacfc25d4912276 (patch)
tree2c7f85f168258e8b8779dd3ef32f1b18621fa6a7 /drivers/gpu/nvgpu/clk/clk.c
parent78b4ab269f5d733c8b540a6a75db1f390172cc29 (diff)
gpu: nvgpu: clk: Fix MISRA 15.6 violations
MISRA Rule-15.6 requires that all if-else blocks be enclosed in braces, including single statement blocks. Fix errors due to single statement if blocks without braces by introducing the braces. JIRA NVGPU-671 Change-Id: I228f04adea809e1dd4e6826bf1a04f051a533102 Signed-off-by: Srirangan <smadhavan@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1796831 Reviewed-by: svc-misra-checker <svc-misra-checker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/clk/clk.c')
-rw-r--r--drivers/gpu/nvgpu/clk/clk.c107
1 files changed, 70 insertions, 37 deletions
diff --git a/drivers/gpu/nvgpu/clk/clk.c b/drivers/gpu/nvgpu/clk/clk.c
index 731124f7..392fc9b4 100644
--- a/drivers/gpu/nvgpu/clk/clk.c
+++ b/drivers/gpu/nvgpu/clk/clk.c
@@ -51,8 +51,9 @@ static void clkrpc_pmucmdhandler(struct gk20a *g, struct pmu_msg *msg,
51 return; 51 return;
52 } 52 }
53 53
54 if (phandlerparams->prpccall->b_supported) 54 if (phandlerparams->prpccall->b_supported) {
55 phandlerparams->success = 1; 55 phandlerparams->success = 1;
56 }
56} 57}
57 58
58 59
@@ -226,16 +227,17 @@ int clk_pmu_freq_controller_load(struct gk20a *g, bool bload, u8 bit_idx)
226 status = boardobjgrpmask_export(&isolate_cfc_mask.super, 227 status = boardobjgrpmask_export(&isolate_cfc_mask.super,
227 isolate_cfc_mask.super.bitcount, 228 isolate_cfc_mask.super.bitcount,
228 &load_mask->super); 229 &load_mask->super);
229 if (bload) 230 if (bload) {
230 status = boardobjgrpmask_bitset( 231 status = boardobjgrpmask_bitset(
231 &pclk_freq_controllers-> 232 &pclk_freq_controllers->
232 freq_ctrl_load_mask.super, 233 freq_ctrl_load_mask.super,
233 bit_idx); 234 bit_idx);
234 else 235 } else {
235 status = boardobjgrpmask_bitclr( 236 status = boardobjgrpmask_bitclr(
236 &pclk_freq_controllers-> 237 &pclk_freq_controllers->
237 freq_ctrl_load_mask.super, 238 freq_ctrl_load_mask.super,
238 bit_idx); 239 bit_idx);
240 }
239 } 241 }
240 242
241 if (status) { 243 if (status) {
@@ -436,13 +438,15 @@ static u32 clk_pmu_vf_inject(struct gk20a *g, struct set_fll_clk *setfllclk)
436 memset(&handler, 0, sizeof(struct clkrpc_pmucmdhandler_params)); 438 memset(&handler, 0, sizeof(struct clkrpc_pmucmdhandler_params));
437 439
438 if ((setfllclk->gpc2clkmhz == 0) || (setfllclk->xbar2clkmhz == 0) || 440 if ((setfllclk->gpc2clkmhz == 0) || (setfllclk->xbar2clkmhz == 0) ||
439 (setfllclk->sys2clkmhz == 0) || (setfllclk->voltuv == 0)) 441 (setfllclk->sys2clkmhz == 0) || (setfllclk->voltuv == 0)) {
440 return -EINVAL; 442 return -EINVAL;
443 }
441 444
442 if ((setfllclk->target_regime_id_gpc > CTRL_CLK_FLL_REGIME_ID_FR) || 445 if ((setfllclk->target_regime_id_gpc > CTRL_CLK_FLL_REGIME_ID_FR) ||
443 (setfllclk->target_regime_id_sys > CTRL_CLK_FLL_REGIME_ID_FR) || 446 (setfllclk->target_regime_id_sys > CTRL_CLK_FLL_REGIME_ID_FR) ||
444 (setfllclk->target_regime_id_xbar > CTRL_CLK_FLL_REGIME_ID_FR)) 447 (setfllclk->target_regime_id_xbar > CTRL_CLK_FLL_REGIME_ID_FR)) {
445 return -EINVAL; 448 return -EINVAL;
449 }
446 450
447 rpccall.function = NV_PMU_CLK_RPC_ID_CLK_VF_CHANGE_INJECT; 451 rpccall.function = NV_PMU_CLK_RPC_ID_CLK_VF_CHANGE_INJECT;
448 452
@@ -501,10 +505,11 @@ static u32 find_regime_id(struct gk20a *g, u32 domain, u16 clkmhz)
501 struct fll_device *, pflldev, j) { 505 struct fll_device *, pflldev, j) {
502 if (pflldev->clk_domain == domain) { 506 if (pflldev->clk_domain == domain) {
503 if (pflldev->regime_desc.fixed_freq_regime_limit_mhz >= 507 if (pflldev->regime_desc.fixed_freq_regime_limit_mhz >=
504 clkmhz) 508 clkmhz) {
505 return CTRL_CLK_FLL_REGIME_ID_FFR; 509 return CTRL_CLK_FLL_REGIME_ID_FFR;
506 else 510 } else {
507 return CTRL_CLK_FLL_REGIME_ID_FR; 511 return CTRL_CLK_FLL_REGIME_ID_FR;
512 }
508 } 513 }
509 } 514 }
510 return CTRL_CLK_FLL_REGIME_ID_INVALID; 515 return CTRL_CLK_FLL_REGIME_ID_INVALID;
@@ -549,48 +554,55 @@ int clk_set_fll_clks(struct gk20a *g, struct set_fll_clk *setfllclk)
549 /*set regime ids */ 554 /*set regime ids */
550 status = get_regime_id(g, CTRL_CLK_DOMAIN_GPC2CLK, 555 status = get_regime_id(g, CTRL_CLK_DOMAIN_GPC2CLK,
551 &setfllclk->current_regime_id_gpc); 556 &setfllclk->current_regime_id_gpc);
552 if (status) 557 if (status) {
553 goto done; 558 goto done;
559 }
554 560
555 setfllclk->target_regime_id_gpc = find_regime_id(g, 561 setfllclk->target_regime_id_gpc = find_regime_id(g,
556 CTRL_CLK_DOMAIN_GPC2CLK, setfllclk->gpc2clkmhz); 562 CTRL_CLK_DOMAIN_GPC2CLK, setfllclk->gpc2clkmhz);
557 563
558 status = get_regime_id(g, CTRL_CLK_DOMAIN_SYS2CLK, 564 status = get_regime_id(g, CTRL_CLK_DOMAIN_SYS2CLK,
559 &setfllclk->current_regime_id_sys); 565 &setfllclk->current_regime_id_sys);
560 if (status) 566 if (status) {
561 goto done; 567 goto done;
568 }
562 569
563 setfllclk->target_regime_id_sys = find_regime_id(g, 570 setfllclk->target_regime_id_sys = find_regime_id(g,
564 CTRL_CLK_DOMAIN_SYS2CLK, setfllclk->sys2clkmhz); 571 CTRL_CLK_DOMAIN_SYS2CLK, setfllclk->sys2clkmhz);
565 572
566 status = get_regime_id(g, CTRL_CLK_DOMAIN_XBAR2CLK, 573 status = get_regime_id(g, CTRL_CLK_DOMAIN_XBAR2CLK,
567 &setfllclk->current_regime_id_xbar); 574 &setfllclk->current_regime_id_xbar);
568 if (status) 575 if (status) {
569 goto done; 576 goto done;
577 }
570 578
571 setfllclk->target_regime_id_xbar = find_regime_id(g, 579 setfllclk->target_regime_id_xbar = find_regime_id(g,
572 CTRL_CLK_DOMAIN_XBAR2CLK, setfllclk->xbar2clkmhz); 580 CTRL_CLK_DOMAIN_XBAR2CLK, setfllclk->xbar2clkmhz);
573 581
574 status = clk_pmu_vf_inject(g, setfllclk); 582 status = clk_pmu_vf_inject(g, setfllclk);
575 583
576 if (status) 584 if (status) {
577 nvgpu_err(g, "vf inject to change clk failed"); 585 nvgpu_err(g, "vf inject to change clk failed");
586 }
578 587
579 /* save regime ids */ 588 /* save regime ids */
580 status = set_regime_id(g, CTRL_CLK_DOMAIN_XBAR2CLK, 589 status = set_regime_id(g, CTRL_CLK_DOMAIN_XBAR2CLK,
581 setfllclk->target_regime_id_xbar); 590 setfllclk->target_regime_id_xbar);
582 if (status) 591 if (status) {
583 goto done; 592 goto done;
593 }
584 594
585 status = set_regime_id(g, CTRL_CLK_DOMAIN_GPC2CLK, 595 status = set_regime_id(g, CTRL_CLK_DOMAIN_GPC2CLK,
586 setfllclk->target_regime_id_gpc); 596 setfllclk->target_regime_id_gpc);
587 if (status) 597 if (status) {
588 goto done; 598 goto done;
599 }
589 600
590 status = set_regime_id(g, CTRL_CLK_DOMAIN_SYS2CLK, 601 status = set_regime_id(g, CTRL_CLK_DOMAIN_SYS2CLK,
591 setfllclk->target_regime_id_sys); 602 setfllclk->target_regime_id_sys);
592 if (status) 603 if (status) {
593 goto done; 604 goto done;
605 }
594done: 606done:
595 return status; 607 return status;
596} 608}
@@ -606,8 +618,9 @@ int clk_get_fll_clks(struct gk20a *g, struct set_fll_clk *setfllclk)
606 struct clk_domain_3x_slave *p3xslave; 618 struct clk_domain_3x_slave *p3xslave;
607 unsigned long slaveidxmask; 619 unsigned long slaveidxmask;
608 620
609 if (setfllclk->gpc2clkmhz == 0) 621 if (setfllclk->gpc2clkmhz == 0) {
610 return -EINVAL; 622 return -EINVAL;
623 }
611 624
612 BOARDOBJGRP_FOR_EACH(&(pclk->clk_domainobjs.super.super), 625 BOARDOBJGRP_FOR_EACH(&(pclk->clk_domainobjs.super.super),
613 struct clk_domain *, pdomain, i) { 626 struct clk_domain *, pdomain, i) {
@@ -627,8 +640,9 @@ int clk_get_fll_clks(struct gk20a *g, struct set_fll_clk *setfllclk)
627 if ((p3xslave->super.super.super.api_domain != 640 if ((p3xslave->super.super.super.api_domain !=
628 CTRL_CLK_DOMAIN_XBAR2CLK) && 641 CTRL_CLK_DOMAIN_XBAR2CLK) &&
629 (p3xslave->super.super.super.api_domain != 642 (p3xslave->super.super.super.api_domain !=
630 CTRL_CLK_DOMAIN_SYS2CLK)) 643 CTRL_CLK_DOMAIN_SYS2CLK)) {
631 continue; 644 continue;
645 }
632 clkmhz = 0; 646 clkmhz = 0;
633 status = p3xslave->clkdomainclkgetslaveclk(g, 647 status = p3xslave->clkdomainclkgetslaveclk(g,
634 pclk, 648 pclk,
@@ -640,11 +654,13 @@ int clk_get_fll_clks(struct gk20a *g, struct set_fll_clk *setfllclk)
640 goto done; 654 goto done;
641 } 655 }
642 if (p3xslave->super.super.super.api_domain == 656 if (p3xslave->super.super.super.api_domain ==
643 CTRL_CLK_DOMAIN_XBAR2CLK) 657 CTRL_CLK_DOMAIN_XBAR2CLK) {
644 setfllclk->xbar2clkmhz = clkmhz; 658 setfllclk->xbar2clkmhz = clkmhz;
659 }
645 if (p3xslave->super.super.super.api_domain == 660 if (p3xslave->super.super.super.api_domain ==
646 CTRL_CLK_DOMAIN_SYS2CLK) 661 CTRL_CLK_DOMAIN_SYS2CLK) {
647 setfllclk->sys2clkmhz = clkmhz; 662 setfllclk->sys2clkmhz = clkmhz;
663 }
648 } 664 }
649 } 665 }
650 } 666 }
@@ -687,12 +703,15 @@ static int clk_program_fllclks(struct gk20a *g, struct change_fll_clk *fllclk)
687 unsigned long slaveidxmask; 703 unsigned long slaveidxmask;
688 struct set_fll_clk setfllclk; 704 struct set_fll_clk setfllclk;
689 705
690 if (fllclk->api_clk_domain != CTRL_CLK_DOMAIN_GPCCLK) 706 if (fllclk->api_clk_domain != CTRL_CLK_DOMAIN_GPCCLK) {
691 return -EINVAL; 707 return -EINVAL;
692 if (fllclk->voltuv == 0) 708 }
709 if (fllclk->voltuv == 0) {
693 return -EINVAL; 710 return -EINVAL;
694 if (fllclk->clkmhz == 0) 711 }
712 if (fllclk->clkmhz == 0) {
695 return -EINVAL; 713 return -EINVAL;
714 }
696 715
697 setfllclk.voltuv = fllclk->voltuv; 716 setfllclk.voltuv = fllclk->voltuv;
698 setfllclk.gpc2clkmhz = fllclk->clkmhz; 717 setfllclk.gpc2clkmhz = fllclk->clkmhz;
@@ -715,8 +734,9 @@ static int clk_program_fllclks(struct gk20a *g, struct change_fll_clk *fllclk)
715 if ((p3xslave->super.super.super.api_domain != 734 if ((p3xslave->super.super.super.api_domain !=
716 CTRL_CLK_DOMAIN_XBARCLK) && 735 CTRL_CLK_DOMAIN_XBARCLK) &&
717 (p3xslave->super.super.super.api_domain != 736 (p3xslave->super.super.super.api_domain !=
718 CTRL_CLK_DOMAIN_SYSCLK)) 737 CTRL_CLK_DOMAIN_SYSCLK)) {
719 continue; 738 continue;
739 }
720 clkmhz = 0; 740 clkmhz = 0;
721 status = p3xslave->clkdomainclkgetslaveclk(g, 741 status = p3xslave->clkdomainclkgetslaveclk(g,
722 pclk, 742 pclk,
@@ -728,60 +748,69 @@ static int clk_program_fllclks(struct gk20a *g, struct change_fll_clk *fllclk)
728 goto done; 748 goto done;
729 } 749 }
730 if (p3xslave->super.super.super.api_domain == 750 if (p3xslave->super.super.super.api_domain ==
731 CTRL_CLK_DOMAIN_XBARCLK) 751 CTRL_CLK_DOMAIN_XBARCLK) {
732 setfllclk.xbar2clkmhz = clkmhz; 752 setfllclk.xbar2clkmhz = clkmhz;
753 }
733 if (p3xslave->super.super.super.api_domain == 754 if (p3xslave->super.super.super.api_domain ==
734 CTRL_CLK_DOMAIN_SYSCLK) 755 CTRL_CLK_DOMAIN_SYSCLK) {
735 setfllclk.sys2clkmhz = clkmhz; 756 setfllclk.sys2clkmhz = clkmhz;
757 }
736 } 758 }
737 } 759 }
738 } 760 }
739 /*set regime ids */ 761 /*set regime ids */
740 status = get_regime_id(g, CTRL_CLK_DOMAIN_GPCCLK, 762 status = get_regime_id(g, CTRL_CLK_DOMAIN_GPCCLK,
741 &setfllclk.current_regime_id_gpc); 763 &setfllclk.current_regime_id_gpc);
742 if (status) 764 if (status) {
743 goto done; 765 goto done;
766 }
744 767
745 setfllclk.target_regime_id_gpc = find_regime_id(g, 768 setfllclk.target_regime_id_gpc = find_regime_id(g,
746 CTRL_CLK_DOMAIN_GPCCLK, setfllclk.gpc2clkmhz); 769 CTRL_CLK_DOMAIN_GPCCLK, setfllclk.gpc2clkmhz);
747 770
748 status = get_regime_id(g, CTRL_CLK_DOMAIN_SYSCLK, 771 status = get_regime_id(g, CTRL_CLK_DOMAIN_SYSCLK,
749 &setfllclk.current_regime_id_sys); 772 &setfllclk.current_regime_id_sys);
750 if (status) 773 if (status) {
751 goto done; 774 goto done;
775 }
752 776
753 setfllclk.target_regime_id_sys = find_regime_id(g, 777 setfllclk.target_regime_id_sys = find_regime_id(g,
754 CTRL_CLK_DOMAIN_SYSCLK, setfllclk.sys2clkmhz); 778 CTRL_CLK_DOMAIN_SYSCLK, setfllclk.sys2clkmhz);
755 779
756 status = get_regime_id(g, CTRL_CLK_DOMAIN_XBARCLK, 780 status = get_regime_id(g, CTRL_CLK_DOMAIN_XBARCLK,
757 &setfllclk.current_regime_id_xbar); 781 &setfllclk.current_regime_id_xbar);
758 if (status) 782 if (status) {
759 goto done; 783 goto done;
784 }
760 785
761 setfllclk.target_regime_id_xbar = find_regime_id(g, 786 setfllclk.target_regime_id_xbar = find_regime_id(g,
762 CTRL_CLK_DOMAIN_XBARCLK, setfllclk.xbar2clkmhz); 787 CTRL_CLK_DOMAIN_XBARCLK, setfllclk.xbar2clkmhz);
763 788
764 status = clk_pmu_vf_inject(g, &setfllclk); 789 status = clk_pmu_vf_inject(g, &setfllclk);
765 790
766 if (status) 791 if (status) {
767 nvgpu_err(g, 792 nvgpu_err(g,
768 "vf inject to change clk failed"); 793 "vf inject to change clk failed");
794 }
769 795
770 /* save regime ids */ 796 /* save regime ids */
771 status = set_regime_id(g, CTRL_CLK_DOMAIN_XBARCLK, 797 status = set_regime_id(g, CTRL_CLK_DOMAIN_XBARCLK,
772 setfllclk.target_regime_id_xbar); 798 setfllclk.target_regime_id_xbar);
773 if (status) 799 if (status) {
774 goto done; 800 goto done;
801 }
775 802
776 status = set_regime_id(g, CTRL_CLK_DOMAIN_GPCCLK, 803 status = set_regime_id(g, CTRL_CLK_DOMAIN_GPCCLK,
777 setfllclk.target_regime_id_gpc); 804 setfllclk.target_regime_id_gpc);
778 if (status) 805 if (status) {
779 goto done; 806 goto done;
807 }
780 808
781 status = set_regime_id(g, CTRL_CLK_DOMAIN_SYSCLK, 809 status = set_regime_id(g, CTRL_CLK_DOMAIN_SYSCLK,
782 setfllclk.target_regime_id_sys); 810 setfllclk.target_regime_id_sys);
783 if (status) 811 if (status) {
784 goto done; 812 goto done;
813 }
785done: 814done:
786 return status; 815 return status;
787} 816}
@@ -809,17 +838,19 @@ u32 nvgpu_clk_set_boot_fll_clk_gv10x(struct gk20a *g)
809 voltuv = gpcclk_voltuv; 838 voltuv = gpcclk_voltuv;
810 839
811 status = volt_set_voltage(g, voltuv, 0); 840 status = volt_set_voltage(g, voltuv, 0);
812 if (status) 841 if (status) {
813 nvgpu_err(g, 842 nvgpu_err(g,
814 "attempt to set boot voltage failed %d", 843 "attempt to set boot voltage failed %d",
815 voltuv); 844 voltuv);
845 }
816 846
817 bootfllclk.api_clk_domain = CTRL_CLK_DOMAIN_GPCCLK; 847 bootfllclk.api_clk_domain = CTRL_CLK_DOMAIN_GPCCLK;
818 bootfllclk.clkmhz = gpcclk_clkmhz; 848 bootfllclk.clkmhz = gpcclk_clkmhz;
819 bootfllclk.voltuv = voltuv; 849 bootfllclk.voltuv = voltuv;
820 status = clk_program_fllclks(g, &bootfllclk); 850 status = clk_program_fllclks(g, &bootfllclk);
821 if (status) 851 if (status) {
822 nvgpu_err(g, "attempt to set boot gpcclk failed"); 852 nvgpu_err(g, "attempt to set boot gpcclk failed");
853 }
823 854
824 status = clk_pmu_freq_effective_avg_load(g, true); 855 status = clk_pmu_freq_effective_avg_load(g, true);
825 856
@@ -849,15 +880,17 @@ u32 clk_domain_get_f_or_v(
849 struct clk_pmupstate *pclk = &g->clk_pmu; 880 struct clk_pmupstate *pclk = &g->clk_pmu;
850 u8 rail; 881 u8 rail;
851 882
852 if ((pclkmhz == NULL) || (pvoltuv == NULL)) 883 if ((pclkmhz == NULL) || (pvoltuv == NULL)) {
853 return -EINVAL; 884 return -EINVAL;
885 }
854 886
855 if (railidx == CTRL_VOLT_DOMAIN_LOGIC) 887 if (railidx == CTRL_VOLT_DOMAIN_LOGIC) {
856 rail = CLK_PROG_VFE_ENTRY_LOGIC; 888 rail = CLK_PROG_VFE_ENTRY_LOGIC;
857 else if (railidx == CTRL_VOLT_DOMAIN_SRAM) 889 } else if (railidx == CTRL_VOLT_DOMAIN_SRAM) {
858 rail = CLK_PROG_VFE_ENTRY_SRAM; 890 rail = CLK_PROG_VFE_ENTRY_SRAM;
859 else 891 } else {
860 return -EINVAL; 892 return -EINVAL;
893 }
861 894
862 BOARDOBJGRP_FOR_EACH(&(pclk->clk_domainobjs.super.super), 895 BOARDOBJGRP_FOR_EACH(&(pclk->clk_domainobjs.super.super),
863 struct clk_domain *, pdomain, i) { 896 struct clk_domain *, pdomain, i) {