Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

staging: rtl8723au: odm_ConfigBB_PHY_8723A() always issues 32 bit writes

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Jes Sorensen and committed by
Greg Kroah-Hartman
2f3cf84f 539b61bf

+31 -34
+19 -16
drivers/staging/rtl8723au/hal/HalHWImg8723A_BB.c
··· 236 236 continue; 237 237 } else { 238 238 if (!CheckCondition(Array[i], hex)) { 239 - /* Discard the following (offset, data) pairs. */ 239 + /* Discard the following (offset, data) pairs */ 240 240 READ_NEXT_PAIR(v1, v2, i); 241 241 while (v2 != 0xDEAD && 242 242 v2 != 0xCDEF && ··· 244 244 READ_NEXT_PAIR(v1, v2, i); 245 245 i -= 2; /* prevent from for-loop += 2 */ 246 246 } else { 247 - /* Configure matched pairs and skip to end of if-else. */ 247 + /* Configure matched pairs and skip to 248 + end of if-else. */ 248 249 READ_NEXT_PAIR(v1, v2, i); 249 250 while (v2 != 0xDEAD && 250 251 v2 != 0xCDEF && ··· 480 479 481 480 /* This (offset, data) pair meets the condition. */ 482 481 if (v1 < 0xCDCDCDCD) { 483 - odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2); 482 + odm_ConfigBB_PHY_8723A(pDM_Odm, v1, v2); 484 483 continue; 485 484 } else { 486 485 if (!CheckCondition(Array[i], hex)) { 487 - /* Discard the following (offset, data) pairs. */ 486 + /* Discard the following (offset, data) pairs */ 488 487 READ_NEXT_PAIR(v1, v2, i); 489 488 while (v2 != 0xDEAD && 490 489 v2 != 0xCDEF && ··· 492 491 READ_NEXT_PAIR(v1, v2, i); 493 492 i -= 2; /* prevent from for-loop += 2 */ 494 493 } else { 495 - /* Configure matched pairs and skip to end of if-else. */ 494 + /* Configure matched pairs and skip to 495 + end of if-else. */ 496 496 READ_NEXT_PAIR(v1, v2, i); 497 497 while (v2 != 0xDEAD && 498 498 v2 != 0xCDEF && 499 499 v2 != 0xCDCD && i < ArrayLen - 2) { 500 - odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2); 500 + odm_ConfigBB_PHY_8723A(pDM_Odm, v1, v2); 501 501 READ_NEXT_PAIR(v1, v2, i); 502 502 } 503 503 while (v2 != 0xDEAD && i < ArrayLen - 2) ··· 519 517 520 518 void ODM_ReadAndConfig_PHY_REG_MP_8723A(struct dm_odm_t *pDM_Odm) 521 519 { 522 - u32 hex = 0; 523 - u32 i = 0; 524 - u8 platform = 0x04; 525 - u8 board = pDM_Odm->BoardType; 526 - u32 ArrayLen = sizeof(Array_PHY_REG_MP_8723A)/sizeof(u32); 527 - u32 *Array = Array_PHY_REG_MP_8723A; 520 + u32 hex = 0; 521 + u32 i; 522 + u8 platform = 0x04; 523 + u8 board = pDM_Odm->BoardType; 524 + u32 ArrayLen = sizeof(Array_PHY_REG_MP_8723A)/sizeof(u32); 525 + u32 *Array = Array_PHY_REG_MP_8723A; 528 526 529 527 hex += board; 530 528 hex += ODM_ITRF_USB << 8; ··· 536 534 537 535 /* This (offset, data) pair meets the condition. */ 538 536 if (v1 < 0xCDCDCDCD) { 539 - odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2); 537 + odm_ConfigBB_PHY_8723A(pDM_Odm, v1, v2); 540 538 continue; 541 539 } else { 542 540 if (!CheckCondition(Array[i], hex)) { 543 - /* Discard the following (offset, data) pairs. */ 541 + /* Discard the following (offset, data) pairs */ 544 542 READ_NEXT_PAIR(v1, v2, i); 545 543 while (v2 != 0xDEAD && 546 544 v2 != 0xCDEF && ··· 548 546 READ_NEXT_PAIR(v1, v2, i); 549 547 i -= 2; /* prevent from for-loop += 2 */ 550 548 } else { 551 - /* Configure matched pairs and skip to end of if-else. */ 549 + /* Configure matched pairs and skip to 550 + end of if-else. */ 552 551 READ_NEXT_PAIR(v1, v2, i); 553 552 while (v2 != 0xDEAD && 554 553 v2 != 0xCDEF && 555 554 v2 != 0xCDCD && i < ArrayLen - 2) { 556 - odm_ConfigBB_PHY_8723A(pDM_Odm, v1, bMaskDWord, v2); 555 + odm_ConfigBB_PHY_8723A(pDM_Odm, v1, v2); 557 556 READ_NEXT_PAIR(v1, v2, i); 558 557 } 559 558 while (v2 != 0xDEAD && i < ArrayLen - 2)
+11 -17
drivers/staging/rtl8723au/hal/odm_RegConfig8723A.c
··· 66 66 } 67 67 68 68 void 69 - odm_ConfigBB_PHY_8723A( 70 - struct dm_odm_t *pDM_Odm, 71 - u32 Addr, 72 - u32 Bitmask, 73 - u32 Data 74 - ) 69 + odm_ConfigBB_PHY_8723A(struct dm_odm_t *pDM_Odm, u32 addr, u32 data) 75 70 { 76 - if (Addr == 0xfe) 71 + if (addr == 0xfe) 77 72 msleep(50); 78 - else if (Addr == 0xfd) 73 + else if (addr == 0xfd) 79 74 mdelay(5); 80 - else if (Addr == 0xfc) 75 + else if (addr == 0xfc) 81 76 mdelay(1); 82 - else if (Addr == 0xfb) 77 + else if (addr == 0xfb) 83 78 udelay(50); 84 - else if (Addr == 0xfa) 79 + else if (addr == 0xfa) 85 80 udelay(5); 86 - else if (Addr == 0xf9) 81 + else if (addr == 0xf9) 87 82 udelay(1); 88 - else if (Addr == 0xa24) 89 - pDM_Odm->RFCalibrateInfo.RegA24 = Data; 90 - ODM_SetBBReg(pDM_Odm, Addr, Bitmask, Data); 83 + else if (addr == 0xa24) 84 + pDM_Odm->RFCalibrateInfo.RegA24 = data; 85 + rtl8723au_write32(pDM_Odm->Adapter, addr, data); 91 86 92 87 /* Add 1us delay between BB/RF register setting. */ 93 88 udelay(1); 94 89 95 90 ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_LOUD, 96 - ("===> ODM_ConfigBBWithHeaderFile23a: [PHY_REG] %08X %08X\n", 97 - Addr, Data)); 91 + ("===> %s: [PHY_REG] %08X %08X\n", __func__, addr, data)); 98 92 }
+1 -1
drivers/staging/rtl8723au/include/odm_RegConfig8723A.h
··· 22 22 23 23 void odm_ConfigBB_AGC_8723A(struct dm_odm_t *pDM_Odm, u32 addr, u32 data); 24 24 25 - void odm_ConfigBB_PHY_8723A(struct dm_odm_t *pDM_Odm, u32 Addr, u32 Bitmask, u32 Data); 25 + void odm_ConfigBB_PHY_8723A(struct dm_odm_t *pDM_Odm, u32 addr, u32 data); 26 26 27 27 #endif /* end of SUPPORT */