@@ -114,70 +114,34 @@ struct RULER_ST Ruler = {
114114 Ruler.TopOf = (struct TOPOF) { .Top = _cpu , .Boost = _boost} \
115115)
116116
117- void LowestOfRuler (unsigned int cpu , enum RATIO_BOOST rb , unsigned int * lowest )
118- {
119- if (RO (Shm )-> Cpu [cpu ].Boost [rb ] < RO (Shm )-> Cpu [Ruler .Top [rb ]].Boost [rb ])
120- {
121- Ruler .Top [rb ] = cpu ;
122- }
123- if (RO (Shm )-> Cpu [cpu ].Boost [rb ] < (* lowest ))
124- {
125- (* lowest ) = RO (Shm )-> Cpu [cpu ].Boost [rb ];
126- SetTopOfRuler (Ruler .Top [rb ], rb );
127- }
128- }
129-
130- void HighestOfRuler (unsigned int cpu , enum RATIO_BOOST rb ,unsigned int * highest )
131- {
132- if (RO (Shm )-> Cpu [cpu ].Boost [rb ] > RO (Shm )-> Cpu [Ruler .Top [rb ]].Boost [rb ])
133- {
134- Ruler .Top [rb ] = cpu ;
135- }
136- if (RO (Shm )-> Cpu [cpu ].Boost [rb ] > (* highest ))
137- {
138- (* highest ) = RO (Shm )-> Cpu [cpu ].Boost [rb ];
139- SetTopOfRuler (Ruler .Top [rb ], rb );
140- }
141- }
142-
143117void SetTopOftheTop ( unsigned int cpu , enum RATIO_BOOST rb ,
144118 unsigned int * lowest , unsigned int * highest )
145119{
146- switch (rb ) {
147- case BOOST (HWP_MIN ):
148- if ((RO (Shm )-> Proc .Features .HWP_Enable == 1 )
149- || (RO (Shm )-> Proc .Features .ACPI_CPPC == 1 ))
150- {
151- LowestOfRuler (cpu , rb , lowest );
152- }
153- break ;
154- case BOOST (MIN ):
155- LowestOfRuler (cpu , rb , lowest );
156- break ;
157- case BOOST (TGT ):
158- if ((RO (Shm )-> Proc .Features .HWP_Enable == 0 )
159- && (RO (Shm )-> Proc .Features .ACPI_CPPC == 0 ))
160- {
161- HighestOfRuler (cpu , rb , highest );
162- }
163- break ;
164- case BOOST (HWP_MAX ) ... BOOST (HWP_TGT ):
165- if ((RO (Shm )-> Proc .Features .HWP_Enable == 1 )
166- || (RO (Shm )-> Proc .Features .ACPI_CPPC == 1 ))
167- {
168- HighestOfRuler (cpu , rb , highest );
169- }
170- break ;
171- case BOOST (18 C ) ... BOOST (1 C ):
172- if (RO (Shm )-> Proc .Features .Turbo_OPP == 1 )
173- {
174- HighestOfRuler (cpu , rb , highest );
175- }
176- break ;
177- default :
178- HighestOfRuler (cpu , rb , highest );
179- break ;
180- }
120+ switch (rb ) {
121+ case BOOST (HWP_MIN ):
122+ case BOOST (MIN ):
123+ if (RO (Shm )-> Cpu [cpu ].Boost [rb ] < RO (Shm )-> Cpu [ Ruler .Top [rb ] ].Boost [rb ])
124+ {
125+ Ruler .Top [rb ] = cpu ;
126+ }
127+ if (RO (Shm )-> Cpu [cpu ].Boost [rb ] < (* lowest ))
128+ {
129+ (* lowest ) = RO (Shm )-> Cpu [cpu ].Boost [rb ];
130+ SetTopOfRuler (Ruler .Top [rb ], rb );
131+ }
132+ break ;
133+ default :
134+ if (RO (Shm )-> Cpu [cpu ].Boost [rb ] > RO (Shm )-> Cpu [ Ruler .Top [rb ] ].Boost [rb ])
135+ {
136+ Ruler .Top [rb ] = cpu ;
137+ }
138+ if (RO (Shm )-> Cpu [cpu ].Boost [rb ] > (* highest ))
139+ {
140+ (* highest ) = RO (Shm )-> Cpu [cpu ].Boost [rb ];
141+ SetTopOfRuler (Ruler .Top [rb ], rb );
142+ }
143+ break ;
144+ }
181145}
182146
183147void InsertionSortRuler (unsigned int base [],
@@ -206,15 +170,11 @@ void AggregateRatio(void)
206170 unsigned int , RO (Shm )-> Proc .Features .Factory .Clock .Hz
207171 );
208172 enum RATIO_BOOST lt , rt , min_boost = BOOST (MIN );
209-
210- if ((RO (Shm )-> Proc .Features .HWP_Enable == 1 )
211- || (RO (Shm )-> Proc .Features .ACPI_CPPC == 1 )) {
212- if ((RO (Shm )-> Cpu [RO (Shm )-> Proc .Service .Core ].Boost [BOOST (HWP_MIN )] > 0 )
213- && (RO (Shm )-> Cpu [RO (Shm )-> Proc .Service .Core ].Boost [BOOST (HWP_MIN )]
214- < RO (Shm )-> Cpu [RO (Shm )-> Proc .Service .Core ].Boost [BOOST (MIN )]))
215- {
216- min_boost = BOOST (HWP_MIN );
217- }
173+ if ((RO (Shm )-> Cpu [RO (Shm )-> Proc .Service .Core ].Boost [BOOST (HWP_MIN )] > 0 )
174+ && (RO (Shm )-> Cpu [RO (Shm )-> Proc .Service .Core ].Boost [BOOST (HWP_MIN )]
175+ < RO (Shm )-> Cpu [RO (Shm )-> Proc .Service .Core ].Boost [BOOST (MIN )]))
176+ {
177+ min_boost = BOOST (HWP_MIN );
218178 }
219179 unsigned int cpu ,
220180 lowest = RO (Shm )-> Cpu [RO (Shm )-> Proc .Service .Core ].Boost [BOOST (MAX )],
0 commit comments