Reset MSA/MSB capabilities for APQ targets.

- Capabilities MSA/MSB should be reset even if defined in
gps.conf for APQ/QSC targets. Since WWAN modem will not be
available, we need to trigger Standalone fixes only. If MSB
capability is set,then default position mode is MSB.
- Handle the new string "qcs" for baseband for Gen9 APQ targets.
- Make sure that ContextBase::readConfig avoid repeat initialize
for config reading.

Change-Id: Ic0a1e57dd76a88bf4d037cd374ceded84cc0f904
CRs-Fixed: 2193207
This commit is contained in:
Harikrishnan Hariharan 2018-02-22 11:31:38 +05:30 committed by Gerrit - the friendly Code Review server
parent 980d403c81
commit cd1e0726c8
2 changed files with 72 additions and 56 deletions

View file

@ -92,6 +92,9 @@ const loc_param_s_type ContextBase::mSap_conf_table[] =
void ContextBase::readConfig() void ContextBase::readConfig()
{ {
static bool confReadDone = false;
if (!confReadDone) {
confReadDone = true;
/*Defaults for gps.conf*/ /*Defaults for gps.conf*/
mGps_conf.INTERMEDIATE_POS = 0; mGps_conf.INTERMEDIATE_POS = 0;
mGps_conf.ACCURACY_THRES = 0; mGps_conf.ACCURACY_THRES = 0;
@ -151,6 +154,17 @@ void ContextBase::readConfig()
UTIL_READ_CONF(LOC_PATH_GPS_CONF, mGps_conf_table); UTIL_READ_CONF(LOC_PATH_GPS_CONF, mGps_conf_table);
UTIL_READ_CONF(LOC_PATH_SAP_CONF, mSap_conf_table); UTIL_READ_CONF(LOC_PATH_SAP_CONF, mSap_conf_table);
switch (getTargetGnssType(loc_get_target())) {
case GNSS_GSS:
case GNSS_AUTO:
// For APQ targets, MSA/MSB capabilities should be reset
mGps_conf.CAPABILITIES &= ~(LOC_GPS_CAPABILITY_MSA | LOC_GPS_CAPABILITY_MSB);
break;
default:
break;
}
}
} }
uint32_t ContextBase::getCarrierCapabilities() { uint32_t ContextBase::getCarrierCapabilities() {

View file

@ -54,6 +54,7 @@
#define STR_MTP "MTP" #define STR_MTP "MTP"
#define STR_APQ "apq" #define STR_APQ "apq"
#define STR_SDC "sdc" // alternative string for APQ targets #define STR_SDC "sdc" // alternative string for APQ targets
#define STR_QCS "qcs" // string for Gen9 APQ targets
#define STR_MSM "msm" #define STR_MSM "msm"
#define STR_SDM "sdm" // alternative string for MSM targets #define STR_SDM "sdm" // alternative string for MSM targets
#define STR_APQ_NO_WGR "baseband_apq_nowgr" #define STR_APQ_NO_WGR "baseband_apq_nowgr"
@ -175,7 +176,8 @@ unsigned int loc_get_target(void)
} }
if( !memcmp(baseband, STR_APQ, LENGTH(STR_APQ)) || if( !memcmp(baseband, STR_APQ, LENGTH(STR_APQ)) ||
!memcmp(baseband, STR_SDC, LENGTH(STR_SDC)) ) { !memcmp(baseband, STR_SDC, LENGTH(STR_SDC)) ||
!memcmp(baseband, STR_QCS, LENGTH(STR_QCS)) ) {
if( !memcmp(rd_id, MPQ8064_ID_1, LENGTH(MPQ8064_ID_1)) if( !memcmp(rd_id, MPQ8064_ID_1, LENGTH(MPQ8064_ID_1))
&& IS_STR_END(rd_id[LENGTH(MPQ8064_ID_1)]) ) && IS_STR_END(rd_id[LENGTH(MPQ8064_ID_1)]) )