[PATCH v2] staging/lustre: annotate lock/unlock in lov_stripe_lock / lov_stripe_unlock
Annotate the lock/unlock pair in lov_stripe_lock/lov_stripe_unlock to avoid sparse warning about a context imbalance. Part of the eudyptula challenge: http://eudyptula-challenge.org/ Signed-off-by: Mostyn Bramley-Moore --- drivers/staging/lustre/lustre/lov/lov_obd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/staging/lustre/lustre/lov/lov_obd.c b/drivers/staging/lustre/lustre/lov/lov_obd.c index cb778df..0baef6a 100644 --- a/drivers/staging/lustre/lustre/lov/lov_obd.c +++ b/drivers/staging/lustre/lustre/lov/lov_obd.c @@ -2649,6 +2649,7 @@ static int lov_extent_calc(struct obd_export *exp, struct lov_stripe_md *lsm, } void lov_stripe_lock(struct lov_stripe_md *md) + __acquires(&md->lsm_lock) { LASSERT(md->lsm_lock_owner != current_pid()); spin_lock(&md->lsm_lock); @@ -2658,6 +2659,7 @@ void lov_stripe_lock(struct lov_stripe_md *md) EXPORT_SYMBOL(lov_stripe_lock); void lov_stripe_unlock(struct lov_stripe_md *md) + __releases(&md->lsm_lock) { LASSERT(md->lsm_lock_owner == current_pid()); md->lsm_lock_owner = 0; -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 03/26] staging: rtl8188eu: Rename function odm_TxPwrTrackSetPwr88E()
Rename CamelCase function name. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 17 ++--- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index e3fcf8e..84df904 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -87,21 +87,16 @@ void rtl88eu_dm_txpower_track_adjust(struct odm_dm_struct *dm_odm, u8 type, (pwr_value<<24); } -/* - * Function: odm_TxPwrTrackSetPwr88E() - * - * Overview: 88E change all channel tx power accordign to flag. - * OFDM & CCK are all different. - */ -static void odm_TxPwrTrackSetPwr88E(struct odm_dm_struct *dm_odm) +static void dm_txpwr_track_setpwr(struct odm_dm_struct *dm_odm) { if (dm_odm->BbSwingFlagOfdm || dm_odm->BbSwingFlagCck) { - ODM_RT_TRACE(dm_odm, ODM_COMP_TX_PWR_TRACK, ODM_DBG_LOUD, ("odm_TxPwrTrackSetPwr88E CH=%d\n", *(dm_odm->pChannel))); + ODM_RT_TRACE(dm_odm, ODM_COMP_TX_PWR_TRACK, ODM_DBG_LOUD, +("dm_txpwr_track_setpwr CH=%d\n", *(dm_odm->pChannel))); phy_set_tx_power_level(dm_odm->Adapter, *(dm_odm->pChannel)); dm_odm->BbSwingFlagOfdm = false; - dm_odm->BbSwingFlagCck = false; + dm_odm->BbSwingFlagCck = false; } -} /* odm_TxPwrTrackSetPwr88E */ +} void odm_TXPowerTrackingCallback_ThermalMeter_8188E( @@ -140,7 +135,7 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E( struct odm_dm_struct *dm_odm = &pHalData->odmpriv; /* 2012/04/25 MH Add for tx power tracking to set tx power in tx agc for 88E. */ - odm_TxPwrTrackSetPwr88E(dm_odm); + dm_txpwr_track_setpwr(dm_odm); dm_odm->RFCalibrateInfo.TXPowerTrackingCallbackCnt++; /* cosa add for debug */ dm_odm->RFCalibrateInfo.bTXPowerTrackingInit = true; -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 01/26] staging: rtl8188eu: Rename function ODM_GetRightChnlPlaceforIQK()
Rename CamelCase function name. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c |8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 0e58597..be23959 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -23,16 +23,16 @@ #defineODM_TXPWRTRACK_MAX_IDX_88E 6 -static u8 ODM_GetRightChnlPlaceforIQK(u8 chnl) +static u8 get_right_chnl_for_iqk(u8 chnl) { - u8 channel_all[ODM_TARGET_CHNL_NUM_2G_5G] = { + u8 channel_all[ODM_TARGET_CHNL_NUM_2G_5G] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 149, 151, 153, 155, 157, 159, 161, 163, 165 }; - u8 place = chnl; + u8 place = chnl; if (chnl > 14) { for (place = 14; place < sizeof(channel_all); place++) { @@ -1383,7 +1383,7 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery) pathb_fill_iqk(adapt, pathbok, result, final_candidate, (RegEC4 == 0)); } - Indexforchannel = ODM_GetRightChnlPlaceforIQK(pHalData->CurrentChannel); + Indexforchannel = get_right_chnl_for_iqk(pHalData->CurrentChannel); /* To Fix BSOD when final_candidate is 0xff */ /* by sherry 20120321 */ -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 04/26] staging: rtl8188eu: Rework odm_TXPowerTrackingCallback_ThermalMeter_8188E()
Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 325 drivers/staging/rtl8188eu/hal/odm.c|2 +- drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h |3 +- 3 files changed, 122 insertions(+), 208 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 84df904..9770106 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -98,203 +98,156 @@ static void dm_txpwr_track_setpwr(struct odm_dm_struct *dm_odm) } } -void -odm_TXPowerTrackingCallback_ThermalMeter_8188E( - struct adapter *Adapter - ) +void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt) { - struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter); - u8 ThermalValue = 0, delta, delta_LCK, delta_IQK, offset; - u8 ThermalValue_AVG_count = 0; - u32 ThermalValue_AVG = 0; - s32 ele_A = 0, ele_D, TempCCk, X, value32; - s32 Y, ele_C = 0; - s8 OFDM_index[2], CCK_index = 0; - s8 OFDM_index_old[2] = {0, 0}, CCK_index_old = 0; + struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); + u8 thermal_val = 0, delta, delta_lck, delta_iqk, offset; + u8 thermal_avg_count = 0; + u32 thermal_avg = 0; + s32 ele_a = 0, ele_d, temp_cck, x, value32; + s32 y, ele_c = 0; + s8 ofdm_index[2], cck_index = 0; + s8 ofdm_index_old[2] = {0, 0}, cck_index_old = 0; u32 i = 0, j = 0; bool is2t = false; - u8 OFDM_min_index = 6, rf; /* OFDM BB Swing should be less than +3.0dB, which is required by Arthur */ - u8 Indexforchannel = 0/*GetRightChnlPlaceforIQK(pHalData->CurrentChannel)*/; - s8 OFDM_index_mapping[2][index_mapping_NUM_88E] = { - {0, 0, 2, 3, 4, 4, /* 2.4G, decrease power */ - 5, 6, 7, 7, 8, 9, - 10, 10, 11}, /* For lower temperature, 20120220 updated on 20120220. */ - {0, 0, -1, -2, -3, -4, /* 2.4G, increase power */ - -4, -4, -4, -5, -7, -8, - -9, -9, -10}, + u8 ofdm_min_index = 6, rf; /* OFDM BB Swing should be less than +3.0dB */ + u8 indexforchannel = 0; + s8 ofdm_index_mapping[2][index_mapping_NUM_88E] = { + /* 2.4G, decrease power */ + {0, 0, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11}, + /* 2.4G, increase power */ + {0, 0, -1, -2, -3, -4,-4, -4, -4, -5, -7, -8,-9, -9, -10}, }; - u8 Thermal_mapping[2][index_mapping_NUM_88E] = { - {0, 2, 4, 6, 8, 10, /* 2.4G, decrease power */ - 12, 14, 16, 18, 20, 22, - 24, 26, 27}, - {0, 2, 4, 6, 8, 10, /* 2.4G,, increase power */ - 12, 14, 16, 18, 20, 22, - 25, 25, 25}, + u8 thermal_mapping[2][index_mapping_NUM_88E] = { + /* 2.4G, decrease power */ + {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 27}, + /* 2.4G, increase power */ + {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 25, 25, 25}, }; - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; + struct odm_dm_struct *dm_odm = &hal_data->odmpriv; - /* 2012/04/25 MH Add for tx power tracking to set tx power in tx agc for 88E. */ dm_txpwr_track_setpwr(dm_odm); - dm_odm->RFCalibrateInfo.TXPowerTrackingCallbackCnt++; /* cosa add for debug */ + dm_odm->RFCalibrateInfo.TXPowerTrackingCallbackCnt++; dm_odm->RFCalibrateInfo.bTXPowerTrackingInit = true; - /* RFCalibrateInfo.RegA24 will be initialized when ODM HW configuring, but MP configures with para files. */ dm_odm->RFCalibrateInfo.RegA24 = 0x090e1317; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("===>dm_TXPowerTrackingCallback_ThermalMeter_8188E txpowercontrol %d\n", -dm_odm->RFCalibrateInfo.TxPowerTrackControl)); - - ThermalValue = (u8)phy_query_rf_reg(Adapter, RF_PATH_A, RF_T_METER_88E, 0xfc00);/* 0x42: RF Reg[15:10] 88E */ - - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("Readback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x\n", -ThermalValue, dm_odm->RFCalibrateInfo.ThermalValue, pHalData->EEPROMThermalMeter)); + thermal_val = (u8)phy_query_rf_reg(adapt, RF_PATH_A, + RF_T_METER_88E, 0xfc00); if (is2t) rf = 2; else rf = 1; - if (ThermalValue) { + if (thermal_val) { /* Query OFDM path A default setting */ - ele_D = phy_query_bb_reg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord)&bMaskOFDM_D; -
[PATCH 02/26] staging: rtl8188eu: Rework function ODM_TxPwrTrackAdjust88E()
Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 59 +++- drivers/staging/rtl8188eu/hal/rf.c |6 +- drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h | 12 ++-- 3 files changed, 31 insertions(+), 46 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index be23959..e3fcf8e 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -43,66 +43,49 @@ static u8 get_right_chnl_for_iqk(u8 chnl) return 0; } -/* 3 Tx Power Tracking */ -/* - * Function: ODM_TxPwrTrackAdjust88E() - * - * Overview: 88E we can not write 0xc80/c94/c4c/ 0xa2x. Instead of write TX agc. - * No matter OFDM & CCK use the same method. - * - * Revised History: - * WhenWho Remark - * 04/23/2012 MHC Create Version 0. - * 04/23/2012 MHC Adjust TX agc directly not throughput BB digital. - * - */ -void ODM_TxPwrTrackAdjust88E(struct odm_dm_struct *dm_odm, u8 Type,/* 0 = OFDM, 1 = CCK */ - u8 *pDirection, /* 1 = +(increase) 2 = -(decrease) */ - u32 *pOutWriteVal /* Tx tracking CCK/OFDM BB swing index adjust */ - ) +void rtl88eu_dm_txpower_track_adjust(struct odm_dm_struct *dm_odm, u8 type, +u8 *direction, u32 *out_write_val) { u8 pwr_value = 0; /* Tx power tracking BB swing table. */ - /* The base index = 12. +((12-n)/2)dB 13~?? = decrease tx pwr by -((n-12)/2)dB */ - if (Type == 0) {/* For OFDM afjust */ + if (type == 0) { /* For OFDM adjust */ ODM_RT_TRACE(dm_odm, ODM_COMP_TX_PWR_TRACK, ODM_DBG_LOUD, ("BbSwingIdxOfdm = %d BbSwingFlagOfdm=%d\n", dm_odm->BbSwingIdxOfdm, dm_odm->BbSwingFlagOfdm)); if (dm_odm->BbSwingIdxOfdm <= dm_odm->BbSwingIdxOfdmBase) { - *pDirection = 1; - pwr_value = (dm_odm->BbSwingIdxOfdmBase - dm_odm->BbSwingIdxOfdm); + *direction = 1; + pwr_value = (dm_odm->BbSwingIdxOfdmBase - +dm_odm->BbSwingIdxOfdm); } else { - *pDirection = 2; - pwr_value = (dm_odm->BbSwingIdxOfdm - dm_odm->BbSwingIdxOfdmBase); + *direction = 2; + pwr_value = (dm_odm->BbSwingIdxOfdm - +dm_odm->BbSwingIdxOfdmBase); } - ODM_RT_TRACE(dm_odm, ODM_COMP_TX_PWR_TRACK, ODM_DBG_LOUD, -("BbSwingIdxOfdm = %d BbSwingFlagOfdm=%d\n", -dm_odm->BbSwingIdxOfdm, dm_odm->BbSwingFlagOfdm)); - } else if (Type == 1) { /* For CCK adjust. */ + } else if (type == 1) { /* For CCK adjust. */ ODM_RT_TRACE(dm_odm, ODM_COMP_TX_PWR_TRACK, ODM_DBG_LOUD, ("dm_odm->BbSwingIdxCck = %d dm_odm->BbSwingIdxCckBase = %d\n", dm_odm->BbSwingIdxCck, dm_odm->BbSwingIdxCckBase)); if (dm_odm->BbSwingIdxCck <= dm_odm->BbSwingIdxCckBase) { - *pDirection = 1; - pwr_value = (dm_odm->BbSwingIdxCckBase - dm_odm->BbSwingIdxCck); + *direction = 1; + pwr_value = (dm_odm->BbSwingIdxCckBase - +dm_odm->BbSwingIdxCck); } else { - *pDirection = 2; - pwr_value = (dm_odm->BbSwingIdxCck - dm_odm->BbSwingIdxCckBase); + *direction = 2; + pwr_value = (dm_odm->BbSwingIdxCck - +dm_odm->BbSwingIdxCckBase); } + } - /* */ - /* 2012/04/25 MH According to Ed/Luke.Lees estimate for EVM the max tx power tracking */ - /* need to be less than 6 power index for 88E. */ - /* */ - if (pwr_value >= ODM_TXPWRTRACK_MAX_IDX_88E && *pDirection == 1) + if (pwr_value >= ODM_TXPWRTRACK_MAX_IDX_88E && *direction == 1) pwr_value = ODM_TXPWRTRACK_MAX_IDX_88E; - *pOutWriteVal = pwr_value | (pwr_value<<8) | (pwr_value<<16) | (pwr_value<<24); -} /* ODM_TxPwrTrackAdjust88E */ + *out_write_val = pwr_value | (pwr_value<<8) | (pwr_value<<16) | +(pwr_value<<24); +} /* * Function: odm_TxPwrTrackSetPwr88E() diff --git a/drivers/staging/rtl8188eu/hal/rf.c b/drivers/staging/rtl8188eu/hal/rf.c index 6ae22b0..c2fac34 100644 --- a/drivers/staging/rtl8188eu/hal/rf.c +++ b/drivers/staging/rtl81
[PATCH 06/26] staging: rtl8188eu: Rework function phy_PathA_IQK_8188E()
Rename CamelCase function name and local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 37 +++- 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 186b718..b5c6426 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -358,50 +358,35 @@ void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt) #define MAX_TOLERANCE 5 -static u8 /* bit0 = 1 => Tx OK, bit1 = 1 => Rx OK */ -phy_PathA_IQK_8188E(struct adapter *adapt, bool configPathB) +static u8 phy_path_a_iqk(struct adapter *adapt, bool config_pathb) { - u32 regeac, regE94, regE9C, regEA4; + u32 reg_eac, reg_e94, reg_e9c, reg_ea4; u8 result = 0x00; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Path A IQK!\n")); /* 1 Tx IQK */ /* path-A IQK setting */ - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Path-A IQK setting!\n")); phy_set_bb_reg(adapt, rTx_IQK_Tone_A, bMaskDWord, 0x10008c1c); phy_set_bb_reg(adapt, rRx_IQK_Tone_A, bMaskDWord, 0x30008c1c); phy_set_bb_reg(adapt, rTx_IQK_PI_A, bMaskDWord, 0x8214032a); phy_set_bb_reg(adapt, rRx_IQK_PI_A, bMaskDWord, 0x2816); /* LO calibration setting */ - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("LO calibration setting!\n")); phy_set_bb_reg(adapt, rIQK_AGC_Rsp, bMaskDWord, 0x00462911); /* One shot, path A LOK & IQK */ - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("One shot, path A LOK & IQK!\n")); phy_set_bb_reg(adapt, rIQK_AGC_Pts, bMaskDWord, 0xf900); phy_set_bb_reg(adapt, rIQK_AGC_Pts, bMaskDWord, 0xf800); - /* delay x ms */ - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Delay %d ms for One shot, path A LOK & IQK.\n", IQK_DELAY_TIME_88E)); - /* PlatformStallExecution(IQK_DELAY_TIME_88E*1000); */ mdelay(IQK_DELAY_TIME_88E); - /* Check failed */ - regeac = phy_query_bb_reg(adapt, rRx_Power_After_IQK_A_2, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("0xeac = 0x%x\n", regeac)); - regE94 = phy_query_bb_reg(adapt, rTx_Power_Before_IQK_A, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("0xe94 = 0x%x\n", regE94)); - regE9C = phy_query_bb_reg(adapt, rTx_Power_After_IQK_A, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("0xe9c = 0x%x\n", regE9C)); - regEA4 = phy_query_bb_reg(adapt, rRx_Power_Before_IQK_A_2, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("0xea4 = 0x%x\n", regEA4)); - - if (!(regeac & BIT28) && - (((regE94 & 0x03FF)>>16) != 0x142) && - (((regE9C & 0x03FF)>>16) != 0x42)) + reg_eac = phy_query_bb_reg(adapt, rRx_Power_After_IQK_A_2, bMaskDWord); + reg_e94 = phy_query_bb_reg(adapt, rTx_Power_Before_IQK_A, bMaskDWord); + reg_e9c = phy_query_bb_reg(adapt, rTx_Power_After_IQK_A, bMaskDWord); + reg_ea4 = phy_query_bb_reg(adapt, rRx_Power_Before_IQK_A_2, bMaskDWord); + + if (!(reg_eac & BIT28) && + (((reg_e94 & 0x03FF)>>16) != 0x142) && + (((reg_e9c & 0x03FF)>>16) != 0x42)) result |= 0x01; return result; } @@ -987,7 +972,7 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, phy_set_bb_reg(adapt, rRx_IQK, bMaskDWord, 0x81004800); for (i = 0; i < retryCount; i++) { - PathAOK = phy_PathA_IQK_8188E(adapt, is2t); + PathAOK = phy_path_a_iqk(adapt, is2t); if (PathAOK == 0x01) { ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Path A Tx IQK Success!!\n")); result[t][0] = (phy_query_bb_reg(adapt, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF)>>16; -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 05/26] staging: rtl8188eu: Rework function phy_PathA_RxIQK()
Rename CamelCase function name and variables. Remove unnecessary debugging messages. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 78 1 file changed, 27 insertions(+), 51 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 9770106..186b718 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -356,8 +356,7 @@ void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt) dm_odm->RFCalibrateInfo.TXPowercount = 0; } -/* 1 7.IQK */ -#define MAX_TOLERANCE 5 +#define MAX_TOLERANCE 5 static u8 /* bit0 = 1 => Tx OK, bit1 = 1 => Rx OK */ phy_PathA_IQK_8188E(struct adapter *adapt, bool configPathB) @@ -407,18 +406,15 @@ phy_PathA_IQK_8188E(struct adapter *adapt, bool configPathB) return result; } -static u8 /* bit0 = 1 => Tx OK, bit1 = 1 => Rx OK */ -phy_PathA_RxIQK(struct adapter *adapt, bool configPathB) +static u8 phy_path_a_rx_iqk(struct adapter *adapt, bool configPathB) { - u32 regeac, regE94, regE9C, regEA4, u4tmp; + u32 reg_eac, reg_e94, reg_e9c, reg_ea4, u4tmp; u8 result = 0x00; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Path A Rx IQK!\n")); + struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); + struct odm_dm_struct *dm_odm = &hal_data->odmpriv; /* 1 Get TXIMR setting */ /* modify RXIQK mode table */ - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Path-A Rx IQK modify RXIQK mode table!\n")); phy_set_bb_reg(adapt, rFPGA0_IQK, bMaskDWord, 0x); phy_set_rf_reg(adapt, RF_PATH_A, RF_WE_LUT, bRFRegOffsetMask, 0x800a0); phy_set_rf_reg(adapt, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x3); @@ -442,45 +438,34 @@ phy_PathA_RxIQK(struct adapter *adapt, bool configPathB) phy_set_bb_reg(adapt, rRx_IQK_PI_A, bMaskDWord, 0x2816); /* LO calibration setting */ - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("LO calibration setting!\n")); phy_set_bb_reg(adapt, rIQK_AGC_Rsp, bMaskDWord, 0x0046a911); /* One shot, path A LOK & IQK */ - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("One shot, path A LOK & IQK!\n")); phy_set_bb_reg(adapt, rIQK_AGC_Pts, bMaskDWord, 0xf900); phy_set_bb_reg(adapt, rIQK_AGC_Pts, bMaskDWord, 0xf800); - /* delay x ms */ - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("Delay %d ms for One shot, path A LOK & IQK.\n", -IQK_DELAY_TIME_88E)); + /* delay x ms */ mdelay(IQK_DELAY_TIME_88E); - /* Check failed */ - regeac = phy_query_bb_reg(adapt, rRx_Power_After_IQK_A_2, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("0xeac = 0x%x\n", regeac)); - regE94 = phy_query_bb_reg(adapt, rTx_Power_Before_IQK_A, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("0xe94 = 0x%x\n", regE94)); - regE9C = phy_query_bb_reg(adapt, rTx_Power_After_IQK_A, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("0xe9c = 0x%x\n", regE9C)); + /* Check failed */ + reg_eac = phy_query_bb_reg(adapt, rRx_Power_After_IQK_A_2, bMaskDWord); + reg_e94 = phy_query_bb_reg(adapt, rTx_Power_Before_IQK_A, bMaskDWord); + reg_e9c = phy_query_bb_reg(adapt, rTx_Power_After_IQK_A, bMaskDWord); - if (!(regeac & BIT28) && - (((regE94 & 0x03FF)>>16) != 0x142) && - (((regE9C & 0x03FF)>>16) != 0x42)) + if (!(reg_eac & BIT28) && + (((reg_e94 & 0x03FF)>>16) != 0x142) && + (((reg_e9c & 0x03FF)>>16) != 0x42)) result |= 0x01; - else/* if Tx not OK, ignore Rx */ + else/* if Tx not OK, ignore Rx */ return result; - u4tmp = 0x80007C00 | (regE94&0x3FF) | ((regE9C&0x3FF) >> 16); + u4tmp = 0x80007C00 | (reg_e94&0x3FF) | ((reg_e9c&0x3FF) >> 16); phy_set_bb_reg(adapt, rTx_IQK, bMaskDWord, u4tmp); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("0xe40 = 0x%x u4tmp = 0x%x\n", phy_query_bb_reg(adapt, rTx_IQK, bMaskDWord), u4tmp)); /* 1 RX IQK */ /* modify RXIQK mode table */ - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Path-A Rx IQK modify RXIQK mode table 2!\n")); + ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, +("Path-A Rx IQK modify RXIQK mode ta
[PATCH 07/26] staging: rtl8188eu: Rework function phy_PathB_IQK_8188E()
Rename CamelCase function name and local variables. Remove unnecessary debugging messages. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 29 +--- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index b5c6426..d59b4ce 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -496,42 +496,24 @@ static u8 phy_path_a_rx_iqk(struct adapter *adapt, bool configPathB) return result; } -static u8 /* bit0 = 1 => Tx OK, bit1 = 1 => Rx OK */ -phy_PathB_IQK_8188E(struct adapter *adapt) +static u8 phy_path_b_iqk(struct adapter *adapt) { u32 regeac, regeb4, regebc, regec4, regecc; u8 result = 0x00; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Path B IQK!\n")); + struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); + struct odm_dm_struct *dm_odm = &hal_data->odmpriv; /* One shot, path B LOK & IQK */ - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("One shot, path A LOK & IQK!\n")); phy_set_bb_reg(adapt, rIQK_AGC_Cont, bMaskDWord, 0x0002); phy_set_bb_reg(adapt, rIQK_AGC_Cont, bMaskDWord, 0x); - /* delay x ms */ - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("Delay %d ms for One shot, path B LOK & IQK.\n", -IQK_DELAY_TIME_88E)); mdelay(IQK_DELAY_TIME_88E); - /* Check failed */ regeac = phy_query_bb_reg(adapt, rRx_Power_After_IQK_A_2, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("0xeac = 0x%x\n", regeac)); regeb4 = phy_query_bb_reg(adapt, rTx_Power_Before_IQK_B, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("0xeb4 = 0x%x\n", regeb4)); regebc = phy_query_bb_reg(adapt, rTx_Power_After_IQK_B, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("0xebc = 0x%x\n", regebc)); regec4 = phy_query_bb_reg(adapt, rRx_Power_Before_IQK_B_2, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("0xec4 = 0x%x\n", regec4)); regecc = phy_query_bb_reg(adapt, rRx_Power_After_IQK_B_2, bMaskDWord); - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("0xecc = 0x%x\n", regecc)); if (!(regeac & BIT31) && (((regeb4 & 0x03FF)>>16) != 0x142) && @@ -545,7 +527,8 @@ phy_PathB_IQK_8188E(struct adapter *adapt) (((regecc & 0x03FF)>>16) != 0x36)) result |= 0x02; else - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Path B Rx IQK fail!!\n")); + ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, +ODM_DBG_LOUD, ("Path B Rx IQK fail!!\n")); return result; } @@ -1004,7 +987,7 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, _PHY_PathADDAOn(adapt, ADDA_REG, false, is2t); for (i = 0; i < retryCount; i++) { - PathBOK = phy_PathB_IQK_8188E(adapt); + PathBOK = phy_path_b_iqk(adapt); if (PathBOK == 0x03) { ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Path B IQK Success!!\n")); result[t][4] = (phy_query_bb_reg(adapt, rTx_Power_Before_IQK_B, bMaskDWord)&0x3FF)>>16; -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 13/26] staging: rtl8188eu: Rework function _PHY_ReloadMACRegisters()
Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 17 + 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 6f81bbd..63e4010 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -655,22 +655,15 @@ static void reload_adda_reg(struct adapter *adapt, u32 *adda_reg, phy_set_bb_reg(adapt, adda_reg[i], bMaskDWord, backup[i]); } -static void -_PHY_ReloadMACRegisters( - struct adapter *adapt, - u32 *MACReg, - u32 *MACBackup - ) +static void reload_mac_registers(struct adapter *adapt, +u32 *mac_reg, u32 *backup) { u32 i; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Reload MAC parameters !\n")); for (i = 0; i < (IQK_MAC_REG_NUM - 1); i++) { - usb_write8(adapt, MACReg[i], (u8)MACBackup[i]); + usb_write8(adapt, mac_reg[i], (u8)backup[i]); } - usb_write32(adapt, MACReg[i], MACBackup[i]); + usb_write32(adapt, mac_reg[i], backup[i]); } void @@ -1003,7 +996,7 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, reload_adda_reg(adapt, ADDA_REG, dm_odm->RFCalibrateInfo.ADDA_backup, IQK_ADDA_REG_NUM); /* Reload MAC parameters */ - _PHY_ReloadMACRegisters(adapt, IQK_MAC_REG, dm_odm->RFCalibrateInfo.IQK_MAC_backup); + reload_mac_registers(adapt, IQK_MAC_REG, dm_odm->RFCalibrateInfo.IQK_MAC_backup); reload_adda_reg(adapt, IQK_BB_REG_92C, dm_odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 10/26] staging: rtl8188eu: Rework function _PHY_SaveADDARegisters()
Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 16 +++- drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h |3 --- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index d04ac50..732014d 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -625,15 +625,13 @@ static void pathb_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8], } } -void _PHY_SaveADDARegisters(struct adapter *adapt, u32 *ADDAReg, u32 *ADDABackup, u32 RegisterNum) +static void save_adda_registers(struct adapter *adapt, u32 *addareg, + u32 *backup, u32 register_num) { u32 i; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Save ADDA parameters.\n")); - for (i = 0; i < RegisterNum; i++) { - ADDABackup[i] = phy_query_bb_reg(adapt, ADDAReg[i], bMaskDWord); + for (i = 0; i < register_num; i++) { + backup[i] = phy_query_bb_reg(adapt, addareg[i], bMaskDWord); } } @@ -898,9 +896,9 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQ Calibration for %s for %d times\n", (is2t ? "2T2R" : "1T1R"), t)); /* Save ADDA parameters, turn Path A ADDA on */ - _PHY_SaveADDARegisters(adapt, ADDA_REG, dm_odm->RFCalibrateInfo.ADDA_backup, IQK_ADDA_REG_NUM); + save_adda_registers(adapt, ADDA_REG, dm_odm->RFCalibrateInfo.ADDA_backup, IQK_ADDA_REG_NUM); _PHY_SaveMACRegisters(adapt, IQK_MAC_REG, dm_odm->RFCalibrateInfo.IQK_MAC_backup); - _PHY_SaveADDARegisters(adapt, IQK_BB_REG_92C, dm_odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM); + save_adda_registers(adapt, IQK_BB_REG_92C, dm_odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM); } ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQ Calibration for %s for %d times\n", (is2t ? "2T2R" : "1T1R"), t)); @@ -1222,7 +1220,7 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery) } ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("\nIQK OK Indexforchannel %d.\n", Indexforchannel)); - _PHY_SaveADDARegisters(adapt, IQK_BB_REG_92C, dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9); + save_adda_registers(adapt, IQK_BB_REG_92C, dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9); ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQK finished\n")); } diff --git a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h index 96aebf0..67b3471 100644 --- a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h +++ b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h @@ -46,9 +46,6 @@ void PHY_LCCalibrate_8188E(struct adapter *pAdapter); /* AP calibrate */ void PHY_DigitalPredistortion_8188E(struct adapter *pAdapter); -void _PHY_SaveADDARegisters(struct adapter *pAdapter, u32 *ADDAReg, - u32 *ADDABackup, u32 RegisterNum); - void _PHY_PathADDAOn(struct adapter *pAdapter, u32 *ADDAReg, bool isPathAOn, bool is2T); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 09/26] staging: rtl8188eu: Rework function pathb_fill_iqk()
Rename CamelCase local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 46 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 88b6256..d04ac50 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -578,40 +578,38 @@ static void patha_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8], } } -static void pathb_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8], u8 final_candidate, bool txonly) +static void pathb_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8], + u8 final_candidate, bool txonly) { - u32 Oldval_1, X, TX1_A, reg; - s32 Y, TX1_C; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("Path B IQ Calibration %s !\n", -(iqkok) ? "Success" : "Failed")); + u32 oldval_1, x, tx1_a, reg; + s32 y, tx1_c; if (final_candidate == 0xFF) { return; } else if (iqkok) { - Oldval_1 = (phy_query_bb_reg(adapt, rOFDM0_XBTxIQImbalance, bMaskDWord) >> 22) & 0x3FF; + oldval_1 = (phy_query_bb_reg(adapt, rOFDM0_XBTxIQImbalance, bMaskDWord) >> 22) & 0x3FF; - X = result[final_candidate][4]; - if ((X & 0x0200) != 0) - X = X | 0xFC00; - TX1_A = (X * Oldval_1) >> 8; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("X = 0x%x, TX1_A = 0x%x\n", X, TX1_A)); - phy_set_bb_reg(adapt, rOFDM0_XBTxIQImbalance, 0x3FF, TX1_A); + x = result[final_candidate][4]; + if ((x & 0x0200) != 0) + x = x | 0xFC00; + tx1_a = (x * oldval_1) >> 8; + phy_set_bb_reg(adapt, rOFDM0_XBTxIQImbalance, 0x3FF, tx1_a); - phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(27), ((X * Oldval_1>>7) & 0x1)); + phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(27), + ((x * oldval_1>>7) & 0x1)); - Y = result[final_candidate][5]; - if ((Y & 0x0200) != 0) - Y = Y | 0xFC00; + y = result[final_candidate][5]; + if ((y & 0x0200) != 0) + y = y | 0xFC00; - TX1_C = (Y * Oldval_1) >> 8; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Y = 0x%x, TX1_C = 0x%x\n", Y, TX1_C)); - phy_set_bb_reg(adapt, rOFDM0_XDTxAFE, 0xF000, ((TX1_C&0x3C0)>>6)); - phy_set_bb_reg(adapt, rOFDM0_XBTxIQImbalance, 0x003F, (TX1_C&0x3F)); + tx1_c = (y * oldval_1) >> 8; - phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(25), ((Y * Oldval_1>>7) & 0x1)); + phy_set_bb_reg(adapt, rOFDM0_XDTxAFE, 0xF000, + ((tx1_c&0x3C0)>>6)); + phy_set_bb_reg(adapt, rOFDM0_XBTxIQImbalance, 0x003F, + (tx1_c&0x3F)); + phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(25), + ((y * oldval_1>>7) & 0x1)); if (txonly) return; -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 11/26] staging: rtl8188eu: Rework function _PHY_SaveMACRegisters()
Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 17 ++--- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 732014d..1eabfde 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -635,20 +635,15 @@ static void save_adda_registers(struct adapter *adapt, u32 *addareg, } } -static void _PHY_SaveMACRegisters( - struct adapter *adapt, - u32 *MACReg, - u32 *MACBackup - ) +static void save_mac_registers(struct adapter *adapt, u32 *mac_reg, + u32 *backup) { u32 i; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Save MAC parameters.\n")); + for (i = 0; i < (IQK_MAC_REG_NUM - 1); i++) { - MACBackup[i] = usb_read8(adapt, MACReg[i]); + backup[i] = usb_read8(adapt, mac_reg[i]); } - MACBackup[i] = usb_read32(adapt, MACReg[i]); + backup[i] = usb_read32(adapt, mac_reg[i]); } static void reload_adda_reg(struct adapter *adapt, u32 *ADDAReg, u32 *ADDABackup, u32 RegiesterNum) @@ -897,7 +892,7 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, /* Save ADDA parameters, turn Path A ADDA on */ save_adda_registers(adapt, ADDA_REG, dm_odm->RFCalibrateInfo.ADDA_backup, IQK_ADDA_REG_NUM); - _PHY_SaveMACRegisters(adapt, IQK_MAC_REG, dm_odm->RFCalibrateInfo.IQK_MAC_backup); + save_mac_registers(adapt, IQK_MAC_REG, dm_odm->RFCalibrateInfo.IQK_MAC_backup); save_adda_registers(adapt, IQK_BB_REG_92C, dm_odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM); } ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQ Calibration for %s for %d times\n", (is2t ? "2T2R" : "1T1R"), t)); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 08/26] staging: rtl8188eu: Rework function patha_fill_iqk()
Rename CamelCase local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 53 ++-- 1 file changed, 23 insertions(+), 30 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index d59b4ce..88b6256 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -532,47 +532,40 @@ static u8 phy_path_b_iqk(struct adapter *adapt) return result; } -static void patha_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8], u8 final_candidate, bool txonly) +static void patha_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8], + u8 final_candidate, bool txonly) { - u32 Oldval_0, X, TX0_A, reg; - s32 Y, TX0_C; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("Path A IQ Calibration %s !\n", -(iqkok) ? "Success" : "Failed")); + u32 oldval_0, x, tx0_a, reg; + s32 y, tx0_c; if (final_candidate == 0xFF) { return; } else if (iqkok) { - Oldval_0 = (phy_query_bb_reg(adapt, rOFDM0_XATxIQImbalance, bMaskDWord) >> 22) & 0x3FF; - - X = result[final_candidate][0]; - if ((X & 0x0200) != 0) - X = X | 0xFC00; - TX0_A = (X * Oldval_0) >> 8; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("X = 0x%x, TX0_A = 0x%x, Oldval_0 0x%x\n", -X, TX0_A, Oldval_0)); - phy_set_bb_reg(adapt, rOFDM0_XATxIQImbalance, 0x3FF, TX0_A); + oldval_0 = (phy_query_bb_reg(adapt, rOFDM0_XATxIQImbalance, bMaskDWord) >> 22) & 0x3FF; - phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(31), ((X * Oldval_0>>7) & 0x1)); + x = result[final_candidate][0]; + if ((x & 0x0200) != 0) + x = x | 0xFC00; - Y = result[final_candidate][1]; - if ((Y & 0x0200) != 0) - Y = Y | 0xFC00; + tx0_a = (x * oldval_0) >> 8; + phy_set_bb_reg(adapt, rOFDM0_XATxIQImbalance, 0x3FF, tx0_a); + phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(31), + ((x * oldval_0>>7) & 0x1)); - TX0_C = (Y * Oldval_0) >> 8; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Y = 0x%x, TX = 0x%x\n", Y, TX0_C)); - phy_set_bb_reg(adapt, rOFDM0_XCTxAFE, 0xF000, ((TX0_C&0x3C0)>>6)); - phy_set_bb_reg(adapt, rOFDM0_XATxIQImbalance, 0x003F, (TX0_C&0x3F)); + y = result[final_candidate][1]; + if ((y & 0x0200) != 0) + y = y | 0xFC00; - phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(29), ((Y * Oldval_0>>7) & 0x1)); + tx0_c = (y * oldval_0) >> 8; + phy_set_bb_reg(adapt, rOFDM0_XCTxAFE, 0xF000, + ((tx0_c&0x3C0)>>6)); + phy_set_bb_reg(adapt, rOFDM0_XATxIQImbalance, 0x003F, + (tx0_c&0x3F)); + phy_set_bb_reg(adapt, rOFDM0_ECCAThreshold, BIT(29), + ((y * oldval_0>>7) & 0x1)); - if (txonly) { - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("patha_fill_iqk only Tx OK\n")); + if (txonly) return; - } reg = result[final_candidate][2]; phy_set_bb_reg(adapt, rOFDM0_XARxIQImbalance, 0x3FF, reg); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 14/26] staging: rtl8188eu: Rework function _PHY_PathADDAOn()
Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 28 +++- drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h |3 --- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 63e4010..24278f9 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -666,30 +666,22 @@ static void reload_mac_registers(struct adapter *adapt, usb_write32(adapt, mac_reg[i], backup[i]); } -void -_PHY_PathADDAOn( - struct adapter *adapt, - u32 *ADDAReg, - bool isPathAOn, - bool is2t - ) +static void path_adda_on(struct adapter *adapt, u32 *adda_reg, +bool is_path_a_on, bool is2t) { - u32 pathOn; + u32 path_on; u32 i; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("ADDA ON.\n")); - pathOn = isPathAOn ? 0x04db25a4 : 0x0b1b25a4; + path_on = is_path_a_on ? 0x04db25a4 : 0x0b1b25a4; if (!is2t) { - pathOn = 0x0bdb25a0; - phy_set_bb_reg(adapt, ADDAReg[0], bMaskDWord, 0x0b1b25a0); + path_on = 0x0bdb25a0; + phy_set_bb_reg(adapt, adda_reg[0], bMaskDWord, 0x0b1b25a0); } else { - phy_set_bb_reg(adapt, ADDAReg[0], bMaskDWord, pathOn); + phy_set_bb_reg(adapt, adda_reg[0], bMaskDWord, path_on); } for (i = 1; i < IQK_ADDA_REG_NUM; i++) - phy_set_bb_reg(adapt, ADDAReg[i], bMaskDWord, pathOn); + phy_set_bb_reg(adapt, adda_reg[i], bMaskDWord, path_on); } void @@ -888,7 +880,7 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, } ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQ Calibration for %s for %d times\n", (is2t ? "2T2R" : "1T1R"), t)); - _PHY_PathADDAOn(adapt, ADDA_REG, true, is2t); + path_adda_on(adapt, ADDA_REG, true, is2t); if (t == 0) dm_odm->RFCalibrateInfo.bRfPiEnable = (u8)phy_query_bb_reg(adapt, rFPGA0_XA_HSSIParameter1, BIT(8)); @@ -959,7 +951,7 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, _PHY_PathAStandBy(adapt); /* Turn Path B ADDA on */ - _PHY_PathADDAOn(adapt, ADDA_REG, false, is2t); + path_adda_on(adapt, ADDA_REG, false, is2t); for (i = 0; i < retryCount; i++) { PathBOK = phy_path_b_iqk(adapt); diff --git a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h index 67b3471..efd1fea 100644 --- a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h +++ b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h @@ -46,9 +46,6 @@ void PHY_LCCalibrate_8188E(struct adapter *pAdapter); /* AP calibrate */ void PHY_DigitalPredistortion_8188E(struct adapter *pAdapter); -void _PHY_PathADDAOn(struct adapter *pAdapter, u32 *ADDAReg, -bool isPathAOn, bool is2T); - void _PHY_MACSettingCalibration(struct adapter *pAdapter, u32 *MACReg, u32 *MACBackup); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 12/26] staging: rtl8188eu: Rework function reload_adda_reg()
Rename CamelCase local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 1eabfde..6f81bbd 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -646,15 +646,13 @@ static void save_mac_registers(struct adapter *adapt, u32 *mac_reg, backup[i] = usb_read32(adapt, mac_reg[i]); } -static void reload_adda_reg(struct adapter *adapt, u32 *ADDAReg, u32 *ADDABackup, u32 RegiesterNum) +static void reload_adda_reg(struct adapter *adapt, u32 *adda_reg, + u32 *backup, u32 regiester_num) { u32 i; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Reload ADDA power saving parameters !\n")); - for (i = 0; i < RegiesterNum; i++) - phy_set_bb_reg(adapt, ADDAReg[i], bMaskDWord, ADDABackup[i]); + for (i = 0; i < regiester_num; i++) + phy_set_bb_reg(adapt, adda_reg[i], bMaskDWord, backup[i]); } static void -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 16/26] staging: rtl8188eu: Rework function _PHY_PathAStandBy()
Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 11 ++- drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h |2 -- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index dd7445f..c08042a 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -696,15 +696,8 @@ static void mac_setting_calibration(struct adapter *adapt, u32 *mac_reg, u32 *ba usb_write8(adapt, mac_reg[i], (u8)(backup[i]&(~BIT5))); } -void -_PHY_PathAStandBy( - struct adapter *adapt - ) +static void path_a_standby(struct adapter *adapt) { - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("Path-A standby mode!\n")); phy_set_bb_reg(adapt, rFPGA0_IQK, bMaskDWord, 0x0); phy_set_bb_reg(adapt, 0x840, bMaskDWord, 0x0001); @@ -939,7 +932,7 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, } if (is2t) { - _PHY_PathAStandBy(adapt); + path_a_standby(adapt); /* Turn Path B ADDA on */ path_adda_on(adapt, ADDA_REG, false, is2t); diff --git a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h index 6252371..b9de658 100644 --- a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h +++ b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h @@ -46,6 +46,4 @@ void PHY_LCCalibrate_8188E(struct adapter *pAdapter); /* AP calibrate */ void PHY_DigitalPredistortion_8188E(struct adapter *pAdapter); -void _PHY_PathAStandBy(struct adapter *pAdapter); - #endif /* #ifndef __HAL_PHY_RF_8188E_H__ */ -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 17/26] staging: rtl8188eu: Rework function _PHY_PIModeSwitch()
Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 15 --- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index c08042a..7ae715c 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -704,18 +704,11 @@ static void path_a_standby(struct adapter *adapt) phy_set_bb_reg(adapt, rFPGA0_IQK, bMaskDWord, 0x8080); } -static void _PHY_PIModeSwitch( - struct adapter *adapt, - bool PIMode - ) +static void pi_mode_switch(struct adapter *adapt, bool pi_mode) { u32 mode; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("BB Switch to %s mode!\n", (PIMode ? "PI" : "SI"))); - mode = PIMode ? 0x01000100 : 0x0100; + mode = pi_mode ? 0x01000100 : 0x0100; phy_set_bb_reg(adapt, rFPGA0_XA_HSSIParameter1, bMaskDWord, mode); phy_set_bb_reg(adapt, rFPGA0_XB_HSSIParameter1, bMaskDWord, mode); } @@ -870,7 +863,7 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, if (!dm_odm->RFCalibrateInfo.bRfPiEnable) { /* Switch BB to PI mode to do IQ Calibration. */ - _PHY_PIModeSwitch(adapt, true); + pi_mode_switch(adapt, true); } /* BB setting */ @@ -965,7 +958,7 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, if (t != 0) { if (!dm_odm->RFCalibrateInfo.bRfPiEnable) { /* Switch back BB to SI mode after finish IQ Calibration. */ - _PHY_PIModeSwitch(adapt, false); + pi_mode_switch(adapt, false); } /* Reload ADDA power saving parameters */ -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 19/26] staging: rtl8188eu: Rework function phy_IQCalibrate_8188E()
Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 173 +--- 1 file changed, 95 insertions(+), 78 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index f918488..a30cc37 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -801,54 +801,55 @@ static bool simularity_compare(struct adapter *adapt, s32 resulta[][8], } } -static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, bool is2t) +static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8], +u8 t, bool is2t) { - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; + struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); + struct odm_dm_struct *dm_odm = &hal_data->odmpriv; u32 i; - u8 PathAOK, PathBOK; - u32 ADDA_REG[IQK_ADDA_REG_NUM] = { - rFPGA0_XCD_SwitchControl, rBlue_Tooth, - rRx_Wait_CCA, rTx_CCK_RFON, - rTx_CCK_BBON, rTx_OFDM_RFON, - rTx_OFDM_BBON, rTx_To_Rx, - rTx_To_Tx, rRx_CCK, - rRx_OFDM, rRx_Wait_RIFS, - rRx_TO_Rx, rStandby, - rSleep, rPMPD_ANAEN }; - u32 IQK_MAC_REG[IQK_MAC_REG_NUM] = { - REG_TXPAUSE,REG_BCN_CTRL, - REG_BCN_CTRL_1, REG_GPIO_MUXCFG}; + u8 path_a_ok, path_b_ok; + u32 adda_reg[IQK_ADDA_REG_NUM] = { + rFPGA0_XCD_SwitchControl, rBlue_Tooth, + rRx_Wait_CCA, rTx_CCK_RFON, + rTx_CCK_BBON, rTx_OFDM_RFON, + rTx_OFDM_BBON, rTx_To_Rx, + rTx_To_Tx, rRx_CCK, + rRx_OFDM, rRx_Wait_RIFS, + rRx_TO_Rx, rStandby, + rSleep, rPMPD_ANAEN}; + + u32 iqk_mac_reg[IQK_MAC_REG_NUM] = { + REG_TXPAUSE, REG_BCN_CTRL, + REG_BCN_CTRL_1, REG_GPIO_MUXCFG}; /* since 92C & 92D have the different define in IQK_BB_REG */ - u32 IQK_BB_REG_92C[IQK_BB_REG_NUM] = { - rOFDM0_TRxPathEnable, rOFDM0_TRMuxPar, - rFPGA0_XCD_RFInterfaceSW, rConfig_AntA, rConfig_AntB, - rFPGA0_XAB_RFInterfaceSW, rFPGA0_XA_RFInterfaceOE, - rFPGA0_XB_RFInterfaceOE, rFPGA0_RFMOD - }; + u32 iqk_bb_reg_92c[IQK_BB_REG_NUM] = { + rOFDM0_TRxPathEnable, rOFDM0_TRMuxPar, + rFPGA0_XCD_RFInterfaceSW, rConfig_AntA, rConfig_AntB, + rFPGA0_XAB_RFInterfaceSW, rFPGA0_XA_RFInterfaceOE, + rFPGA0_XB_RFInterfaceOE, rFPGA0_RFMOD}; - u32 retryCount = 9; + u32 retry_count = 9; if (*(dm_odm->mp_mode) == 1) - retryCount = 9; + retry_count = 9; else - retryCount = 2; - /* Note: IQ calibration must be performed after loading */ - /* PHY_REG.txt , and radio_a, radio_b.txt */ + retry_count = 2; if (t == 0) { - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQ Calibration for %s for %d times\n", (is2t ? "2T2R" : "1T1R"), t)); /* Save ADDA parameters, turn Path A ADDA on */ - save_adda_registers(adapt, ADDA_REG, dm_odm->RFCalibrateInfo.ADDA_backup, IQK_ADDA_REG_NUM); - save_mac_registers(adapt, IQK_MAC_REG, dm_odm->RFCalibrateInfo.IQK_MAC_backup); - save_adda_registers(adapt, IQK_BB_REG_92C, dm_odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM); + save_adda_registers(adapt, adda_reg, dm_odm->RFCalibrateInfo.ADDA_backup, + IQK_ADDA_REG_NUM); + save_mac_registers(adapt, iqk_mac_reg, +
[PATCH 15/26] staging: rtl8188eu: Rework function _PHY_MACSettingCalibration()
Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 19 +-- drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h |3 --- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 24278f9..dd7445f 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -684,25 +684,16 @@ static void path_adda_on(struct adapter *adapt, u32 *adda_reg, phy_set_bb_reg(adapt, adda_reg[i], bMaskDWord, path_on); } -void -_PHY_MACSettingCalibration( - struct adapter *adapt, - u32 *MACReg, - u32 *MACBackup - ) +static void mac_setting_calibration(struct adapter *adapt, u32 *mac_reg, u32 *backup) { u32 i = 0; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("MAC settings for Calibration.\n")); - usb_write8(adapt, MACReg[i], 0x3F); + usb_write8(adapt, mac_reg[i], 0x3F); for (i = 1; i < (IQK_MAC_REG_NUM - 1); i++) { - usb_write8(adapt, MACReg[i], (u8)(MACBackup[i]&(~BIT3))); + usb_write8(adapt, mac_reg[i], (u8)(backup[i]&(~BIT3))); } - usb_write8(adapt, MACReg[i], (u8)(MACBackup[i]&(~BIT5))); + usb_write8(adapt, mac_reg[i], (u8)(backup[i]&(~BIT5))); } void @@ -906,7 +897,7 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t, } /* MAC settings */ - _PHY_MACSettingCalibration(adapt, IQK_MAC_REG, dm_odm->RFCalibrateInfo.IQK_MAC_backup); + mac_setting_calibration(adapt, IQK_MAC_REG, dm_odm->RFCalibrateInfo.IQK_MAC_backup); /* Page B init */ /* AP or IQK */ diff --git a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h index efd1fea..6252371 100644 --- a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h +++ b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h @@ -46,9 +46,6 @@ void PHY_LCCalibrate_8188E(struct adapter *pAdapter); /* AP calibrate */ void PHY_DigitalPredistortion_8188E(struct adapter *pAdapter); -void _PHY_MACSettingCalibration(struct adapter *pAdapter, u32 *MACReg, - u32 *MACBackup); - void _PHY_PathAStandBy(struct adapter *pAdapter); #endif /* #ifndef __HAL_PHY_RF_8188E_H__ */ -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 18/26] staging: rtl8188eu: Rework function phy_SimularityCompare_8188E()
Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 29 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 7ae715c..f918488 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -713,22 +713,19 @@ static void pi_mode_switch(struct adapter *adapt, bool pi_mode) phy_set_bb_reg(adapt, rFPGA0_XB_HSSIParameter1, bMaskDWord, mode); } -static bool phy_SimularityCompare_8188E( - struct adapter *adapt, - s32 resulta[][8], - u8 c1, - u8 c2 - ) +static bool simularity_compare(struct adapter *adapt, s32 resulta[][8], + u8 c1, u8 c2) { u32 i, j, diff, sim_bitmap, bound = 0; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; + struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); + struct odm_dm_struct *dm_odm = &hal_data->odmpriv; u8 final_candidate[2] = {0xFF, 0xFF}; /* for path A and path B */ bool result = true; bool is2t; s32 tmp1 = 0, tmp2 = 0; - if ((dm_odm->RFType == ODM_2T2R) || (dm_odm->RFType == ODM_2T3R) || (dm_odm->RFType == ODM_2T4R)) + if ((dm_odm->RFType == ODM_2T2R) || (dm_odm->RFType == ODM_2T3R) || + (dm_odm->RFType == ODM_2T4R)) is2t = true; else is2t = false; @@ -738,8 +735,6 @@ static bool phy_SimularityCompare_8188E( else bound = 4; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("===> IQK:phy_SimularityCompare_8188E c1 %d c2 %d!!!\n", c1, c2)); - sim_bitmap = 0; for (i = 0; i < bound; i++) { @@ -761,10 +756,6 @@ static bool phy_SimularityCompare_8188E( diff = (tmp1 > tmp2) ? (tmp1 - tmp2) : (tmp2 - tmp1); if (diff > MAX_TOLERANCE) { - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("IQK:phy_SimularityCompare_8188E differnece overflow index %d compare1 0x%x compare2 0x%x!!!\n", -i, resulta[c1][i], resulta[c2][i])); - if ((i == 2 || i == 6) && !sim_bitmap) { if (resulta[c1][i] + resulta[c1][i+1] == 0) final_candidate[(i/4)] = c2; @@ -778,8 +769,6 @@ static bool phy_SimularityCompare_8188E( } } - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQK:phy_SimularityCompare_8188E sim_bitmap %d !!!\n", sim_bitmap)); - if (sim_bitmap == 0) { for (i = 0; i < (bound/4); i++) { if (final_candidate[i] != 0xFF) { @@ -1090,7 +1079,7 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery) phy_IQCalibrate_8188E(adapt, result, i, is2t); if (i == 1) { - is12simular = phy_SimularityCompare_8188E(adapt, result, 0, 1); + is12simular = simularity_compare(adapt, result, 0, 1); if (is12simular) { final_candidate = 0; ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQK: is12simular final_candidate is %x\n", final_candidate)); @@ -1099,14 +1088,14 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery) } if (i == 2) { - is13simular = phy_SimularityCompare_8188E(adapt, result, 0, 2); + is13simular = simularity_compare(adapt, result, 0, 2); if (is13simular) { final_candidate = 0; ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQK: is13simular final_candidate is %x\n", final_candidate)); break; } - is23simular = phy_SimularityCompare_8188E(adapt, result, 1, 2); + is23simular = simularity_compare(adapt, result, 1, 2); if (is23simular) { final_candidate = 1; ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQK: is23simular final_candidate is %x\n", final_candidate)); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 22/26] staging: rtl8188eu: Rework function PHY_LCCalibrate_8188E()
Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 14 +- drivers/staging/rtl8188eu/hal/usb_halinit.c|4 ++-- drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h |4 +--- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 93cda39..e2c9b54 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -234,7 +234,7 @@ void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt) /* Delta temperature is equal to or larger than 20 centigrade.*/ if ((delta_lck >= 8)) { dm_odm->RFCalibrateInfo.ThermalValue_LCK = thermal_val; - PHY_LCCalibrate_8188E(adapt); + rtl88eu_phy_lc_calibrate(adapt); } if (delta > 0 && dm_odm->RFCalibrateInfo.TxPowerTrackControl) { @@ -1179,16 +1179,15 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery) dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9); } -void PHY_LCCalibrate_8188E(struct adapter *adapt) +void rtl88eu_phy_lc_calibrate(struct adapter *adapt) { bool singletone = false, carrier_sup = false; u32 timeout = 2000, timecount = 0; - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; + struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); + struct odm_dm_struct *dm_odm = &hal_data->odmpriv; if (!(dm_odm->SupportAbility & ODM_RF_CALIBRATION)) return; - /* 20120213 Turn on when continuous Tx to pass lab testing. (required by Edlu) */ if (singletone || carrier_sup) return; @@ -1202,14 +1201,11 @@ void PHY_LCCalibrate_8188E(struct adapter *adapt) if (dm_odm->RFType == ODM_2T2R) { phy_lc_calibrate(adapt, true); } else { - /* For 88C 1T1R */ + /* For 88C 1T1R */ phy_lc_calibrate(adapt, false); } dm_odm->RFCalibrateInfo.bLCKInProgress = false; - - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, -("LCK:Finish!!!interface %d\n", dm_odm->InterfaceIndex)); } static void phy_setrfpathswitch_8188e(struct adapter *adapt, bool main, bool is2t) diff --git a/drivers/staging/rtl8188eu/hal/usb_halinit.c b/drivers/staging/rtl8188eu/hal/usb_halinit.c index 45655b1..c4c0087 100644 --- a/drivers/staging/rtl8188eu/hal/usb_halinit.c +++ b/drivers/staging/rtl8188eu/hal/usb_halinit.c @@ -701,7 +701,7 @@ static u32 rtl8188eu_hal_init(struct adapter *Adapter) } ODM_TXPowerTrackingCheck(&haldata->odmpriv); - PHY_LCCalibrate_8188E(Adapter); + rtl88eu_phy_lc_calibrate(Adapter); goto exit; } @@ -893,7 +893,7 @@ HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_PW_TRACK); ODM_TXPowerTrackingCheck(&haldata->odmpriv); HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_LCK); - PHY_LCCalibrate_8188E(Adapter); + rtl88eu_phy_lc_calibrate(Adapter); } /* HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_INIT_PABIAS); */ diff --git a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h index 9fbfe77..6f5a66d 100644 --- a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h +++ b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h @@ -36,9 +36,7 @@ void rtl88eu_dm_txpower_track_adjust(struct odm_dm_struct *dm_odm, void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt); void rtl88eu_phy_iq_calibrate(struct adapter *adapter, bool recovery); - -/* LC calibrate */ -void PHY_LCCalibrate_8188E(struct adapter *pAdapter); +void rtl88eu_phy_lc_calibrate(struct adapter *adapter); /* AP calibrate */ void PHY_DigitalPredistortion_8188E(struct adapter *pAdapter); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 23/26] staging: rtl8188eu: HalPhyRf_8188e.c: Remove unused functions
Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 35 1 file changed, 35 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index e2c9b54..cec0ee7 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -1207,38 +1207,3 @@ void rtl88eu_phy_lc_calibrate(struct adapter *adapt) dm_odm->RFCalibrateInfo.bLCKInProgress = false; } - -static void phy_setrfpathswitch_8188e(struct adapter *adapt, bool main, bool is2t) -{ - if (!adapt->hw_init_completed) { - u8 u1btmp; - u1btmp = usb_read8(adapt, REG_LEDCFG2) | BIT7; - usb_write8(adapt, REG_LEDCFG2, u1btmp); - phy_set_bb_reg(adapt, rFPGA0_XAB_RFParameter, BIT13, 0x01); - } - - if (is2t) { /* 92C */ - if (main) - phy_set_bb_reg(adapt, rFPGA0_XB_RFInterfaceOE, BIT5|BIT6, 0x1); /* 92C_Path_A */ - else - phy_set_bb_reg(adapt, rFPGA0_XB_RFInterfaceOE, BIT5|BIT6, 0x2); /* BT */ - } else {/* 88C */ - if (main) - phy_set_bb_reg(adapt, rFPGA0_XA_RFInterfaceOE, BIT8|BIT9, 0x2); /* Main */ - else - phy_set_bb_reg(adapt, rFPGA0_XA_RFInterfaceOE, BIT8|BIT9, 0x1); /* Aux */ - } -} - -void PHY_SetRFPathSwitch_8188E(struct adapter *adapt, bool main) -{ - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - - if (dm_odm->RFType == ODM_2T2R) { - phy_setrfpathswitch_8188e(adapt, main, true); - } else { - /* For 88C 1T1R */ - phy_setrfpathswitch_8188e(adapt, main, false); - } -} -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 24/26] staging: rtl8188eu: HalPhyRf_8188e.h :Remove unused function declaration
Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h |3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h index 6f5a66d..3c3b898 100644 --- a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h +++ b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h @@ -38,7 +38,4 @@ void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt); void rtl88eu_phy_iq_calibrate(struct adapter *adapter, bool recovery); void rtl88eu_phy_lc_calibrate(struct adapter *adapter); -/* AP calibrate */ -void PHY_DigitalPredistortion_8188E(struct adapter *pAdapter); - #endif /* #ifndef __HAL_PHY_RF_8188E_H__ */ -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 20/26] staging: rtl8188eu: Rework function phy_LCCalibrate_8188E()
Rename CamelCase local variables and function name. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 42 ++-- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index a30cc37..30ee00b 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -987,42 +987,47 @@ static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8], } } -static void phy_LCCalibrate_8188E(struct adapter *adapt, bool is2t) +static void phy_lc_calibrate(struct adapter *adapt, bool is2t) { u8 tmpreg; - u32 RF_Amode = 0, RF_Bmode = 0, LC_Cal; + u32 rf_a_mode = 0, rf_b_mode = 0, lc_cal; /* Check continuous TX and Packet TX */ tmpreg = usb_read8(adapt, 0xd03); - if ((tmpreg&0x70) != 0) /* Deal with contisuous TX case */ - usb_write8(adapt, 0xd03, tmpreg&0x8F); /* disable all continuous TX */ - else/* Deal with Packet TX case */ - usb_write8(adapt, REG_TXPAUSE, 0xFF); /* block all queues */ + if ((tmpreg&0x70) != 0) + usb_write8(adapt, 0xd03, tmpreg&0x8F); + else + usb_write8(adapt, REG_TXPAUSE, 0xFF); if ((tmpreg&0x70) != 0) { /* 1. Read original RF mode */ /* Path-A */ - RF_Amode = phy_query_rf_reg(adapt, RF_PATH_A, RF_AC, bMask12Bits); + rf_a_mode = phy_query_rf_reg(adapt, RF_PATH_A, RF_AC, +bMask12Bits); /* Path-B */ if (is2t) - RF_Bmode = phy_query_rf_reg(adapt, RF_PATH_B, RF_AC, bMask12Bits); + rf_b_mode = phy_query_rf_reg(adapt, RF_PATH_B, RF_AC, +bMask12Bits); /* 2. Set RF mode = standby mode */ /* Path-A */ - phy_set_rf_reg(adapt, RF_PATH_A, RF_AC, bMask12Bits, (RF_Amode&0x8)|0x1); + phy_set_rf_reg(adapt, RF_PATH_A, RF_AC, bMask12Bits, + (rf_a_mode&0x8)|0x1); /* Path-B */ if (is2t) - phy_set_rf_reg(adapt, RF_PATH_B, RF_AC, bMask12Bits, (RF_Bmode&0x8)|0x1); + phy_set_rf_reg(adapt, RF_PATH_B, RF_AC, bMask12Bits, + (rf_b_mode&0x8)|0x1); } /* 3. Read RF reg18 */ - LC_Cal = phy_query_rf_reg(adapt, RF_PATH_A, RF_CHNLBW, bMask12Bits); + lc_cal = phy_query_rf_reg(adapt, RF_PATH_A, RF_CHNLBW, bMask12Bits); - /* 4. Set LC calibration begin bit15 */ - phy_set_rf_reg(adapt, RF_PATH_A, RF_CHNLBW, bMask12Bits, LC_Cal|0x08000); + /* 4. Set LC calibration begin bit15 */ + phy_set_rf_reg(adapt, RF_PATH_A, RF_CHNLBW, bMask12Bits, + lc_cal|0x08000); msleep(100); @@ -1031,13 +1036,14 @@ static void phy_LCCalibrate_8188E(struct adapter *adapt, bool is2t) /* Deal with continuous TX case */ /* Path-A */ usb_write8(adapt, 0xd03, tmpreg); - phy_set_rf_reg(adapt, RF_PATH_A, RF_AC, bMask12Bits, RF_Amode); + phy_set_rf_reg(adapt, RF_PATH_A, RF_AC, bMask12Bits, rf_a_mode); /* Path-B */ if (is2t) - phy_set_rf_reg(adapt, RF_PATH_B, RF_AC, bMask12Bits, RF_Bmode); + phy_set_rf_reg(adapt, RF_PATH_B, RF_AC, bMask12Bits, + rf_b_mode); } else { - /* Deal with Packet TX case */ + /* Deal with Packet TX case */ usb_write8(adapt, REG_TXPAUSE, 0x00); } } @@ -1207,10 +1213,10 @@ void PHY_LCCalibrate_8188E(struct adapter *adapt) dm_odm->RFCalibrateInfo.bLCKInProgress = true; if (dm_odm->RFType == ODM_2T2R) { - phy_LCCalibrate_8188E(adapt, true); + phy_lc_calibrate(adapt, true); } else { /* For 88C 1T1R */ - phy_LCCalibrate_8188E(adapt, false); + phy_lc_calibrate(adapt, false); } dm_odm->RFCalibrateInfo.bLCKInProgress = false; -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 21/26] staging: rtl8188eu: Rework function PHY_LCCalibrate_8188E()
Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 127 +--- drivers/staging/rtl8188eu/hal/usb_halinit.c|8 +- drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h |5 +- 3 files changed, 62 insertions(+), 78 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c index 30ee00b..93cda39 100644 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c @@ -347,7 +347,7 @@ void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt) /* Delta temperature is equal to or larger than 20 centigrade.*/ if (delta_iqk >= 8) { dm_odm->RFCalibrateInfo.ThermalValue_IQK = thermal_val; - PHY_IQCalibrate_8188E(adapt, false); + rtl88eu_phy_iq_calibrate(adapt, false); } /* update thermal meter value */ if (dm_odm->RFCalibrateInfo.TxPowerTrackControl) @@ -1048,17 +1048,18 @@ static void phy_lc_calibrate(struct adapter *adapt, bool is2t) } } -void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery) +void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery) { - struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt); - struct odm_dm_struct *dm_odm = &pHalData->odmpriv; - s32 result[4][8]; /* last is final result */ - u8 i, final_candidate, Indexforchannel; + struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); + struct odm_dm_struct *dm_odm = &hal_data->odmpriv; + s32 result[4][8]; + u8 i, final, chn_index; bool pathaok, pathbok; - s32 RegE94, RegE9C, RegEA4, RegEAC, RegEB4, RegEBC, RegEC4, RegECC; + s32 reg_e94, reg_e9c, reg_ea4, reg_eac, reg_eb4, reg_ebc, reg_ec4, + reg_ecc; bool is12simular, is13simular, is23simular; bool singletone = false, carrier_sup = false; - u32 IQK_BB_REG_92C[IQK_BB_REG_NUM] = { + u32 iqk_bb_reg_92c[IQK_BB_REG_NUM] = { rOFDM0_XARxIQImbalance, rOFDM0_XBRxIQImbalance, rOFDM0_ECCAThreshold, rOFDM0_AGCRSSITable, rOFDM0_XATxIQImbalance, rOFDM0_XBTxIQImbalance, @@ -1071,16 +1072,16 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery) if (!(dm_odm->SupportAbility & ODM_RF_CALIBRATION)) return; - /* 20120213 Turn on when continuous Tx to pass lab testing. (required by Edlu) */ if (singletone || carrier_sup) return; if (recovery) { - ODM_RT_TRACE(dm_odm, ODM_COMP_INIT, ODM_DBG_LOUD, ("PHY_IQCalibrate_8188E: Return due to recovery!\n")); - reload_adda_reg(adapt, IQK_BB_REG_92C, dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9); + ODM_RT_TRACE(dm_odm, ODM_COMP_INIT, ODM_DBG_LOUD, +("phy_iq_calibrate: Return due to recovery!\n")); + reload_adda_reg(adapt, iqk_bb_reg_92c, + dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9); return; } - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQK:Start!!!\n")); for (i = 0; i < 8; i++) { result[0][i] = 0; @@ -1091,7 +1092,7 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery) else result[3][i] = 0; } - final_candidate = 0xff; + final = 0xff; pathaok = false; pathbok = false; is12simular = false; @@ -1104,8 +1105,7 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery) if (i == 1) { is12simular = simularity_compare(adapt, result, 0, 1); if (is12simular) { - final_candidate = 0; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQK: is12simular final_candidate is %x\n", final_candidate)); + final = 0; break; } } @@ -1113,83 +1113,70 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery) if (i == 2) { is13simular = simularity_compare(adapt, result, 0, 2); if (is13simular) { - final_candidate = 0; - ODM_RT_TRACE(dm_odm, ODM_COMP_CALIBRATION, ODM_DBG_LOUD, ("IQK: is13simular final_candidate is %x\n", final_candidate)); - + final = 0; break; } is23simular = simularity_compare(adapt, result, 1, 2); -
[PATCH 25/26] staging: rtl8188eu: Remove HalPhyRf_8188e.h
Move macros and function declarations from HalPhyRf_8188e.h to phy.h . Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h | 41 drivers/staging/rtl8188eu/include/odm_precomp.h|1 - drivers/staging/rtl8188eu/include/phy.h| 14 +++ 3 files changed, 14 insertions(+), 42 deletions(-) delete mode 100644 drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h diff --git a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h deleted file mode 100644 index 3c3b898..000 --- a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h +++ /dev/null @@ -1,41 +0,0 @@ -/** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - **/ - -#ifndef __HAL_PHY_RF_8188E_H__ -#define __HAL_PHY_RF_8188E_H__ - -/*--Define Parameters---*/ -#defineIQK_DELAY_TIME_88E 10 /* ms */ -#defineindex_mapping_NUM_88E 15 -#define AVG_THERMAL_NUM_88E4 -#define ODM_TARGET_CHNL_NUM_2G_5G 59 - -void rtl88eu_dm_txpower_track_adjust(struct odm_dm_struct *dm_odm, -u8 type, /* 0 = OFDM, 1 = CCK */ -u8 *dir, /* 1 = +(incr), 2 = -(decr) */ -u32 *out_write); /* Tx tracking CCK/OFDM BB - * swing index adjust - */ - -void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt); -void rtl88eu_phy_iq_calibrate(struct adapter *adapter, bool recovery); -void rtl88eu_phy_lc_calibrate(struct adapter *adapter); - -#endif /* #ifndef __HAL_PHY_RF_8188E_H__ */ diff --git a/drivers/staging/rtl8188eu/include/odm_precomp.h b/drivers/staging/rtl8188eu/include/odm_precomp.h index 436d6ff..a8537bf 100644 --- a/drivers/staging/rtl8188eu/include/odm_precomp.h +++ b/drivers/staging/rtl8188eu/include/odm_precomp.h @@ -40,7 +40,6 @@ #include "odm_RegDefine11AC.h" #include "odm_RegDefine11N.h" -#include "HalPhyRf_8188e.h"/* for IQK,LCK,Power-tracking */ #include "Hal8188ERateAdaptive.h"/* for RA,Power training */ #include "rtl8188e_hal.h" diff --git a/drivers/staging/rtl8188eu/include/phy.h b/drivers/staging/rtl8188eu/include/phy.h index defed4a..9a9ab82 100644 --- a/drivers/staging/rtl8188eu/include/phy.h +++ b/drivers/staging/rtl8188eu/include/phy.h @@ -1,3 +1,10 @@ +#include + +#define IQK_DELAY_TIME_88E 10 +#define index_mapping_NUM_88E 15 +#define AVG_THERMAL_NUM_88E4 +#define ODM_TARGET_CHNL_NUM_2G_5G 59 + bool rtl88eu_phy_mac_config(struct adapter *adapt); bool rtl88eu_phy_rf_config(struct adapter *adapt); bool rtl88eu_phy_bb_config(struct adapter *adapt); @@ -14,3 +21,10 @@ void phy_set_tx_power_level(struct adapter *adapt, u8 channel); void phy_set_bw_mode(struct adapter *adapt, enum ht_channel_width bandwidth, unsigned char offset); void phy_sw_chnl(struct adapter *adapt, u8 channel); + +void rtl88eu_dm_txpower_track_adjust(struct odm_dm_struct *dm_odm, +u8 type, u8 *dir, u32 *out_write); + +void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt); +void rtl88eu_phy_iq_calibrate(struct adapter *adapter, bool recovery); +void rtl88eu_phy_lc_calibrate(struct adapter *adapter); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 26/26] staging: rtl8188eu: Remove HalPhyRf_8188e.c
Move functions from HalPhyRf_8188e.c to phy.c . Signed-off-by: navin patidar --- drivers/staging/rtl8188eu/Makefile |1 - drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 1209 drivers/staging/rtl8188eu/hal/phy.c| 1187 +++ 3 files changed, 1187 insertions(+), 1210 deletions(-) delete mode 100644 drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c diff --git a/drivers/staging/rtl8188eu/Makefile b/drivers/staging/rtl8188eu/Makefile index 8723794..33cd34d 100644 --- a/drivers/staging/rtl8188eu/Makefile +++ b/drivers/staging/rtl8188eu/Makefile @@ -21,7 +21,6 @@ r8188eu-y := \ hal/mac_cfg.o \ hal/bb_cfg.o \ hal/rf_cfg.o \ - hal/HalPhyRf_8188e.o\ hal/pwrseqcmd.o \ hal/pwrseq.o \ hal/Hal8188ERateAdaptive.o\ diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c deleted file mode 100644 index cec0ee7..000 --- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c +++ /dev/null @@ -1,1209 +0,0 @@ -/* - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - */ - -#include "odm_precomp.h" -#include "phy.h" - -/* 2010/04/25 MH Define the max tx power tracking tx agc power. */ -#defineODM_TXPWRTRACK_MAX_IDX_88E 6 - - -static u8 get_right_chnl_for_iqk(u8 chnl) -{ - u8 channel_all[ODM_TARGET_CHNL_NUM_2G_5G] = { - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, - 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, - 124, 126, 128, 130, 132, 134, 136, 138, 140, 149, 151, 153, - 155, 157, 159, 161, 163, 165 - }; - u8 place = chnl; - - if (chnl > 14) { - for (place = 14; place < sizeof(channel_all); place++) { - if (channel_all[place] == chnl) - return place-13; - } - } - return 0; -} - -void rtl88eu_dm_txpower_track_adjust(struct odm_dm_struct *dm_odm, u8 type, -u8 *direction, u32 *out_write_val) -{ - u8 pwr_value = 0; - /* Tx power tracking BB swing table. */ - if (type == 0) { /* For OFDM adjust */ - ODM_RT_TRACE(dm_odm, ODM_COMP_TX_PWR_TRACK, ODM_DBG_LOUD, -("BbSwingIdxOfdm = %d BbSwingFlagOfdm=%d\n", -dm_odm->BbSwingIdxOfdm, dm_odm->BbSwingFlagOfdm)); - - if (dm_odm->BbSwingIdxOfdm <= dm_odm->BbSwingIdxOfdmBase) { - *direction = 1; - pwr_value = (dm_odm->BbSwingIdxOfdmBase - -dm_odm->BbSwingIdxOfdm); - } else { - *direction = 2; - pwr_value = (dm_odm->BbSwingIdxOfdm - -dm_odm->BbSwingIdxOfdmBase); - } - - } else if (type == 1) { /* For CCK adjust. */ - ODM_RT_TRACE(dm_odm, ODM_COMP_TX_PWR_TRACK, ODM_DBG_LOUD, -("dm_odm->BbSwingIdxCck = %d dm_odm->BbSwingIdxCckBase = %d\n", -dm_odm->BbSwingIdxCck, dm_odm->BbSwingIdxCckBase)); - - if (dm_odm->BbSwingIdxCck <= dm_odm->BbSwingIdxCckBase) { - *direction = 1; - pwr_value = (dm_odm->BbSwingIdxCckBase - -dm_odm->BbSwingIdxCck); - } else { - *direction = 2; - pwr_value = (dm_odm->BbSwingIdxCck - -dm_odm->BbSwingIdxCckBase); - } - - } - - if (pwr_value >= ODM_TXPWRTRACK_MAX_IDX_88E && *direction == 1) - pwr_value = ODM_TXPWRTRACK_MAX_IDX_88E; - - *out_write_val = pwr_value | (pwr_value<<8) | (pwr_value<<16) | -(pwr_value<<24); -} - -static void dm_txpwr_track_setpwr(struct odm_dm_struct *dm_odm) -{ - if (dm_odm->BbSwingFlagOfdm || dm_odm->BbSwingFlagCck) { - ODM_RT_TRACE(dm_odm, ODM_COMP_TX_PWR_TRA
Re: [PATCH V2 1/1] Drivers: hv: vmbus: Enable interrupt driven flow control
On Sat, Sep 6, 2014 at 8:29 AM, K. Y. Srinivasan wrote: > > In win8 we have a feature that allows for interrupt driven flow management > for host/guest communication. For instance, if the host were blocked because > there was no space available in the ringbuffer, the host could request that > the > guest send an interrupt when space becomes available in the ringbuffer (when > the guest drains the ringbuffer). > > While this feature was implemented in the guest a while ago, we had not > advertised that the guest supported this feature. This patch advertises > the support to the host. > > For pre-win8 hosts, this has no effect since the size of the ringbuffer > control structure has not changed and all changes have been backward > compatible - unused/reserved space has been used to implement this > feature. > > In this version of the patch I have cleaned up the commit log based on > feedback from Greg KH. > > Signed-off-by: K. Y. Srinivasan > --- > drivers/hv/ring_buffer.c |5 + > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/drivers/hv/ring_buffer.c b/drivers/hv/ring_buffer.c > index 15db66b..6361d12 100644 > --- a/drivers/hv/ring_buffer.c > +++ b/drivers/hv/ring_buffer.c > @@ -361,6 +361,11 @@ int hv_ringbuffer_init(struct hv_ring_buffer_info > *ring_info, > ring_info->ring_buffer->read_index = > ring_info->ring_buffer->write_index = 0; > > + /* > +* Set the feature bit for enabling flow control. > +*/ > + ring_info->ring_buffer->feature_bits.value = 1; > + This feature is enabled, do we need to reset pending_send_sz and reserved1[12], reserved1[4028] here? > ring_info->ring_size = buflen; > ring_info->ring_datasize = buflen - sizeof(struct hv_ring_buffer); > > -- > 1.7.4.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: netlogic: fix checkpatch.pl "LINE_SPACING" issuses
Follow the checkpatch.pl "LINE_SPACING" indication: 1. Insert a blank line after function declaration. 2. Remove multiple blank lines. Signed-off-by: SeeChen Ng --- drivers/staging/netlogic/xlr_net.c | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/staging/netlogic/xlr_net.c b/drivers/staging/netlogic/xlr_net.c index 3f9c5ad..ad19ba9 100644 --- a/drivers/staging/netlogic/xlr_net.c +++ b/drivers/staging/netlogic/xlr_net.c @@ -177,6 +177,7 @@ static int xlr_get_settings(struct net_device *ndev, struct ethtool_cmd *ecmd) return -ENODEV; return phy_ethtool_gset(phydev, ecmd); } + static int xlr_set_settings(struct net_device *ndev, struct ethtool_cmd *ecmd) { struct xlr_net_priv *priv = netdev_priv(ndev); @@ -192,7 +193,6 @@ static struct ethtool_ops xlr_ethtool_ops = { .set_settings = xlr_set_settings, }; - /* * Net operations */ @@ -220,7 +220,6 @@ static int xlr_net_open(struct net_device *ndev) struct xlr_net_priv *priv = netdev_priv(ndev); struct phy_device *phydev = priv->mii_bus->phy_map[priv->phy_addr]; - /* schedule a link state check */ phy_start(phydev); @@ -694,7 +693,6 @@ static int xlr_phy_read(u32 *base_addr, int phy_addr, int regnum) xlr_nae_wreg(base_addr, R_MII_MGMT_COMMAND, (1 << O_MII_MGMT_COMMAND__rstat)); - /* poll for the read cycle to complete */ while (!timedout) { checktime = jiffies; @@ -765,7 +763,6 @@ static void xlr_sgmii_init(struct xlr_net_priv *priv) xlr_nae_wreg(priv->gpio_addr, 0x22, 0x7e6802); xlr_nae_wreg(priv->gpio_addr, 0x21, 0x7104); - /* enable autoneg - more magic */ phy = priv->phy_addr % 4 + 27; xlr_phy_write(priv->pcs_addr, phy, 0, 0x1000); -- 2.1.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] rtl8192u: remove typedef
remove a typedef that is not even really used. Signed-off-by: Martin Kepplinger --- builds in next-20140905. drivers/staging/rtl8192u/r8192U_core.c |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c index 3707d03..a4e1d6b 100644 --- a/drivers/staging/rtl8192u/r8192U_core.c +++ b/drivers/staging/rtl8192u/r8192U_core.c @@ -137,12 +137,12 @@ static struct usb_driver rtl8192_usb_driver = { }; -typedef struct _CHANNEL_LIST { +struct CHANNEL_LIST { u8 Channel[32]; u8 Len; -} CHANNEL_LIST, *PCHANNEL_LIST; +}; -static CHANNEL_LIST ChannelPlan[] = { +static struct CHANNEL_LIST ChannelPlan[] = { {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165}, 24}, //FCC {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, 11}, //IC {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 36, 40, 44, 48, 52, 56, 60, 64}, 21}, //ETSI -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 2/7] staging: lustre: libcfs: expand the GOTO macro
From: Julia Lawall The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // Signed-off-by: Julia Lawall --- drivers/staging/lustre/lustre/libcfs/module.c |3 ++- drivers/staging/lustre/lustre/libcfs/upcall_cache.c | 20 +--- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/drivers/staging/lustre/lustre/libcfs/module.c b/drivers/staging/lustre/lustre/libcfs/module.c index 8267aa9..2c4fc74 100644 --- a/drivers/staging/lustre/lustre/libcfs/module.c +++ b/drivers/staging/lustre/lustre/libcfs/module.c @@ -301,7 +301,8 @@ static int libcfs_ioctl(struct cfs_psdev_file *pfile, unsigned long cmd, void *a /* 'cmd' and permissions get checked in our arch-specific caller */ if (libcfs_ioctl_getdata(buf, buf + 800, (void *)arg)) { CERROR("PORTALS ioctl: data error\n"); - GOTO(out, err = -EINVAL); + err = -EINVAL; + goto out; } data = (struct libcfs_ioctl_data *)buf; diff --git a/drivers/staging/lustre/lustre/libcfs/upcall_cache.c b/drivers/staging/lustre/lustre/libcfs/upcall_cache.c index 0e95588..f5e08caa 100644 --- a/drivers/staging/lustre/lustre/libcfs/upcall_cache.c +++ b/drivers/staging/lustre/lustre/libcfs/upcall_cache.c @@ -205,7 +205,8 @@ find_again: wake_up_all(&entry->ue_waitq); if (unlikely(rc == -EREMCHG)) { put_entry(cache, entry); - GOTO(out, entry = ERR_PTR(rc)); + entry = ERR_PTR(rc); + goto out; } } } @@ -232,14 +233,16 @@ find_again: CERROR("acquire for key %llu: error %d\n", entry->ue_key, rc); put_entry(cache, entry); - GOTO(out, entry = ERR_PTR(rc)); + entry = ERR_PTR(rc); + goto out; } } /* invalid means error, don't need to try again */ if (UC_CACHE_IS_INVALID(entry)) { put_entry(cache, entry); - GOTO(out, entry = ERR_PTR(-EIDRM)); + entry = ERR_PTR(-EIDRM); + goto out; } /* check expired @@ -312,19 +315,22 @@ int upcall_cache_downcall(struct upcall_cache *cache, __u32 err, __u64 key, if (err) { CDEBUG(D_OTHER, "%s: upcall for key %llu returned %d\n", cache->uc_name, entry->ue_key, err); - GOTO(out, rc = -EINVAL); + rc = -EINVAL; + goto out; } if (!UC_CACHE_IS_ACQUIRING(entry)) { CDEBUG(D_RPCTRACE, "%s: found uptodate entry %p (key %llu)\n", cache->uc_name, entry, entry->ue_key); - GOTO(out, rc = 0); + rc = 0; + goto out; } if (UC_CACHE_IS_INVALID(entry) || UC_CACHE_IS_EXPIRED(entry)) { CERROR("%s: found a stale entry %p (key %llu) in ioctl\n", cache->uc_name, entry, entry->ue_key); - GOTO(out, rc = -EINVAL); + rc = -EINVAL; + goto out; } spin_unlock(&cache->uc_lock); @@ -332,7 +338,7 @@ int upcall_cache_downcall(struct upcall_cache *cache, __u32 err, __u64 key, rc = cache->uc_ops->parse_downcall(cache, entry, args); spin_lock(&cache->uc_lock); if (rc) - GOTO(out, rc); + goto out; entry->ue_expire = cfs_time_shift(cache->uc_entry_expire); UC_CACHE_SET_VALID(entry); ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 1/7] staging: lustre: ptlrpc: expand the GOTO macro
From: Julia Lawall The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // Signed-off-by: Julia Lawall --- drivers/staging/lustre/lustre/ptlrpc/client.c| 32 drivers/staging/lustre/lustre/ptlrpc/connection.c|2 drivers/staging/lustre/lustre/ptlrpc/import.c| 46 ++- drivers/staging/lustre/lustre/ptlrpc/llog_client.c | 76 --- drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c | 54 + drivers/staging/lustre/lustre/ptlrpc/niobuf.c| 16 ++-- drivers/staging/lustre/lustre/ptlrpc/nrs.c | 46 ++- drivers/staging/lustre/lustre/ptlrpc/ptlrpc_module.c | 16 ++-- drivers/staging/lustre/lustre/ptlrpc/ptlrpcd.c | 26 -- drivers/staging/lustre/lustre/ptlrpc/recover.c |8 +- drivers/staging/lustre/lustre/ptlrpc/sec.c | 24 +++--- drivers/staging/lustre/lustre/ptlrpc/sec_config.c| 17 ++-- drivers/staging/lustre/lustre/ptlrpc/service.c | 43 ++ 13 files changed, 246 insertions(+), 160 deletions(-) diff --git a/drivers/staging/lustre/lustre/ptlrpc/client.c b/drivers/staging/lustre/lustre/ptlrpc/client.c index f1c3522..4519aee 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/client.c +++ b/drivers/staging/lustre/lustre/ptlrpc/client.c @@ -578,7 +578,7 @@ static int __ptlrpc_request_bufs_pack(struct ptlrpc_request *request, else { rc = sptlrpc_req_get_ctx(request); if (rc) - GOTO(out_free, rc); + goto out_free; } sptlrpc_req_set_flavor(request, opcode); @@ -587,7 +587,7 @@ static int __ptlrpc_request_bufs_pack(struct ptlrpc_request *request, lengths, bufs); if (rc) { LASSERT(!request->rq_pool); - GOTO(out_ctx, rc); + goto out_ctx; } lustre_msg_add_version(request->rq_reqmsg, version); @@ -1585,7 +1585,7 @@ int ptlrpc_check_set(const struct lu_env *env, struct ptlrpc_request_set *set) continue; if (req->rq_phase == RQ_PHASE_INTERPRET) - GOTO(interpret, req->rq_status); + goto interpret; /* * Note that this also will start async reply unlink. @@ -1604,7 +1604,7 @@ int ptlrpc_check_set(const struct lu_env *env, struct ptlrpc_request_set *set) if (req->rq_status == 0) req->rq_status = -EIO; ptlrpc_rqphase_move(req, RQ_PHASE_INTERPRET); - GOTO(interpret, req->rq_status); + goto interpret; } else { continue; } @@ -1617,7 +1617,7 @@ int ptlrpc_check_set(const struct lu_env *env, struct ptlrpc_request_set *set) if (req->rq_status == 0) req->rq_status = -EIO; ptlrpc_rqphase_move(req, RQ_PHASE_INTERPRET); - GOTO(interpret, req->rq_status); + goto interpret; } /* ptlrpc_set_wait->l_wait_event sets lwi_allow_intr @@ -1633,7 +1633,7 @@ int ptlrpc_check_set(const struct lu_env *env, struct ptlrpc_request_set *set) req->rq_wait_ctx)) { req->rq_status = -EINTR; ptlrpc_rqphase_move(req, RQ_PHASE_INTERPRET); - GOTO(interpret, req->rq_status); + goto interpret; } if (req->rq_phase == RQ_PHASE_RPC) { @@ -1662,7 +1662,7 @@ int ptlrpc_check_set(const struct lu_env *env, struct ptlrpc_request_set *set) ptlrpc_rqphase_move(req, RQ_PHASE_INTERPRET); spin_unlock(&imp->imp_lock); - GOTO(interpret, req->rq_status); + goto interpret; } if (ptlrpc_no_resend(req) && !req->rq_wait_ctx) { @@ -1670,7 +1670,7 @@ int ptlrpc_check_set(const struct lu_env *env, struct ptlrpc_request_set *set) ptlrpc_rqphase_move(req, RQ_PHASE_INTERPRET); spin_unlock(&imp->imp_lock); - GOTO(interpret, req->rq_status); +
[PATCH 5/7] staging: lustre: obdclass: expand double GOTO macros
From: Julia Lawall The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ identifier lbl; @@ if (...) GOTO(lbl,...); +else GOTO(lbl,...); @@ identifier lbl; expression e,e1,e2; @@ if (e) - GOTO(lbl,e1); -else GOTO(lbl,e2); + e1; +else e2; +goto lbl; @@ identifier lbl1,lbl2; expression e,e1,e2; @@ + e1=e2; if (e) - GOTO(lbl1,e1=e2); -GOTO(lbl2,e1=e2); + goto lbl1; +goto lbl2; // Signed-off-by: Julia Lawall --- drivers/staging/lustre/lustre/obdclass/dt_object.c |6 -- drivers/staging/lustre/lustre/obdclass/llog.c |5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/staging/lustre/lustre/obdclass/dt_object.c b/drivers/staging/lustre/lustre/obdclass/dt_object.c index 130b8dd..4060173 100644 --- a/drivers/staging/lustre/lustre/obdclass/dt_object.c +++ b/drivers/staging/lustre/lustre/obdclass/dt_object.c @@ -689,8 +689,10 @@ static int dt_index_page_build(const struct lu_env *env, union lu_page *lp, if (nob < size) { if (lip->lip_nr == 0) - GOTO(out, rc = -EINVAL); - GOTO(out, rc = 0); + rc = -EINVAL; + else + rc = 0; + goto out; } if ((ii->ii_flags & II_FL_NOHASH) == 0) { diff --git a/drivers/staging/lustre/lustre/obdclass/llog.c b/drivers/staging/lustre/lustre/obdclass/llog.c index ebdc42f..1cf604d 100644 --- a/drivers/staging/lustre/lustre/obdclass/llog.c +++ b/drivers/staging/lustre/lustre/obdclass/llog.c @@ -336,9 +336,10 @@ repeat: if (rec->lrh_index == 0) { /* probably another rec just got added? */ + rc = 0; if (index <= loghandle->lgh_last_idx) - GOTO(repeat, rc = 0); - GOTO(out, rc = 0); /* no more records */ + goto repeat; + goto out; /* no more records */ } if (rec->lrh_len == 0 || rec->lrh_len > LLOG_CHUNK_SIZE) { ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 4/7] staging: lustre: lvfs: expand the GOTO macro
From: Julia Lawall The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // Signed-off-by: Julia Lawall --- drivers/staging/lustre/lustre/lvfs/lvfs_linux.c | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/staging/lustre/lustre/lvfs/lvfs_linux.c b/drivers/staging/lustre/lustre/lvfs/lvfs_linux.c index eea0b2c..d9209b9 100644 --- a/drivers/staging/lustre/lustre/lvfs/lvfs_linux.c +++ b/drivers/staging/lustre/lustre/lvfs/lvfs_linux.c @@ -215,12 +215,16 @@ int lustre_rename(struct dentry *dir, struct vfsmount *mnt, if (IS_ERR(dchild_old)) return PTR_ERR(dchild_old); - if (!dchild_old->d_inode) - GOTO(put_old, err = -ENOENT); + if (!dchild_old->d_inode) { + err = -ENOENT; + goto put_old; + } dchild_new = ll_lookup_one_len(newname, dir, strlen(newname)); - if (IS_ERR(dchild_new)) - GOTO(put_old, err = PTR_ERR(dchild_new)); + if (IS_ERR(dchild_new)) { + err = PTR_ERR(dchild_new); + goto put_old; + } err = ll_vfs_rename(dir->d_inode, dchild_old, mnt, dir->d_inode, dchild_new, mnt); ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 6/7] staging: lustre: obdclass: expand the GOTO macro + break
From: Julia Lawall The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ identifier lbl,rc,f; constant c; @@ - GOTO(lbl,\(rc\|rc->f\|c\)); - break; + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); - break; + rc; + goto lbl; // Signed-off-by: Julia Lawall --- drivers/staging/lustre/lustre/obdclass/obd_config.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/staging/lustre/lustre/obdclass/obd_config.c b/drivers/staging/lustre/lustre/obdclass/obd_config.c index f41695d..8a9752f 100644 --- a/drivers/staging/lustre/lustre/obdclass/obd_config.c +++ b/drivers/staging/lustre/lustre/obdclass/obd_config.c @@ -1226,25 +1226,25 @@ int class_process_config(struct lustre_cfg *lcfg) } case LCFG_POOL_NEW: { err = obd_pool_new(obd, lustre_cfg_string(lcfg, 2)); - GOTO(out, err = 0); - break; + err = 0; + goto out; } case LCFG_POOL_ADD: { err = obd_pool_add(obd, lustre_cfg_string(lcfg, 2), lustre_cfg_string(lcfg, 3)); - GOTO(out, err = 0); - break; + err = 0; + goto out; } case LCFG_POOL_REM: { err = obd_pool_rem(obd, lustre_cfg_string(lcfg, 2), lustre_cfg_string(lcfg, 3)); - GOTO(out, err = 0); - break; + err = 0; + goto out; } case LCFG_POOL_DEL: { err = obd_pool_del(obd, lustre_cfg_string(lcfg, 2)); - GOTO(out, err = 0); - break; + err = 0; + goto out; } default: { err = obd_process_config(obd, sizeof(*lcfg), lcfg); ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 7/7] staging: lustre: obdclass: expand the GOTO macro
From: Julia Lawall The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // Signed-off-by: Julia Lawall --- drivers/staging/lustre/lustre/obdclass/acl.c| 27 ++- drivers/staging/lustre/lustre/obdclass/capa.c | 14 + drivers/staging/lustre/lustre/obdclass/cl_lock.c|2 drivers/staging/lustre/lustre/obdclass/class_obd.c | 98 - drivers/staging/lustre/lustre/obdclass/dt_object.c | 50 -- drivers/staging/lustre/lustre/obdclass/genops.c | 45 +++--- drivers/staging/lustre/lustre/obdclass/llog.c | 80 ++ drivers/staging/lustre/lustre/obdclass/llog_cat.c | 17 +- drivers/staging/lustre/lustre/obdclass/llog_ioctl.c | 45 +++--- drivers/staging/lustre/lustre/obdclass/local_storage.c | 102 - drivers/staging/lustre/lustre/obdclass/lprocfs_status.c | 21 +- drivers/staging/lustre/lustre/obdclass/obd_config.c | 120 ++-- drivers/staging/lustre/lustre/obdclass/obd_mount.c | 50 -- 13 files changed, 413 insertions(+), 258 deletions(-) diff --git a/drivers/staging/lustre/lustre/obdclass/acl.c b/drivers/staging/lustre/lustre/obdclass/acl.c index 3b394a0..2619bfe 100644 --- a/drivers/staging/lustre/lustre/obdclass/acl.c +++ b/drivers/staging/lustre/lustre/obdclass/acl.c @@ -196,8 +196,10 @@ int lustre_posix_acl_xattr_filter(posix_acl_xattr_header *header, int size, case ACL_GROUP_OBJ: case ACL_MASK: case ACL_OTHER: - if (id != ACL_UNDEFINED_ID) - GOTO(_out, rc = -EIO); + if (id != ACL_UNDEFINED_ID) { + rc = -EIO; + goto _out; + } memcpy(&new->a_entries[j++], &header->a_entries[i], sizeof(posix_acl_xattr_entry)); @@ -215,7 +217,8 @@ int lustre_posix_acl_xattr_filter(posix_acl_xattr_header *header, int size, sizeof(posix_acl_xattr_entry)); break; default: - GOTO(_out, rc = -EIO); + rc = -EIO; + goto _out; } } @@ -318,8 +321,10 @@ int lustre_acl_xattr_merge2posix(posix_acl_xattr_header *posix_header, int size, case ACL_USER_OBJ: case ACL_GROUP_OBJ: case ACL_OTHER: - if (ae.e_id != ACL_UNDEFINED_ID) - GOTO(_out, rc = -EIO); + if (ae.e_id != ACL_UNDEFINED_ID) { + rc = -EIO; + goto _out; + } if (ae.e_stat != ES_DEL) { new->a_entries[j].e_tag = @@ -336,7 +341,8 @@ int lustre_acl_xattr_merge2posix(posix_acl_xattr_header *posix_header, int size, if (ae.e_stat == ES_DEL) break; default: - GOTO(_out, rc = -EIO); + rc = -EIO; + goto _out; } } } else { @@ -437,8 +443,10 @@ lustre_acl_xattr_merge2ext(posix_acl_xattr_header *posix_header, int size, case ACL_GROUP_OBJ: case ACL_MASK: case ACL_OTHER: - if (pae.e_id != ACL_UNDEFINED_ID) - GOTO(out, rc = -EIO); + if (pae.e_id != ACL_UNDEFINED_ID) { + rc = -EIO; + goto out; + } case ACL_USER: /* ignore "nobody" entry. */ if (pae.e_id == NOBODY_UID) @@ -501,7 +509,8 @@ lustre_acl_xattr_merge2ext(posix_acl_xattr_header *posix_header, int size, } break; default: - GOTO(out, rc = -EIO); + rc = -EIO; + goto out; } } diff --git a/drivers/staging/lustre/lustre/obdclass/capa.c b/drivers/staging/lustre/lustre/obdclass/capa.c index 5af61a8..6a4b4d7 100644 --- a/drivers/staging/lustre/lustre/obdclass/capa.c +++ b/drivers/staging/lustre/lustre/obdclass/capa.c @@ -312,13 +312,14 @@ int capa_encrypt_id(__u32 *d, __u32 *s, __u8 *key, int keylen) min = ll_crypto_tfm_alg_min_keysize(tfm); if (keylen < min) { CERR
[PATCH 3/7] staging: lustre: lov: expand the GOTO macro
From: Julia Lawall The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // Signed-off-by: Julia Lawall --- drivers/staging/lustre/lustre/lov/lov_obd.c | 154 ++-- drivers/staging/lustre/lustre/lov/lov_object.c | 13 - drivers/staging/lustre/lustre/lov/lov_pack.c| 23 +- drivers/staging/lustre/lustre/lov/lov_page.c| 12 - drivers/staging/lustre/lustre/lov/lov_pool.c| 38 ++-- drivers/staging/lustre/lustre/lov/lov_request.c | 226 +++- 6 files changed, 304 insertions(+), 162 deletions(-) diff --git a/drivers/staging/lustre/lustre/lov/lov_obd.c b/drivers/staging/lustre/lustre/lov/lov_obd.c index cb778df..9206898 100644 --- a/drivers/staging/lustre/lustre/lov/lov_obd.c +++ b/drivers/staging/lustre/lustre/lov/lov_obd.c @@ -389,8 +389,10 @@ static int lov_set_osc_active(struct obd_device *obd, struct obd_uuid *uuid, break; } - if (index == lov->desc.ld_tgt_count) - GOTO(out, index = -EINVAL); + if (index == lov->desc.ld_tgt_count) { + index = -EINVAL; + goto out; + } if (ev == OBD_NOTIFY_DEACTIVATE || ev == OBD_NOTIFY_ACTIVATE) { activate = (ev == OBD_NOTIFY_ACTIVATE) ? 1 : 0; @@ -410,7 +412,7 @@ static int lov_set_osc_active(struct obd_device *obd, struct obd_uuid *uuid, if (lov->lov_tgts[index]->ltd_active == active) { CDEBUG(D_INFO, "OSC %s already %sactive!\n", uuid->uuid, active ? "" : "in"); - GOTO(out, index); + goto out; } else { CDEBUG(D_CONFIG, "Marking OSC %s %sactive\n", obd_uuid2str(uuid), active ? "" : "in"); @@ -618,11 +620,13 @@ static int lov_add_target(struct obd_device *obd, struct obd_uuid *uuidp, rc = lov_connect_obd(obd, index, active, &lov->lov_ocd); if (rc) - GOTO(out, rc); + goto out; /* connect to administrative disabled ost */ - if (!tgt->ltd_exp) - GOTO(out, rc = 0); + if (!tgt->ltd_exp) { + rc = 0; + goto out; + } if (lov->lov_cache != NULL) { rc = obd_set_info_async(NULL, tgt->ltd_exp, @@ -630,7 +634,7 @@ static int lov_add_target(struct obd_device *obd, struct obd_uuid *uuidp, sizeof(struct cl_client_cache), lov->lov_cache, NULL); if (rc < 0) - GOTO(out, rc); + goto out; } rc = lov_notify(obd, tgt->ltd_exp->exp_obd, @@ -667,14 +671,16 @@ int lov_del_target(struct obd_device *obd, __u32 index, if (!lov->lov_tgts[index]) { CERROR("LOV target at index %d is not setup.\n", index); - GOTO(out, rc = -EINVAL); + rc = -EINVAL; + goto out; } if (uuidp && !obd_uuid_equals(uuidp, &lov->lov_tgts[index]->ltd_uuid)) { CERROR("LOV target UUID %s at index %d doesn't match %s.\n", lov_uuid2str(lov, index), index, obd_uuid2str(uuidp)); - GOTO(out, rc = -EINVAL); + rc = -EINVAL; + goto out; } CDEBUG(D_CONFIG, "uuid: %s idx: %d gen: %d exp: %p active: %d\n", @@ -816,7 +822,7 @@ int lov_setup(struct obd_device *obd, struct lustre_cfg *lcfg) lov->lov_pool_count = 0; rc = lov_ost_pool_init(&lov->lov_packed, 0); if (rc) - GOTO(out, rc); + goto out; lprocfs_lov_init_vars(&lvars); lprocfs_obd_setup(obd, lvars.obd_vars); @@ -923,15 +929,21 @@ int lov_process_config_base(struct obd_device *obd, struct lustre_cfg *lcfg, __u32 index; int gen; /* lov_modify_tgts add 0:lov_mdsA 1:ost1_UUID 2:0 3:1 */ - if (LUSTRE_CFG_BUFLEN(lcfg, 1) > sizeof(obd_uuid.uuid)) - GOTO(out, rc = -EINVAL); + if (LUSTRE_CFG_BUFLEN(lcfg, 1) > sizeof(obd_uuid.uuid)) { + rc = -EINVAL; + goto out; + } obd_str2uuid(&obd_uuid, lustre_cfg_buf(lcfg, 1)); - if (sscanf(lustre_cfg_buf(lcfg, 2), "%d", indexp) != 1) - GOTO(out, rc = -EINVAL); - if (sscanf(lustre_cfg_buf(lcfg, 3), "%d", genp) != 1) - GOTO(out, rc = -EINVAL); + if (sscanf(lustre_cfg_buf(lcfg, 2), "%d", indexp) != 1) { + rc = -EINVAL; + goto out; + }
[PATCH 1/4] staging: ozwpan: fix missing blank line after declaration
Signed-off-by: Adrian Nicoara --- Patch submitted as part of the Eudyptula challenge. drivers/staging/ozwpan/ozcdev.c| 5 + drivers/staging/ozwpan/ozeltbuf.c | 1 + drivers/staging/ozwpan/ozpd.c | 6 ++ drivers/staging/ozwpan/ozproto.c | 4 drivers/staging/ozwpan/ozusbsvc.c | 2 ++ drivers/staging/ozwpan/ozusbsvc1.c | 4 6 files changed, 22 insertions(+) diff --git a/drivers/staging/ozwpan/ozcdev.c b/drivers/staging/ozwpan/ozcdev.c index c73d396..da0e1fd 100644 --- a/drivers/staging/ozwpan/ozcdev.c +++ b/drivers/staging/ozwpan/ozcdev.c @@ -263,6 +263,7 @@ static long oz_cdev_ioctl(struct file *filp, unsigned int cmd, switch (cmd) { case OZ_IOCTL_GET_PD_LIST: { struct oz_pd_list list; + oz_dbg(ON, "OZ_IOCTL_GET_PD_LIST\n"); memset(&list, 0, sizeof(list)); list.count = oz_get_pd_list(list.addr, OZ_MAX_PDS); @@ -273,6 +274,7 @@ static long oz_cdev_ioctl(struct file *filp, unsigned int cmd, break; case OZ_IOCTL_SET_ACTIVE_PD: { u8 addr[ETH_ALEN]; + oz_dbg(ON, "OZ_IOCTL_SET_ACTIVE_PD\n"); if (copy_from_user(addr, (void __user *)arg, ETH_ALEN)) return -EFAULT; @@ -281,6 +283,7 @@ static long oz_cdev_ioctl(struct file *filp, unsigned int cmd, break; case OZ_IOCTL_GET_ACTIVE_PD: { u8 addr[ETH_ALEN]; + oz_dbg(ON, "OZ_IOCTL_GET_ACTIVE_PD\n"); spin_lock_bh(&g_cdev.lock); ether_addr_copy(addr, g_cdev.active_addr); @@ -292,6 +295,7 @@ static long oz_cdev_ioctl(struct file *filp, unsigned int cmd, case OZ_IOCTL_ADD_BINDING: case OZ_IOCTL_REMOVE_BINDING: { struct oz_binding_info b; + if (copy_from_user(&b, (void __user *)arg, sizeof(struct oz_binding_info))) { return -EFAULT; @@ -320,6 +324,7 @@ static unsigned int oz_cdev_poll(struct file *filp, poll_table *wait) spin_lock_bh(&dev->lock); if (dev->active_pd) { struct oz_serial_ctx *ctx = oz_cdev_claim_ctx(dev->active_pd); + if (ctx) { if (ctx->rd_in != ctx->rd_out) ret |= POLLIN | POLLRDNORM; diff --git a/drivers/staging/ozwpan/ozeltbuf.c b/drivers/staging/ozwpan/ozeltbuf.c index 400cc75..01b25da 100644 --- a/drivers/staging/ozwpan/ozeltbuf.c +++ b/drivers/staging/ozwpan/ozeltbuf.c @@ -174,6 +174,7 @@ int oz_queue_elt_info(struct oz_elt_buf *buf, u8 isoc, u8 id, == OZ_USB_ENDPOINT_DATA) && (body->format == OZ_DATA_F_ISOC_FIXED)) { u8 unit_count = body->frame_number; + body->frame_number = st->frame_number; st->frame_number += unit_count; } diff --git a/drivers/staging/ozwpan/ozpd.c b/drivers/staging/ozwpan/ozpd.c index 7726410..26c1049 100644 --- a/drivers/staging/ozwpan/ozpd.c +++ b/drivers/staging/ozwpan/ozpd.c @@ -106,6 +106,7 @@ struct oz_pd *oz_pd_alloc(const u8 *mac_addr) if (pd) { int i; + atomic_set(&pd->ref_count, 2); for (i = 0; i < OZ_NB_APPS; i++) spin_lock_init(&pd->app_lock[i]); @@ -153,6 +154,7 @@ static void oz_pd_free(struct work_struct *work) list_for_each_safe(e, n, &pd->tx_queue) { struct oz_tx_frame *f = list_entry(e, struct oz_tx_frame, link); + if (f->skb != NULL) kfree_skb(f->skb); oz_retire_frame(pd, f); @@ -249,6 +251,7 @@ void oz_pd_heartbeat(struct oz_pd *pd, u16 apps) hrtimer_cancel(&pd->heartbeat); if (pd->mode & OZ_F_ISOC_ANYTIME) { int count = 8; + while (count-- && (oz_send_isoc_frame(pd) >= 0)) ; } @@ -752,6 +755,7 @@ int oz_send_isoc_unit(struct oz_pd *pd, u8 ep_num, const u8 *data, int len) } else { struct oz_hdr oz; struct oz_isoc_large iso; + spin_lock_bh(&pd->stream_lock); iso.frame_number = st->frame_num; st->frame_num += nb_units; @@ -774,8 +778,10 @@ int oz_send_isoc_unit(struct oz_pd *pd, u8 ep_num, const u8 *data, int len) if (!(pd->mode & OZ_F_ISOC_ANYTIME)) { struct oz_tx_frame *isoc_unit = NULL; int nb = pd->nb_queued_isoc_frames; + if (nb >= pd->isoc_latency) { struct oz_tx_frame *f; + oz_dbg(TX_FRAMES, "Dropping ISOC Unit nb= %d\n", nb);
[PATCH 2/4] staging: ozwpan: fix redundant else after break or return
Signed-off-by: Adrian Nicoara --- Patch submitted as part of the Eudyptula challenge. drivers/staging/ozwpan/ozhcd.c | 8 +++- drivers/staging/ozwpan/ozpd.c | 10 -- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/drivers/staging/ozwpan/ozhcd.c b/drivers/staging/ozwpan/ozhcd.c index b30c4d87..ba2168f 100644 --- a/drivers/staging/ozwpan/ozhcd.c +++ b/drivers/staging/ozwpan/ozhcd.c @@ -1010,10 +1010,9 @@ void oz_hcd_data_ind(void *hport, u8 endpoint, const u8 *data, int data_len) urb->actual_length = copy_len; oz_complete_urb(port->ozhcd->hcd, urb, 0); return; - } else { - oz_dbg(ON, "buffering frame as URB is not available\n"); - oz_hcd_buffer_data(ep, data, data_len); } + oz_dbg(ON, "buffering frame as URB is not available\n"); + oz_hcd_buffer_data(ep, data, data_len); break; case USB_ENDPOINT_XFER_ISOC: oz_hcd_buffer_data(ep, data, data_len); @@ -1903,8 +1902,7 @@ static int oz_hcd_hub_status_data(struct usb_hcd *hcd, char *buf) spin_unlock_bh(&ozhcd->hcd_lock); if (buf[0] != 0 || buf[1] != 0) return 2; - else - return 0; + return 0; } /* diff --git a/drivers/staging/ozwpan/ozpd.c b/drivers/staging/ozwpan/ozpd.c index 26c1049..852c288 100644 --- a/drivers/staging/ozwpan/ozpd.c +++ b/drivers/staging/ozwpan/ozpd.c @@ -496,11 +496,10 @@ static int oz_send_next_queued_frame(struct oz_pd *pd, int more_data) oz_dbg(TX_FRAMES, "Sending ISOC Frame, nb_isoc= %d\n", pd->nb_queued_isoc_frames); return 0; - } else { - kfree_skb(skb); - oz_dbg(TX_FRAMES, "Dropping ISOC Frame>\n"); - return -1; } + kfree_skb(skb); + oz_dbg(TX_FRAMES, "Dropping ISOC Frame>\n"); + return -1; } pd->last_sent_frame = e; @@ -813,8 +812,7 @@ int oz_send_isoc_unit(struct oz_pd *pd, u8 ep_num, const u8 *data, int len) atomic_inc(&g_submitted_isoc); if (dev_queue_xmit(skb) < 0) return -1; - else - return 0; + return 0; } out: kfree_skb(skb); -- 2.0.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 3/4] staging: ozwpan: fix redundant return in void function
Signed-off-by: Adrian Nicoara --- Patch submitted as part of the Eudyptula challenge. drivers/staging/ozwpan/ozproto.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/ozwpan/ozproto.c b/drivers/staging/ozwpan/ozproto.c index cae0e6f..3d3a3a8 100644 --- a/drivers/staging/ozwpan/ozproto.c +++ b/drivers/staging/ozwpan/ozproto.c @@ -112,7 +112,6 @@ static void oz_send_conn_rsp(struct oz_pd *pd, u8 status) } oz_dbg(ON, "TX: OZ_ELT_CONNECT_RSP %d", status); dev_queue_xmit(skb); - return; } /* -- 2.0.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 4/4] staging: ozwpan: use kmalloc_array over kmalloc with multiply
Signed-off-by: Adrian Nicoara --- Patch submitted as part of the Eudyptula challenge. drivers/staging/ozwpan/ozhcd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/ozwpan/ozhcd.c b/drivers/staging/ozwpan/ozhcd.c index ba2168f..4cfe56e 100644 --- a/drivers/staging/ozwpan/ozhcd.c +++ b/drivers/staging/ozwpan/ozhcd.c @@ -1315,7 +1315,7 @@ static int oz_build_endpoints_for_config(struct usb_hcd *hcd, if (num_iface) { struct oz_interface *iface; - iface = kmalloc(num_iface*sizeof(struct oz_interface), + iface = kmalloc_array(num_iface, sizeof(struct oz_interface), mem_flags | __GFP_ZERO); if (!iface) return -ENOMEM; -- 2.0.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
RE: [PATCH V2 1/1] Drivers: hv: vmbus: Enable interrupt driven flow control
> -Original Message- > From: Amos Kong [mailto:kongjian...@gmail.com] > Sent: Sunday, September 7, 2014 4:44 AM > To: KY Srinivasan > Cc: gre...@linuxfoundation.org; open list; de...@linuxdriverproject.org; > o...@aepfle.de; a...@canonical.com; Jason Wang > Subject: Re: [PATCH V2 1/1] Drivers: hv: vmbus: Enable interrupt driven flow > control > > On Sat, Sep 6, 2014 at 8:29 AM, K. Y. Srinivasan wrote: > > > > In win8 we have a feature that allows for interrupt driven flow > > management for host/guest communication. For instance, if the host > > were blocked because there was no space available in the ringbuffer, > > the host could request that the guest send an interrupt when space > > becomes available in the ringbuffer (when the guest drains the ringbuffer). > > > > While this feature was implemented in the guest a while ago, we had > > not advertised that the guest supported this feature. This patch > > advertises the support to the host. > > > > For pre-win8 hosts, this has no effect since the size of the > > ringbuffer control structure has not changed and all changes have been > > backward compatible - unused/reserved space has been used to > implement > > this feature. > > > > In this version of the patch I have cleaned up the commit log based on > > feedback from Greg KH. > > > > Signed-off-by: K. Y. Srinivasan > > --- > > drivers/hv/ring_buffer.c |5 + > > 1 files changed, 5 insertions(+), 0 deletions(-) > > > > diff --git a/drivers/hv/ring_buffer.c b/drivers/hv/ring_buffer.c index > > 15db66b..6361d12 100644 > > --- a/drivers/hv/ring_buffer.c > > +++ b/drivers/hv/ring_buffer.c > > @@ -361,6 +361,11 @@ int hv_ringbuffer_init(struct hv_ring_buffer_info > *ring_info, > > ring_info->ring_buffer->read_index = > > ring_info->ring_buffer->write_index = 0; > > > > + /* > > +* Set the feature bit for enabling flow control. > > +*/ > > + ring_info->ring_buffer->feature_bits.value = 1; > > + > > This feature is enabled, do we need to reset pending_send_sz and > reserved1[12], reserved1[4028] here? > > > ring_info->ring_size = buflen; > > ring_info->ring_datasize = buflen - sizeof(struct > > hv_ring_buffer); > > All the pages for the ring buffer have already been zeroed out including the shared control structure. Look at vmbus_open() (drivers/hv/channel.c) where we allocate the ring buffer - we pass in the flag to Zero out the pages. Regards, K. Y > > -- > > 1.7.4.1 > > > > -- > > To unsubscribe from this list: send the line "unsubscribe > > linux-kernel" in the body of a message to majord...@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > Please read the FAQ at http://www.tux.org/lkml/ ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 4/4] staging: ozwpan: use kmalloc_array over kmalloc with multiply
Your From: line does not contain a real name and does not match your Signed-off-by line, please check your e-mail client settings. On 2014-09-07 at 20:28:25 +0200, anicoara wrote: No changelog text? Please add a short notice, describing why this change is done. > Signed-off-by: Adrian Nicoara > --- > Patch submitted as part of the Eudyptula challenge. > > drivers/staging/ozwpan/ozhcd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/ozwpan/ozhcd.c b/drivers/staging/ozwpan/ozhcd.c > index ba2168f..4cfe56e 100644 > --- a/drivers/staging/ozwpan/ozhcd.c > +++ b/drivers/staging/ozwpan/ozhcd.c > @@ -1315,7 +1315,7 @@ static int oz_build_endpoints_for_config(struct usb_hcd > *hcd, > if (num_iface) { > struct oz_interface *iface; > > - iface = kmalloc(num_iface*sizeof(struct oz_interface), > + iface = kmalloc_array(num_iface, sizeof(struct oz_interface), > mem_flags | __GFP_ZERO); The line above should be adjusted to match the opening parenthesis. > if (!iface) > return -ENOMEM; > -- > 2.0.1 > > ___ > devel mailing list > de...@linuxdriverproject.org > http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 3/4] staging: ozwpan: fix redundant return in void function
Your From: line does not contain a real name and does not match your Signed-off-by line, please check your e-mail client settings. On 2014-09-07 at 20:25:35 +0200, anicoara wrote: > Signed-off-by: Adrian Nicoara No changelog text? Please add a short notice, describing why this change is done. > --- > Patch submitted as part of the Eudyptula challenge. > > drivers/staging/ozwpan/ozproto.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/staging/ozwpan/ozproto.c > b/drivers/staging/ozwpan/ozproto.c > index cae0e6f..3d3a3a8 100644 > --- a/drivers/staging/ozwpan/ozproto.c > +++ b/drivers/staging/ozwpan/ozproto.c > @@ -112,7 +112,6 @@ static void oz_send_conn_rsp(struct oz_pd *pd, u8 status) > } > oz_dbg(ON, "TX: OZ_ELT_CONNECT_RSP %d", status); > dev_queue_xmit(skb); > - return; > } > > /* > -- > 2.0.1 > > ___ > devel mailing list > de...@linuxdriverproject.org > http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/4] staging: ozwpan: fix redundant else after break or return
Your From: line does not contain a real name and does not match your Signed-off-by line, please check your e-mail client settings. On 2014-09-07 at 20:24:03 +0200, anicoara wrote: > Signed-off-by: Adrian Nicoara No changelog text? Please add a short notice, describing why this change is done. > --- > Patch submitted as part of the Eudyptula challenge. > > drivers/staging/ozwpan/ozhcd.c | 8 +++- > drivers/staging/ozwpan/ozpd.c | 10 -- > 2 files changed, 7 insertions(+), 11 deletions(-) > > diff --git a/drivers/staging/ozwpan/ozhcd.c b/drivers/staging/ozwpan/ozhcd.c > index b30c4d87..ba2168f 100644 > --- a/drivers/staging/ozwpan/ozhcd.c > +++ b/drivers/staging/ozwpan/ozhcd.c > @@ -1010,10 +1010,9 @@ void oz_hcd_data_ind(void *hport, u8 endpoint, const > u8 *data, int data_len) > urb->actual_length = copy_len; > oz_complete_urb(port->ozhcd->hcd, urb, 0); > return; > - } else { > - oz_dbg(ON, "buffering frame as URB is not available\n"); > - oz_hcd_buffer_data(ep, data, data_len); > } > + oz_dbg(ON, "buffering frame as URB is not available\n"); > + oz_hcd_buffer_data(ep, data, data_len); > break; > case USB_ENDPOINT_XFER_ISOC: > oz_hcd_buffer_data(ep, data, data_len); > @@ -1903,8 +1902,7 @@ static int oz_hcd_hub_status_data(struct usb_hcd *hcd, > char *buf) > spin_unlock_bh(&ozhcd->hcd_lock); > if (buf[0] != 0 || buf[1] != 0) > return 2; > - else > - return 0; > + return 0; > } > > /* > diff --git a/drivers/staging/ozwpan/ozpd.c b/drivers/staging/ozwpan/ozpd.c > index 26c1049..852c288 100644 > --- a/drivers/staging/ozwpan/ozpd.c > +++ b/drivers/staging/ozwpan/ozpd.c > @@ -496,11 +496,10 @@ static int oz_send_next_queued_frame(struct oz_pd *pd, > int more_data) > oz_dbg(TX_FRAMES, "Sending ISOC Frame, nb_isoc= %d\n", > pd->nb_queued_isoc_frames); > return 0; > - } else { > - kfree_skb(skb); > - oz_dbg(TX_FRAMES, "Dropping ISOC Frame>\n"); > - return -1; > } > + kfree_skb(skb); > + oz_dbg(TX_FRAMES, "Dropping ISOC Frame>\n"); > + return -1; > } > > pd->last_sent_frame = e; > @@ -813,8 +812,7 @@ int oz_send_isoc_unit(struct oz_pd *pd, u8 ep_num, const > u8 *data, int len) > atomic_inc(&g_submitted_isoc); > if (dev_queue_xmit(skb) < 0) > return -1; > - else > - return 0; > + return 0; > } > > out: kfree_skb(skb); > -- > 2.0.1 > > ___ > devel mailing list > de...@linuxdriverproject.org > http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/4] staging: ozwpan: fix missing blank line after declaration
Your From: line does not contain a real name and does not match your Signed-off-by line, please check your e-mail client settings. On 2014-09-07 at 20:21:41 +0200, anicoara wrote: Changelog text is missing. Please add a short notice, describing why this change is done. > Signed-off-by: Adrian Nicoara > --- > Patch submitted as part of the Eudyptula challenge. > > drivers/staging/ozwpan/ozcdev.c| 5 + > drivers/staging/ozwpan/ozeltbuf.c | 1 + > drivers/staging/ozwpan/ozpd.c | 6 ++ > drivers/staging/ozwpan/ozproto.c | 4 > drivers/staging/ozwpan/ozusbsvc.c | 2 ++ > drivers/staging/ozwpan/ozusbsvc1.c | 4 > 6 files changed, 22 insertions(+) > > diff --git a/drivers/staging/ozwpan/ozcdev.c b/drivers/staging/ozwpan/ozcdev.c > index c73d396..da0e1fd 100644 > --- a/drivers/staging/ozwpan/ozcdev.c > +++ b/drivers/staging/ozwpan/ozcdev.c > @@ -263,6 +263,7 @@ static long oz_cdev_ioctl(struct file *filp, unsigned int > cmd, > switch (cmd) { > case OZ_IOCTL_GET_PD_LIST: { > struct oz_pd_list list; > + > oz_dbg(ON, "OZ_IOCTL_GET_PD_LIST\n"); > memset(&list, 0, sizeof(list)); > list.count = oz_get_pd_list(list.addr, OZ_MAX_PDS); > @@ -273,6 +274,7 @@ static long oz_cdev_ioctl(struct file *filp, unsigned int > cmd, > break; > case OZ_IOCTL_SET_ACTIVE_PD: { > u8 addr[ETH_ALEN]; > + > oz_dbg(ON, "OZ_IOCTL_SET_ACTIVE_PD\n"); > if (copy_from_user(addr, (void __user *)arg, ETH_ALEN)) > return -EFAULT; > @@ -281,6 +283,7 @@ static long oz_cdev_ioctl(struct file *filp, unsigned int > cmd, > break; > case OZ_IOCTL_GET_ACTIVE_PD: { > u8 addr[ETH_ALEN]; > + > oz_dbg(ON, "OZ_IOCTL_GET_ACTIVE_PD\n"); > spin_lock_bh(&g_cdev.lock); > ether_addr_copy(addr, g_cdev.active_addr); > @@ -292,6 +295,7 @@ static long oz_cdev_ioctl(struct file *filp, unsigned int > cmd, > case OZ_IOCTL_ADD_BINDING: > case OZ_IOCTL_REMOVE_BINDING: { > struct oz_binding_info b; > + > if (copy_from_user(&b, (void __user *)arg, > sizeof(struct oz_binding_info))) { > return -EFAULT; > @@ -320,6 +324,7 @@ static unsigned int oz_cdev_poll(struct file *filp, > poll_table *wait) > spin_lock_bh(&dev->lock); > if (dev->active_pd) { > struct oz_serial_ctx *ctx = oz_cdev_claim_ctx(dev->active_pd); > + > if (ctx) { > if (ctx->rd_in != ctx->rd_out) > ret |= POLLIN | POLLRDNORM; > diff --git a/drivers/staging/ozwpan/ozeltbuf.c > b/drivers/staging/ozwpan/ozeltbuf.c > index 400cc75..01b25da 100644 > --- a/drivers/staging/ozwpan/ozeltbuf.c > +++ b/drivers/staging/ozwpan/ozeltbuf.c > @@ -174,6 +174,7 @@ int oz_queue_elt_info(struct oz_elt_buf *buf, u8 isoc, u8 > id, > == OZ_USB_ENDPOINT_DATA) && > (body->format == OZ_DATA_F_ISOC_FIXED)) { > u8 unit_count = body->frame_number; > + > body->frame_number = st->frame_number; > st->frame_number += unit_count; > } > diff --git a/drivers/staging/ozwpan/ozpd.c b/drivers/staging/ozwpan/ozpd.c > index 7726410..26c1049 100644 > --- a/drivers/staging/ozwpan/ozpd.c > +++ b/drivers/staging/ozwpan/ozpd.c > @@ -106,6 +106,7 @@ struct oz_pd *oz_pd_alloc(const u8 *mac_addr) > > if (pd) { > int i; > + > atomic_set(&pd->ref_count, 2); > for (i = 0; i < OZ_NB_APPS; i++) > spin_lock_init(&pd->app_lock[i]); > @@ -153,6 +154,7 @@ static void oz_pd_free(struct work_struct *work) > > list_for_each_safe(e, n, &pd->tx_queue) { > struct oz_tx_frame *f = list_entry(e, struct oz_tx_frame, link); > + > if (f->skb != NULL) > kfree_skb(f->skb); > oz_retire_frame(pd, f); > @@ -249,6 +251,7 @@ void oz_pd_heartbeat(struct oz_pd *pd, u16 apps) > hrtimer_cancel(&pd->heartbeat); > if (pd->mode & OZ_F_ISOC_ANYTIME) { > int count = 8; > + > while (count-- && (oz_send_isoc_frame(pd) >= 0)) > ; > } > @@ -752,6 +755,7 @@ int oz_send_isoc_unit(struct oz_pd *pd, u8 ep_num, const > u8 *data, int len) > } else { > struct oz_hdr oz; > struct oz_isoc_large iso; > + > spin_lock_bh(&pd->stream_lock); > iso.frame_number = st->frame_num; > st->frame_num += nb_units; > @@ -774,8 +778,10 @@ int oz_send_isoc_unit(struct oz_pd *pd, u8 ep_num, const > u8 *data, int len) > if (!(pd->mode & OZ_F