Lines Matching defs:pAS_Info

363 					    *pAS_Info,
371 if (pAS_Info->freeZones != NULL) {
373 pNode = pAS_Info->freeZones;
374 pAS_Info->freeZones = pNode->next_;
377 pNode = &pAS_Info->MT2063_ExclZones[pAS_Info->nZones];
385 pNode->next_ = pAS_Info->usedZones;
386 pAS_Info->usedZones = pNode;
389 pAS_Info->nZones++;
394 *pAS_Info,
408 pNodeToRemove->next_ = pAS_Info->freeZones;
409 pAS_Info->freeZones = pNodeToRemove;
412 pAS_Info->nZones--;
425 static void MT2063_AddExclZone(struct MT2063_AvoidSpursData_t *pAS_Info,
428 struct MT2063_ExclZone_t *pNode = pAS_Info->usedZones;
435 if ((f_max > (pAS_Info->f_if1_Center - (pAS_Info->f_if1_bw / 2)))
436 && (f_min < (pAS_Info->f_if1_Center + (pAS_Info->f_if1_bw / 2)))
459 pNode = InsertNode(pAS_Info, pPrev);
470 pNext = RemoveNode(pAS_Info, pNode, pNext);
479 static void MT2063_ResetExclZones(struct MT2063_AvoidSpursData_t *pAS_Info)
485 pAS_Info->nZones = 0; /* this clears the used list */
486 pAS_Info->usedZones = NULL; /* reset ptr */
487 pAS_Info->freeZones = NULL; /* reset ptr */
490 pAS_Info->f_ref *
491 ((pAS_Info->f_if1_Center - pAS_Info->f_if1_bw / 2 +
492 pAS_Info->f_in) / pAS_Info->f_ref) - pAS_Info->f_in;
494 pAS_Info->f_if1_Center + pAS_Info->f_if1_bw / 2 +
495 pAS_Info->f_LO1_FracN_Avoid) {
497 MT2063_AddExclZone(pAS_Info,
498 center - pAS_Info->f_LO1_FracN_Avoid,
500 MT2063_AddExclZone(pAS_Info, center + 1,
501 center + pAS_Info->f_LO1_FracN_Avoid);
502 center += pAS_Info->f_ref;
506 pAS_Info->f_ref *
507 ((pAS_Info->f_if1_Center - pAS_Info->f_if1_bw / 2 -
508 pAS_Info->f_out) / pAS_Info->f_ref) + pAS_Info->f_out;
510 pAS_Info->f_if1_Center + pAS_Info->f_if1_bw / 2 +
511 pAS_Info->f_LO2_FracN_Avoid) {
513 MT2063_AddExclZone(pAS_Info,
514 center - pAS_Info->f_LO2_FracN_Avoid,
516 MT2063_AddExclZone(pAS_Info, center + 1,
517 center + pAS_Info->f_LO2_FracN_Avoid);
518 center += pAS_Info->f_ref;
521 if (MT2063_EXCLUDE_US_DECT_FREQUENCIES(pAS_Info->avoidDECT)) {
523 MT2063_AddExclZone(pAS_Info, 1920836000 - pAS_Info->f_in, 1922236000 - pAS_Info->f_in); /* Ctr = 1921.536 */
524 MT2063_AddExclZone(pAS_Info, 1922564000 - pAS_Info->f_in, 1923964000 - pAS_Info->f_in); /* Ctr = 1923.264 */
525 MT2063_AddExclZone(pAS_Info, 1924292000 - pAS_Info->f_in, 1925692000 - pAS_Info->f_in); /* Ctr = 1924.992 */
526 MT2063_AddExclZone(pAS_Info, 1926020000 - pAS_Info->f_in, 1927420000 - pAS_Info->f_in); /* Ctr = 1926.720 */
527 MT2063_AddExclZone(pAS_Info, 1927748000 - pAS_Info->f_in, 1929148000 - pAS_Info->f_in); /* Ctr = 1928.448 */
530 if (MT2063_EXCLUDE_EURO_DECT_FREQUENCIES(pAS_Info->avoidDECT)) {
531 MT2063_AddExclZone(pAS_Info, 1896644000 - pAS_Info->f_in, 1898044000 - pAS_Info->f_in); /* Ctr = 1897.344 */
532 MT2063_AddExclZone(pAS_Info, 1894916000 - pAS_Info->f_in, 1896316000 - pAS_Info->f_in); /* Ctr = 1895.616 */
533 MT2063_AddExclZone(pAS_Info, 1893188000 - pAS_Info->f_in, 1894588000 - pAS_Info->f_in); /* Ctr = 1893.888 */
534 MT2063_AddExclZone(pAS_Info, 1891460000 - pAS_Info->f_in, 1892860000 - pAS_Info->f_in); /* Ctr = 1892.16 */
535 MT2063_AddExclZone(pAS_Info, 1889732000 - pAS_Info->f_in, 1891132000 - pAS_Info->f_in); /* Ctr = 1890.432 */
536 MT2063_AddExclZone(pAS_Info, 1888004000 - pAS_Info->f_in, 1889404000 - pAS_Info->f_in); /* Ctr = 1888.704 */
537 MT2063_AddExclZone(pAS_Info, 1886276000 - pAS_Info->f_in, 1887676000 - pAS_Info->f_in); /* Ctr = 1886.976 */
538 MT2063_AddExclZone(pAS_Info, 1884548000 - pAS_Info->f_in, 1885948000 - pAS_Info->f_in); /* Ctr = 1885.248 */
539 MT2063_AddExclZone(pAS_Info, 1882820000 - pAS_Info->f_in, 1884220000 - pAS_Info->f_in); /* Ctr = 1883.52 */
540 MT2063_AddExclZone(pAS_Info, 1881092000 - pAS_Info->f_in, 1882492000 - pAS_Info->f_in); /* Ctr = 1881.792 */
550 static u32 MT2063_ChooseFirstIF(struct MT2063_AvoidSpursData_t *pAS_Info)
561 pAS_Info->f_LO1_Step *
562 ((pAS_Info->f_if1_Request + pAS_Info->f_in +
563 pAS_Info->f_LO1_Step / 2) / pAS_Info->f_LO1_Step) -
564 pAS_Info->f_in;
566 (pAS_Info->f_LO1_Step >
567 pAS_Info->f_LO2_Step) ? pAS_Info->f_LO1_Step : pAS_Info->
576 struct MT2063_ExclZone_t *pNode = pAS_Info->usedZones;
581 if (pAS_Info->nZones == 0)
588 if (pAS_Info->f_if1_Center > f_Desired)
592 ((pAS_Info->f_if1_Center - f_Desired +
598 ((f_Desired - pAS_Info->f_if1_Center +
672 * @pAS_Info: Avoid Spurs information block
678 static u32 IsSpurInBand(struct MT2063_AvoidSpursData_t *pAS_Info,
685 const u32 f_LO1 = pAS_Info->f_LO1;
686 const u32 f_LO2 = pAS_Info->f_LO2;
687 const u32 d = pAS_Info->f_out + pAS_Info->f_out_bw / 2;
688 const u32 c = d - pAS_Info->f_out_bw;
689 const u32 f = pAS_Info->f_zif_bw / 2;
690 const u32 f_Scale = (f_LO1 / (UINT_MAX / 2 / pAS_Info->maxH1)) + 1;
716 for (n = n0; n <= pAS_Info->maxH1; ++n) {
721 if (md >= pAS_Info->maxH1)
787 static u32 MT2063_AvoidSpurs(struct MT2063_AvoidSpursData_t *pAS_Info)
791 pAS_Info->bSpurAvoided = 0;
792 pAS_Info->nSpursFound = 0;
796 if (pAS_Info->maxH1 == 0)
810 pAS_Info->bSpurPresent = IsSpurInBand(pAS_Info, &fm, &fp);
811 if (pAS_Info->bSpurPresent) {
812 u32 zfIF1 = pAS_Info->f_LO1 - pAS_Info->f_in; /* current attempt at a 1st IF */
813 u32 zfLO1 = pAS_Info->f_LO1; /* current attempt at an LO1 freq */
814 u32 zfLO2 = pAS_Info->f_LO2; /* current attempt at an LO2 freq */
822 pAS_Info->nSpursFound++;
825 MT2063_AddExclZone(pAS_Info, zfIF1 - fm, zfIF1 + fp);
828 new_IF1 = MT2063_ChooseFirstIF(pAS_Info);
831 pAS_Info->f_LO1 += (new_IF1 - zfIF1);
832 pAS_Info->f_LO2 += (new_IF1 - zfIF1);
834 pAS_Info->f_LO1 -= (zfIF1 - new_IF1);
835 pAS_Info->f_LO2 -= (zfIF1 - new_IF1);
839 if (zfIF1 > pAS_Info->f_if1_Center)
840 delta_IF1 = zfIF1 - pAS_Info->f_if1_Center;
842 delta_IF1 = pAS_Info->f_if1_Center - zfIF1;
844 pAS_Info->bSpurPresent = IsSpurInBand(pAS_Info, &fm, &fp);
849 } while ((2 * delta_IF1 + pAS_Info->f_out_bw <= pAS_Info->f_if1_bw) && pAS_Info->bSpurPresent);
856 if (pAS_Info->bSpurPresent == 1) {
858 pAS_Info->f_LO1 = zfLO1;
859 pAS_Info->f_LO2 = zfLO2;
861 pAS_Info->bSpurAvoided = 1;
865 ((pAS_Info->