Thread (16 messages) flat view 16 messages, 3 authors, 2021-01-06

Re: [PATCH v10 3/7] [v10, 3/7]: soc: mediatek: SVS: introduce MTK SVS engine

From: Roger Lu <hidden>
Date: 2021-01-06 08:42:59
Also in: linux-arm-kernel, linux-mediatek, linux-pm, lkml

Hi Nicolas,

[snip]
quoted
quoted
+
+       /* Svs efuse parsing */
+       ft_pgm = (svsp->efuse[0] >> 4) & GENMASK(3, 0);
+
+       for (idx = 0; idx < svsp->bank_num; idx++) {
+               svsb = &svsp->banks[idx];
+
+               if (ft_pgm <= 1)
+                       svsb->init01_volt_flag = SVSB_INIT01_VOLT_IGNORE;
+
+               switch (svsb->sw_id) {
+               case SVSB_CPU_LITTLE:
+                       svsb->bdes = svsp->efuse[16] & GENMASK(7, 0);
+                       svsb->mdes = (svsp->efuse[16] >> 8) & GENMASK(7, 0);
+                       svsb->dcbdet = (svsp->efuse[16] >> 16) & GENMASK(7, 0);
+                       svsb->dcmdet = (svsp->efuse[16] >> 24) & GENMASK(7, 0);
+                       svsb->mtdes  = (svsp->efuse[17] >> 16) & GENMASK(7, 0);
Again, if all of those values were u8, there'd be no need for these GENMASK
Ok, I'll use u8 instead of GENMASK. Thanks.
After refining the codes, I think it's much explicit to assign the bits
I want by GENMASK() and will remove other GENMASK() that are repetitive
like in svs_set_bank_phase() or svs_set_freqs_pct_v2().

[snip]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help