[RFC] Add the BMPS timer to enter/exit BMPS mode when running

YanBo dreamfly281 at gmail.com
Wed Jul 24 10:29:26 EDT 2013


On Wed, Jul 24, 2013 at 8:57 PM, Eugene Krasnikov <k.eugene.e at gmail.com> wrote:
>> +static void wcn36xx_pmc_bmps_measure_work(struct work_struct *work)
>> +{
>> +       struct wcn36xx *wcn = container_of(work, struct wcn36xx,
>> +                                          bmps_work.work);
>> +
>> +       /* Enter or Exit BMPS depend on the currently condition */
>> +       wcn36xx_pmc_enter_bmps_state(wcn);
>> +       wcn36xx_pmc_exit_bmps_state(wcn);
>> +
>> +       ieee80211_queue_delayed_work(wcn->hw, &wcn->bmps_work,
>> +                                    msecs_to_jiffies(BMPS_MEASURE_TIMER_DEFAULT));
>> +}
>
> What is the purpose to queue the work again? Does it mean that wcn36xx
> will enter and exit bmps every BMPS_MEASURE_TIMER_DEFAULT seconds?
it will make sure the work queue running like a timer, cause for every
time period, they may be some event will
trigger the enter full power mode event, the enter/exit bmps function
used to check whether the condition is triggered or not.
>
> I also thought you gonna implement a patch that will check if there is
> a high data flow then exit bmps . But apparently this patch is not
> doing this.
>

That is also I intended to implemented, but as I get the newest
update, the monitor high/lower data flow function has been moved into
firmware,
the firmware will do such work, and in the host driver, there is still
some scenario need be protected to avoid into BMPS, like currently the
DHCP process(to be confirm?) some BTC cases. in such case, they can
all the  wcn36xx_vote_enter_full_power to protect such scenario
>
> 2013/7/24 Olof Johansson <dev at skyshaper.net>:
>> Hello Yanbo.
>>
>> No, I mean this parameter:
>> https://www.codeaurora.org/cgit/quic/la/platform/vendor/qcom-opensource/wlan/prima/tree/firmware_bin/WCNSS_qcom_cfg.ini?h=b2g/jb_mr1_rb2.17#n339
>>
>> Cheers
>> --
>> Olof
>>
>> On Wed, Jul 24, 2013 at 4:15 AM, YanBo <dreamfly281 at gmail.com> wrote:
>>> Hi Olof,
>>>
>>> What the specify configuration name you mentioned, do you mean
>>> dynamic_dtim? if so, it is used for dynamic adjust the
>>> DTIM value but not conflict with BMPS  timer
>>>
>>> BR /Yanbo
>>>
>>> On Wed, Jul 24, 2013 at 12:59 AM, Olof Johansson <dev at skyshaper.net> wrote:
>>>> On Tue, Jul 23, 2013 at 6:46 PM, Eugene Krasnikov <k.eugene.e at gmail.com> wrote:
>>>>> @Olof: I am not sure  what do you mean under DYNAMIC_PS but there is
>>>>> one configuration parameters that is responsible for how time between
>>>>> last data packet received from AP and NULL packet sent from STA to AP
>>>>> with PS bit set.
>>>>
>>>> There is a CFG parameter (sent at start or update config smd packets)
>>>> which is called DYNAMIC_PS which corresponds to the value of data
>>>> inactivity timeout in the prima .ini file. This value adjusts how long
>>>> the firmware is staying awake after sending or receiving a packet
>>>> before going back to BMPS mode. This value we adjusted several times
>>>> to trim throughput as well as btcoex issues.
>>>>
>>>> At least that is how it was explained to me by QC :)
>>>>
>>>> Cheers
>>>> --
>>>> Olof
>
>
>
> --
> Best regards,
> Eugene



More information about the wcn36xx mailing list