<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
Hi, is supported power saving mode? I found this function in main.c but I dont' understand<span id="result_box" lang="en"><span title="Fai clic per visualizzare le traduzioni alternative" class="hps"></span><span title="Fai clic per visualizzare le traduzioni alternative" class="hps"></span> <span title="Fai clic per visualizzare le traduzioni alternative" class="hps">if</span> <span title="Fai clic per visualizzare le traduzioni alternative" class="hps">this</span> <span title="Fai clic per visualizzare le traduzioni alternative" class="hps">means that the power saving is</span> <span title="Fai clic per visualizzare le traduzioni alternative" class="hps">implemented</span></span> : <br>void b43_power_saving_ctl_bits(struct b43_wldev *dev, unsigned int ps_flags)<br>{<br> u32 macctl;<br> u16 ucstat;<br> bool hwps;<br> bool awake;<br> int i;<br><br> B43_WARN_ON((ps_flags & B43_PS_ENABLED) &&<br> (ps_flags & B43_PS_DISABLED));<br> B43_WARN_ON((ps_flags & B43_PS_AWAKE) && (ps_flags & B43_PS_ASLEEP));<br><br> if (ps_flags & B43_PS_ENABLED) {<br> hwps = 1;<br> } else if (ps_flags & B43_PS_DISABLED) {<br> hwps = 0;<br> } else {<br> //TODO: If powersave is not off and FIXME is not set and we are not in adhoc<br> // and thus is not an AP and we are associated, set bit 25<br> }<br> if (ps_flags & B43_PS_AWAKE) {<br> awake = 1;<br> } else if (ps_flags & B43_PS_ASLEEP) {<br> awake = 0;<br> } else {<br> //TODO: If the device is awake or this is an AP, or we are scanning, or FIXME,<br> // or we are associated, or FIXME, or the latest PS-Poll packet sent was<br> // successful, set bit26<br> }<br><br>/* FIXME: For now we force awake-on and hwps-off */<br> hwps = 0;<br> awake = 1;<br><br> macctl = b43_read32(dev, B43_MMIO_MACCTL);<br> if (hwps)<br> macctl |= B43_MACCTL_HWPS;<br> else<br> macctl &= ~B43_MACCTL_HWPS;<br> if (awake)<br> macctl |= B43_MACCTL_AWAKE;<br> else<br> macctl &= ~B43_MACCTL_AWAKE;<br> b43_write32(dev, B43_MMIO_MACCTL, macctl);<br> /* Commit write */<br> b43_read32(dev, B43_MMIO_MACCTL);<br> if (awake && dev->dev->id.revision >= 5) {<br> /* Wait for the microcode to wake up. */<br> for (i = 0; i < 100; i++) {<br> ucstat = b43_shm_read16(dev, B43_SHM_SHARED,<br> B43_SHM_SH_UCODESTAT);<br> if (ucstat != B43_SHM_SH_UCODESTAT_SLEEP)<br> break;<br> udelay(10);<br> }<br> }<br>}<br>This function can only be responsible for this mode of operation ? I'm studying this mode of operation (in b43) for my university, is very important for me, thanks. <br><br><div></div>
<div></div><font color="#cc0000" face="Lucida Handwriting, Cursive" size="6"><span style="color:rgb(0, 0, 0)"><span style="font-family:Verdana,Geneva,Arial,Sans-serif"></span></span></font><br><br>                                            </body>
</html>