55// Copyright (C) 2023 Synopsys, Inc. (www.synopsys.com)
66//
77// Note: use perf with a key "-a" means system-wide collection from all CPUs
8- // to work with cluster PMU
8+ // to work with cluster PMU
99
1010#include <linux/errno.h>
1111#include <linux/interrupt.h>
@@ -66,7 +66,7 @@ static void arc_cluster_pmu_write_reg(unsigned int reg, void *data)
6666/* read counter #idx; note that counter# != event# on ARC cluster! */
6767static u64 arc_cluster_pmu_read_counter (int idx )
6868{
69- struct cpct_snap snapL , snapH ;
69+ struct cpct_snap snapL , snapH ;
7070 struct cpct_n_config cfg ;
7171 u64 result ;
7272 int number ;
@@ -78,15 +78,15 @@ static u64 arc_cluster_pmu_read_counter(int idx)
7878 * ARC cluster supports making 'snapshots' of the counters, so we don't
7979 * need to care about counters wrapping to 0 underneath our feet
8080 */
81- number = 8 * idx ; // select counter, 0..31
81+ number = 8 * idx ; // select counter, 0..31
8282
8383 arc_cluster_pmu_read_reg (SCM_AUX_CPCT_N_CONFIG + number , & cfg );
84- cfg .lsn = 1 ; /* take snapshot */
84+ cfg .lsn = 1 ; /* take snapshot */
8585 arc_cluster_pmu_write_reg (SCM_AUX_CPCT_N_CONFIG + number , & cfg );
8686
8787 arc_cluster_pmu_read_reg (SCM_AUX_CPCT_N_SNAPH + number , & snapH );
88- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_N_SNAPL + number , & snapL );
89- result = ((u64 )snapH .snap << 32ULL ) | (u64 )snapL .snap ;
88+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_N_SNAPL + number , & snapL );
89+ result = ((u64 )snapH .snap << 32ULL ) | (u64 )snapL .snap ;
9090 return result ;
9191}
9292
@@ -519,86 +519,86 @@ static void arc_cluster_pmu_raw_free(struct device *dev)
519519
520520static int arc_cluster_pmu_is_present (void )
521521{
522- struct cpct_build bld ;
523- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_BUILD , & bld );
524- return bld .ver ;
522+ struct cpct_build bld ;
523+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_BUILD , & bld );
524+ return bld .ver ;
525525}
526526
527527static int arc_cluster_pmu_get_n_counters (void )
528528{
529- struct cpct_build bld ;
530- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_BUILD , & bld );
531- return bld .num_ctrs ;
529+ struct cpct_build bld ;
530+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_BUILD , & bld );
531+ return bld .num_ctrs ;
532532}
533533
534534static int arc_cluster_pmu_has_interrupt (void )
535535{
536- struct cpct_build bld ;
537- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_BUILD , & bld );
538- return bld .i ;
536+ struct cpct_build bld ;
537+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_BUILD , & bld );
538+ return bld .i ;
539539}
540540
541541static int arc_cluster_pmu_get_cnt_bits (void )
542542{
543- struct cpct_build bld ;
544- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_BUILD , & bld );
545- return 32 + 16 * bld .cs ;
543+ struct cpct_build bld ;
544+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_BUILD , & bld );
545+ return 32 + 16 * bld .cs ;
546546}
547547
548548static int arc_cluster_pmu_get_events_number (void )
549549{
550- int ii ;
551- struct cpct_cc_num cc_num ;
552- union cpct_cc_name name ;
553- int n_actual_conditions = 0 ;
554-
555- name .cc [CPCT_NAME_SZ - 1 ] = 0 ;
556- for (ii = 0 ; ii < MAX_CONDITIONS_NUMBER ; ii ++ ) {
557- cc_num .cc_num = ii ;
558- cc_num .res = 0 ; /* recomended to write with 0 */
559- arc_cluster_pmu_write_reg (SCM_AUX_CPCT_CC_NUM , & cc_num );
560- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME0 , & name .uu [0 ]);
561- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME1 , & name .uu [1 ]);
562- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME2 , & name .uu [2 ]);
563- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME3 , & name .uu [3 ]);
564- if (strlen (name .cc ) == 0 ) {
565- continue ;
566- }
567- n_actual_conditions ++ ;
568- }
569- return n_actual_conditions ;
550+ int ii ;
551+ struct cpct_cc_num cc_num ;
552+ union cpct_cc_name name ;
553+ int n_actual_conditions = 0 ;
554+
555+ name .cc [CPCT_NAME_SZ - 1 ] = 0 ;
556+ for (ii = 0 ; ii < MAX_CONDITIONS_NUMBER ; ii ++ ) {
557+ cc_num .cc_num = ii ;
558+ cc_num .res = 0 ; /* recomended to write with 0 */
559+ arc_cluster_pmu_write_reg (SCM_AUX_CPCT_CC_NUM , & cc_num );
560+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME0 , & name .uu [0 ]);
561+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME1 , & name .uu [1 ]);
562+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME2 , & name .uu [2 ]);
563+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME3 , & name .uu [3 ]);
564+ if (strlen (name .cc ) == 0 ) {
565+ continue ;
566+ }
567+ n_actual_conditions ++ ;
568+ }
569+ return n_actual_conditions ;
570570}
571571
572572static int arc_cluster_pmu_fill_events (void )
573573{
574- int ii ;
575- struct cpct_cc_num cc_num ;
576- union cpct_cc_name name ;
577- int n_actual_conditions = 0 ;
578-
579- name .cc [CPCT_NAME_SZ - 1 ] = 0 ;
580- for (ii = 0 ; ii < MAX_CONDITIONS_NUMBER ; ii ++ ) {
581- cc_num .cc_num = ii ;
582- cc_num .res = 0 ; /* recomended to write with 0 */
583- arc_cluster_pmu_write_reg (SCM_AUX_CPCT_CC_NUM , & cc_num );
584- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME0 , & name .uu [0 ]);
585- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME1 , & name .uu [1 ]);
586- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME2 , & name .uu [2 ]);
587- arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME3 , & name .uu [3 ]);
588- if (strlen (name .cc ) == 0 ) {
589- continue ;
590- }
574+ int ii ;
575+ struct cpct_cc_num cc_num ;
576+ union cpct_cc_name name ;
577+ int n_actual_conditions = 0 ;
578+
579+ name .cc [CPCT_NAME_SZ - 1 ] = 0 ;
580+ for (ii = 0 ; ii < MAX_CONDITIONS_NUMBER ; ii ++ ) {
581+ cc_num .cc_num = ii ;
582+ cc_num .res = 0 ; /* recomended to write with 0 */
583+ arc_cluster_pmu_write_reg (SCM_AUX_CPCT_CC_NUM , & cc_num );
584+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME0 , & name .uu [0 ]);
585+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME1 , & name .uu [1 ]);
586+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME2 , & name .uu [2 ]);
587+ arc_cluster_pmu_read_reg (SCM_AUX_CPCT_CC_NAME3 , & name .uu [3 ]);
588+ if (strlen (name .cc ) == 0 ) {
589+ continue ;
590+ }
591591
592592 arc_cluster_pmu -> raw_entry [n_actual_conditions ].cc_number = ii ;
593- strcpy (arc_cluster_pmu -> raw_entry [n_actual_conditions ].name .cc , name .cc );
593+ strcpy (arc_cluster_pmu -> raw_entry [n_actual_conditions ].name .cc , name .cc );
594594
595- n_actual_conditions ++ ;
595+ n_actual_conditions ++ ;
596596 if (n_actual_conditions >= arc_cluster_pmu -> n_events ) {
597597 break ;
598598 }
599- }
599+ }
600600
601- return n_actual_conditions ;
601+ return n_actual_conditions ;
602602}
603603
604604//------------------------------------------------------------
@@ -842,7 +842,7 @@ static struct platform_driver arc_cluster_pmu_driver = {
842842 .name = "ARCv3-cluster-PMU" ,
843843 .of_match_table = of_match_ptr (arc_cluster_pmu_match ),
844844 },
845- .probe = arc_cluster_pmu_device_probe ,
845+ .probe = arc_cluster_pmu_device_probe ,
846846};
847847
848848module_platform_driver (arc_cluster_pmu_driver );
0 commit comments