ATH10K Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Oh <poh@codeaurora.org>
To: ath10k@lists.infradead.org
Subject: Re: [PATCH 1/2] ath: define JP DFS patterns separated from FCC
Date: Tue, 31 Mar 2015 16:31:21 -0700	[thread overview]
Message-ID: <551B2E49.3090901@codeaurora.org> (raw)
In-Reply-To: <CAGRGNgUwxr34b-d_8XY86ZaLq3tJPk_xqf4t8+QnvL+rg3bV_A@mail.gmail.com>


On 03/31/2015 04:17 PM, Julian Calaby wrote:
> Hi Peter,
>
> Two very minor points:
>
> On Wed, Apr 1, 2015 at 5:16 AM, Peter Oh <poh@qca.qualcomm.com> wrote:
>> Separate Japan's DFS pattern from FCC to control PPB threshold.
>>
>> Currently all the radar detectors use the same threshold rate at
>> 50%, but it's not able to achieve if data traffic rate is higher
>> than 40% because WLAN baseband used by ath9k and ath10k often fails
>> detecting radar pulses, so that SW cannot get enough radar reports
>> to achieve the rate.
>>
>> Since Japan's W53 band requires 50% data traffic during its DFS
>> test we need to apply different threshold rate than others on it.
>> Hence define its own pattern to give flexibility to threshold rate.
>>
>> Signed-off-by: Peter Oh <poh@qca.qualcomm.com>
>> ---
>>   drivers/net/wireless/ath/dfs_pattern_detector.c | 27 ++++++++++++++++---------
>>   1 file changed, 17 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/dfs_pattern_detector.c b/drivers/net/wireless/ath/dfs_pattern_detector.c
>> index b1de8c6..8d1e082 100644
>> --- a/drivers/net/wireless/ath/dfs_pattern_detector.c
>> +++ b/drivers/net/wireless/ath/dfs_pattern_detector.c
>> @@ -42,6 +42,7 @@ struct radar_types {
>>   /* percentage on ppb threshold to trigger detection */
>>   #define MIN_PPB_THRESH 50
>>   #define PPB_THRESH(PPB) ((PPB * MIN_PPB_THRESH + 50) / 100)
>> +#define PPB_THRESH_JP(PPB, RATE) ((PPB * RATE + 100 - RATE) / 100)
> These two PPB_THRESH defines are essentially doing the same math.
>
> Would it make sense to define them as:
>
> #define MIN_PPB_THRESH 50
> #define PPB_THRESH_RATE(PPB, RATE) ((PPB * RATE + 100 - RATE) / 100)
> #define PPB_THRESH(PPB) PPB_THRESH_RATE(PPB, MIN_PPB_THRESH)
>
> In case some other country defines a specific rate for their DFS patterns?
Thank you for the suggestion. I'll update it.
>
>>   #define PRF2PRI(PRF) ((1000000 + PRF / 2) / PRF)
>>   /* percentage of pulse width tolerance */
>>   #define WIDTH_TOLERANCE 5
>> @@ -96,17 +97,23 @@ static const struct radar_types fcc_radar_types = {
>>          .radar_types            = fcc_radar_ref_types,
>>   };
>>
>> -#define JP_PATTERN FCC_PATTERN
>> +#define JP_PATTERN(ID, WMIN, WMAX, PMIN, PMAX, PRF, PPB, RATE, CHIRP)  \
>> +{                                                              \
>> +       ID, WIDTH_LOWER(WMIN), WIDTH_UPPER(WMAX),               \
>> +       PMIN - PRI_TOLERANCE,                                   \
>> +       PMAX * PRF + PRI_TOLERANCE, PRF, PPB * PRF,             \
>> +       PPB_THRESH_JP(PPB, RATE), PRI_TOLERANCE, CHIRP  \
>> +}
>>   static const struct radar_detector_specs jp_radar_ref_types[] = {
>> -       JP_PATTERN(0, 0, 1, 1428, 1428, 1, 18, false),
>> -       JP_PATTERN(1, 2, 3, 3846, 3846, 1, 18, false),
>> -       JP_PATTERN(2, 0, 1, 1388, 1388, 1, 18, false),
>> -       JP_PATTERN(3, 1, 2, 4000, 4000, 1, 18, false),
>> -       JP_PATTERN(4, 0, 5, 150, 230, 1, 23, false),
>> -       JP_PATTERN(5, 6, 10, 200, 500, 1, 16, false),
>> -       JP_PATTERN(6, 11, 20, 200, 500, 1, 12, false),
>> -       JP_PATTERN(7, 50, 100, 1000, 2000, 1, 20, false),
>> -       JP_PATTERN(5, 0, 1, 333, 333, 1, 9, false),
>> +       JP_PATTERN(0, 0, 1, 1428, 1428, 1, 18, 50, false),
>> +       JP_PATTERN(1, 2, 3, 3846, 3846, 1, 18, 50, false),
>> +       JP_PATTERN(2, 0, 1, 1388, 1388, 1, 18, 50, false),
>> +       JP_PATTERN(3, 1, 2, 4000, 4000, 1, 18, 50, false),
>> +       JP_PATTERN(4, 0, 5, 150, 230, 1, 23, 50, false),
>> +       JP_PATTERN(5, 6, 10, 200, 500, 1, 16, 50, false),
>> +       JP_PATTERN(6, 11, 20, 200, 500, 1, 12, 50, false),
>> +       JP_PATTERN(7, 50, 100, 1000, 2000, 1, 20, 50, false),
>> +       JP_PATTERN(5, 0, 1, 333, 333, 1, 9, 50, false),
> If no JP patterns will have CHIRP set, would it make sense to embed
> that parameter into the define?
In fact I have a patch to JP type 7 which is Chirp radar.
Current parameters with JP type 7 radar won't detect radar at all.
I'll send the patch separately.
> Thanks,
>
Regards,
Peter

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

      reply	other threads:[~2015-03-31 23:32 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-31 18:16 [PATCH 1/2] ath: define JP DFS patterns separated from FCC Peter Oh
2015-03-31 18:16 ` [PATCH 2/2] ath: lower JP W53 band DFS detection threshold around 30% Peter Oh
2015-03-31 23:17 ` [PATCH 1/2] ath: define JP DFS patterns separated from FCC Julian Calaby
2015-03-31 23:31   ` Peter Oh [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=551B2E49.3090901@codeaurora.org \
    --to=poh@codeaurora.org \
    --cc=ath10k@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox