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

Eugene Krasnikov k.eugene.e at gmail.com
Wed Jul 24 11:04:51 EDT 2013


Do you know from which FW version data flow monitor was moved to FW?
Because i have an old FW version so I will need it in driver anyway.

2013/7/24 YanBo <dreamfly281 at gmail.com>:
> 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



-- 
Best regards,
Eugene



More information about the wcn36xx mailing list