Commit graph

71 commits

Author SHA1 Message Date
Dante Russo
9336256027 Add support for new sockaddr_storage struct
In order to handle ipv6 requests, a new struct
is being used instead of an array to store ipv6
info

CRs-Fixed: 817295
Change-Id: I030d4206c01724f08b311697f0bbefb1f9fd10e6
2015-10-07 10:25:06 -07:00
Vamana Murthi
e9e399737b Fix for Cppcheck warnings
Fixed cppcheck warnings reported by customer

Change-Id: Ia6cf5e940d204111d8354f9eec71ac816a142719
CRs-fixed: 901373
2015-09-24 13:34:17 +05:30
Kevin Tang
623f5a6fc5 adding dev id into xtra user agent
setting XTRA_USER_AGENT at GPS HAL init time, incorporating
Android sw version, manufacturer, model, board.

CRs-Fixed: 788356

Change-Id: I8d9dcc80a0769796a25a0477f5f1598a292fe8b0
2015-09-02 10:09:14 -07:00
Kevin Tang
a38a8b8477 memory management fixes
byte long each, but the loc_set_config_entry() util call
writes an int at a time, causing buffer overflow. #2, in
loc_xtra-init(), a data structure wrap happened without
iniializing the unused data fields.

Change-Id: I96b40a330316927d276840a997082fe759263699
CRs-Fixed: 866937
2015-08-18 17:01:12 -07:00
Dante Russo
2572d24770 Move modem power vote out of hal.
The modem power vote feature needs to move
out of hal as it has non-aosp dependency.

CRs-fixed: 831075

Change-Id: Ic83276e9d3c0d125a01f50719102fcd7c0455385
2015-07-16 10:07:49 -07:00
Qiang Chen
a26bc76b9c Fix gps.conf capabilities overwrited by carrier
If overwrite happened, loc config update will
restore gps.conf capabilities based on target type.

Change-Id: I958ce8da0e8062549f12808aca4aebcf4a7fb95d
CRs-Fixed: 850144
2015-06-09 05:54:24 -07:00
Dante Russo
407848e5cf GNSS measurement
Implementation of GNSS Measurements support.
In GPS HAL, Only GPS Measurements report
will be collected from modem.

CRs-fixed: 771496

Change-Id: Ief4368099df4ff573ad1a764f4156d63685e936d
2015-01-16 13:22:20 -08:00
Kevin Tang
f014665a52 Enable "auto" target for APQ8960 Automotive ADP platform
APQ8960 Automotive platforms use "auto" as a target name
for ro.baseband property. Appropriate GPS driver changes
were,
   1. define GNSS_AUTO enum constant
   2. Enable GNSS drivers for "auto" target.

Change-Id: I463db7ac1c3e2dd6101e457ad723bb16adf5aacb
CRs-Fixed: 771597
2014-12-15 21:21:16 -08:00
Kevin Tang
1ca544cfb5 SUPL_MODE needs to be factored in for ULP
GpsLocationProvider gets SUPL_MODE, and passes is to
GPS HAL along with other configs upon sim hot swap.
GPS HAL needs to parse it out and factor in that
information in for ULP so that ULP can make correct
decision w.r.t. position mode when gnss positioning
is needed.

Change-Id: I1a14dd9d9e47b5d7ea072ae08ee99bbb7c69dbe0
CRs-Fixed: 749794
2014-11-12 19:02:58 -08:00
Linux Build Service Account
3a6d7924d6 Merge "Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.214' into HEAD" 2014-10-23 11:54:25 -07:00
Zhoulu Luo
629d80a82a AU_LINUX_ANDROID_KK.04.04.04.010.214 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlRGYwkACgkQoUgPZYCpAfF2rwCg5quG/L+pzo5R94uD/QSR1Xs6
 mpsAoIxxW/ftz0uMbp67UANrb7EQyVNY
 =eKHq
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.214' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.214 based on quic/aosp/kk

Change-Id: Ida51fa96a5a39fcb3bb2f2c6ab9be84a3ec44d41
2014-10-22 12:57:59 -07:00
Kevin Tang
ff78fb363c GPS lock is stuck as disabled after post powerup enablement
when the device boots with gps disabled in settings and
later enabled post pwoer up, the lock state doesn't get
updated correctly.

Bug: 16131208

CRs-fixed: 736966
Change-Id: Ice8237a3fd67740819de573ffebbab851363163d
2014-10-20 15:00:48 -07:00
Kevin Tang
e6a851c191 adding update config post power up
Some of the parameters configured in gps.conf may be
carrier dependent. This provides a mechanism so that
GpsLocationProvider can determine current operator
resolve of the carrier specific configurations and
update HAL with those configurations post init.
Bug: 17110478

CRs-fixed: 736966
Change-Id: I80aa4404da7666824335fee074dae2ffcba40548
2014-10-20 14:54:26 -07:00
Tushar Janefalkar
0b0b89fbd6 Add buffer length check for XTRA data
To prevent reading beyond the length of
the buffer that contains XTRA data, a
check has been introduced assuming an
approximate limit for the size of the
data

Change-Id: I7e05beadec76c3308448b9198fd23c8e8b97394d
CRs-fixed: 420623
2014-10-13 11:06:45 -07:00
Linux Build Service Account
f5f74198b5 Merge "Ignore the first time inject if it is form Afw." 2014-09-20 17:17:07 -07:00
Jiafei Wen
fab550522a Ignore the first time inject if it is form Afw.
The first time injection is ignored from
an adapter that doesn't support CPI Extended
Capabilities to prevent time from being
injected twice on startup.

CRs-fixed: 720540
Change-Id: If786cf2c750906093f21272aae928e4d9fc4dea8
2014-09-16 18:17:07 -07:00
Tushar Janefalkar
f78f285721 Vote for modem power only on select targets
Since libmdmdetect and peripheral manager
are not available on all targets, added
compilation flags to use these APIs only on
supported targets

Change-Id: I404e3273718dc7f9e6475f5a1d2c2f0b010cb33f
2014-09-14 23:24:22 -07:00
Tushar Janefalkar
8cdb9cac41 Use peripheral mgr to vote for modem power up/down
Peripheral manager APIs are now used to vote
for modem to be powered up when location is enabled
and powered down when location is disabled.
If peripheral manager is not supported, the powerup
node will be opened and closed to vote

CRs-fixed: 655587

Change-Id: I2b865ce1d88bf1a65e3c9b875f24d669579bc61e
2014-08-24 20:11:12 -07:00
Dante Russo
5cdfc25284 agps cert install api implementation
Implementation of the install agps certificate
API for installing certificates at runtime.

Change-Id: I49239b612381e81bd8a4c0a5773783572d4b2d9a
2014-08-06 11:45:10 -07:00
Dante Russo
a857b72129 Add raw uncertainty to inject position api
New qmi loc api v02 adds a raw uncertainty to the
inject position api, which will be used by the
geofence engine.

Change-Id: I307619006c799c31121941ac5c11bf62f4691c86
CRs-fixed: 682963
2014-06-24 17:04:30 -07:00
Kevin Tang
6fc3071b05 KW warnings
dlsym on gps_geofence_get_interface should check NULL,
and gmtime return should also check NULL

Change-Id: I23ab17f016ad9f4667ac197c12f016433c48af90
CRs-Fixed: 674884
2014-06-03 16:14:56 -07:00
Dante Russo
f9a26b2a68 Inject location only on CPI disabled
Includes inject API from GPS HAL and FLP HAL

CRs-fixed: 640452

Change-Id: Ied947e2862fb9ecca0142f9608cdcc889cac8a2b
2014-04-03 14:41:53 -07:00
Linux Build Service Account
971493d8bb Merge "Close MDM node on shutdown" 2014-04-03 11:37:55 -07:00
Linux Build Service Account
638bbddfef Merge "Change to CPI logic" 2014-04-02 10:21:08 -07:00
Tushar Janefalkar
25244b3660 Close MDM node on shutdown
Added call to close mdm power node
as part of procedure to shutdown

CRs-fixed: 640576

Change-Id: Ie0c05272249401f6cf13e9443417b0ba5de1be52
2014-04-01 14:38:34 -07:00
Bhavna Sharma
7170b25778 Change to CPI logic
CPI should not be dependent on persist.gps.qc_nlp_in_use
property. It should only be dependent on whether CPI is enabled
or not.
Reduce confidence in position if required.

CRs-Fixed: 639153

Change-Id: I9e54ab1ac605143843a2e19607ff8e2e20704d01
2014-03-28 17:11:46 -07:00
Valeri Atamaniouk
ec1fa23bc5 Adds power voting for QCA1530 SoC
When ALM is enabled, GPS HAL performs power vote for QCA1530 SoC
using engine lock mechanics.

Change-Id: I97c5c0460843fc1ad995932f97eeadb7b83fcb3b
2014-03-26 21:31:37 +02:00
Pandari Sabhapathi
6645560aba Renaming class members for improved readability
Renaming class members to reflect their true purpose

CRs-fixed: 601353

Change-Id: I1eb2bc111a52845c515d1b9ca10fb800402c7c3d
2014-02-24 11:23:58 -08:00
Jiafei Wen
38f7146444 MDM shutdown for Fusion device
Use mdmdetect library to detect
presence of an mdm and open/close the
device node if present

CRs-fixed: 605216

Change-Id: I81d5b35ff8259e775dc6cb9d5c531fe06ae77ba0
2014-02-21 10:25:59 -08:00
Hema Iyer Sankaranarayanan
b5ed3d8505 Changes to conditionally check and inject coarse position
Changes to GPS HAL to determine if wiper available before it does
CPI injection.

Change-Id: Ic481c020bf51ae55b001ab28a0b1caaa5de47cdd
2013-11-19 17:40:52 -08:00
Satheesh Jayakumar
e9d4048168 Fixes loc_ext and AFW concurrency issues
Part of changes so that loc_ext stack gets its own QMI_LOC client.
CRs-Fixed: 565281

Change-Id: I7dda3cd8e90e699f11391ea621a785f775978e41
2013-11-15 15:36:43 -08:00
Valeri Atamaniouk
3b4d23e9cc apq8084: qca1530 configuration handling is added.
Provide function for qca1530 detection. Rename 'get_target' to
'loc_get_target'. Fix loc_get_target state detection to avoid double
detection. Fix few minor code defects.

Change-Id: I3daaff99598771742572aab407475474fad41e93
2013-10-25 06:47:17 +03:00
Dante Russo
530086a52d Fix ATL handling
Always register for ATL events reguardless of hw target
or MSA/MSB capabilities. For APQ target, do not handle
certain types of ATL events that it doen't support.
For APQ target, use only position mode of Standalone.

CRs-fixed: 533932
Change-Id: Icd626e3e7155d5c2ba871a343430e441924ce93c
2013-09-10 15:57:08 -07:00
Tushar Janefalkar
782431aff0 Return NULL AGPS interface on APQ target.
The AGPS interface will be returned
as null if MSA and MSB capabilities
are not set in gps config

Change-Id: I388654c9f527bfed128f431ccb8956e19be0f7f2
(cherry picked from commit 50891ecfe09b19a130b675ddc818ecf4ae31a3da)
2013-08-09 11:44:41 -07:00
Kevin Tang
61fedb4567 removed ulp dependency.
ULP will no longer be loaded and init'ed from loc eng
HAL. GPS HAL will look for ULP once it completes init
and waits for a msg back once it hears from ULP. This
is done with introduction of UlpProxy. Default proxy
is a no op proxy.

Change-Id: If0be0b5744f9de20f12c2f0b9704dea66aa454c0
(cherry picked from commit 2eb4ddcae94283df6c6be450c4c070ffd8ff9cd7)
2013-08-09 11:44:34 -07:00
Kevin Tang
11adbb371f Revert "Revert "Location Hal Design Level Change for FLP Requirement"".
This reverts commit 55a6841843.
(cherry picked from commit 363ed1a6b09d7426bfd3726becd2d713da57fa80)

Change-Id: I19153a904dd7587dfd517dcc86f51f4b1110289a
2013-08-09 11:44:12 -07:00
Sridhar Gujje
55a6841843 Revert "Location Hal Design Level Change for FLP Requirement"
This reverts commit a915406668

Change-Id: I7f677a9540a64a60b5f4ed898ba6bed8b3482687
2013-08-07 03:27:20 -07:00
Kevin Tang
a915406668 Location Hal Design Level Change for FLP Requirement
Changes can be highlighted with below summary:
* Split the original LocApiAdapter to LocAdapter and LocApi.
  Now different adapter implementations can flexibly connect
  to different LocApi;
* LocApi continues to abstract the API binding to RPC or QMI;
* MsgTask which creates and owns a msg Q and a thread, and it
  define a LocMsg base msg class. The handler pulls a msg out
  of the Q and calls its proc() method. This makes it possible
  for msg sender to keep the data in the msg encapsulated, as
  it no longer requires a central msg handler who must under-
  stand all data format. This used to be where all the compile
  time dependencies are tangled together;
* Added Context to bundle MsgTask and LocApi;
* Added LocDualContext specifically for the FLP Location Hal
  architecture requirement;
* Placed all the base classes of the above in loc_core folder
  / loc_core namespace / libloc_core.so, so other libraries
  can easily use derive from here without having to pull in
  the loc_eng implementation, which is a large library to
  include or link to;

Change-Id: I40abfba96dea76757c98530c1f5e076b34ba4ac7
2013-08-02 19:29:22 -07:00
Tushar Janefalkar
e5e62728a2 A mechanism to detect APQ chip set
The current changes to default the operation mode
to Standalone by the CHIP ID. A new method is used
for solving this issue.

CRs-Fixed: 510462
Change-Id: I58fd85e2c28bf824edeaef62660c62c34761bd37
2013-08-02 19:01:02 -07:00
Jiafei Wen
b86a09596e Checking Geofence Mask in gps.conf
Check the CAPABILITIES in gps.conf to see if the geofence is
enabled or not. If it is not enabled, the function of getting
geofence interface will return null.

Change-Id: I6500cedd775d83b4701fbe2b3a111c170c8a34be
CRs-fixed: 513494
2013-07-23 20:12:52 -06:00
Gohulan Balachandran
efd4e124a6 Merge up to MR1 tip
Point merged in is cc92e0ccd4

Change-Id: I3b782716fee9ed519b77a4e415fa08155bdce76a
2013-07-23 20:12:17 -06:00
Satheesh Jayakumar
002d6ba629 Removed all ULP specific constructs from HAL
Changed the communication path from ULP JNI to libulp
engine to avoid the GPS HAL layer. This improves modularity,
removes dependencies and promote easier integration for OEMs.

Change-Id: I6bc883499b8ed3649cfc194038057a19ba2fd4f6
2013-07-23 20:06:00 -06:00
Satheesh Jayakumar
a7aa6a45fb Fixes ULP and FLP operation when GPS not enabled
Changes to ensure FLP positioning call flow works
even if GPS is disabled on the Android settings
menu.
CRs-Fixed: 476628

Change-Id: I54b9f9861a14f7c42f45c48e57e9558f14a4de92
2013-07-23 20:06:00 -06:00
Dante Russo
c326530244 Add support for having no qcom proprietary
qcom bsp will handle xtra/agps/ni/time through
qcom propreitary service, and non-qcom bsp will handle
xtra/gps/ni/time through android framework.
xtra url will be queried from modem on qcom bsp,
and read from gps.conf from non-qcom bsp.

Change-Id: Ib54a1596caa65f7aa0358f639640c3d1074980e7
2013-07-23 20:05:56 -06:00
Pandari Sabhapathi
a5e2030015 hardware/qcom/gps: Read gps.conf file for config information
gps.conf needs to be initialized for native GARDEn test

Change-Id: I08a3dd46ff42786f81636ab6929fdfa6d19b1400
2013-07-03 17:09:46 -07:00
Tushar Janefalkar
6fa0e8a983 DEBUG_LEVEL 0 to produce no logs
In accordance to gps.conf, debug level of 0 now
produces no logs at all. In addition, if the
parameter DEBUG_LEVEL is commented in gps.conf,
logs will be printed according to Android's logging
levels

CRs-fixed: 503157
Change-Id: I26ca2be67fbc7ce2bf633f66d9b88ca6450e9d27
2013-06-26 18:23:57 -07:00
Dante Russo
926d20ad77 gps: moving agps/ni/xtra/time features out of afw
Moving these features out of afw allows these
features to still work on platforms that do not
allow changes to afw and it also gives us more
control.

Change-Id: I6923b302f93222dc10189c3a6a7b6ba2ec1a3378
2013-06-11 15:00:57 -07:00
Dante Russo
85f672fa71 Merge branch jb_mr1 into jb_2.6
Merged from from label
AU_LINUX_ANDROID_JB_MR1.04.02.02.049.306

Change-Id: Ie2f7fd3d25f8f28f5d1b6e733974bb5f75999ee8
2013-06-11 14:58:24 -07:00
Satheesh Jayakumar
bc1fb0bce5 Fixes ULP and FLP operation when GPS not enabled
Changes to ensure FLP positioning call flow works
even if GPS is disabled on the Android settings
menu.
CRs-Fixed: 476628

Change-Id: I54b9f9861a14f7c42f45c48e57e9558f14a4de92
2013-06-04 18:45:24 -07:00
Linux Build Service Account
692686e3c2 Merge "Ulp: Fixes an initialization bug for ULP call-backs" 2013-05-10 15:24:35 -07:00