Commit graph

300 commits

Author SHA1 Message Date
Dante Russo
db7fc90da2 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-13 19:25:38 +05:30
Dante Russo
8834b304c9 Fix implicit declaration errors in gps hal
Including string.h and stdlib.h to fix compiler
errors.

Change-Id: I4e79c71b9e5691e51850adcc52f52b36f8e3d088
2015-07-13 19:25:13 +05:30
Qiang Chen
4d44ce3d6c 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-12 04:55:02 -07:00
Qiang Chen
18d8153915 Removed unused code and unnecessary notice files
libloc_api-rpc code is not built for any targets,
so it's removed. NOTICE file is unnecessary and
can be remvoed.

Change-Id: I7da6f0d5a7d90fd4ad7ef51d9eaee88d2a7a20ac
CRs-fixed: 827856
2015-05-09 02:24:30 -07:00
Dante Russo
8a3533bd4a Remove reporting gps status from loc eng layer
GPS Status is reported from Loc Api layer, so
reporting it in Loc Eng layer in addition is
redundant. Also, SSR should not send engine on
status when not in a session.

Change-Id: I10bc2d112574de0016110e193d6c2cd071b00b2a
CRs-fixed: 826256
2015-05-07 03:50:06 -07:00
Hans Chang
33552b272d AU_LINUX_ANDROID_LA.AF.1.1.05.00.02.164.175 based on quic/aosp/LA.AF.1.1
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlTQKUkACgkQoUgPZYCpAfGAUgCgyH0kEyUtVhZ09+T3w4VfnZqK
 Id8An3JkWK9QhlXZ9Q2zT8T7LR5/T2ls
 =8mx/
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_LA.AF.1.1.05.00.02.164.175' into 111

AU_LINUX_ANDROID_LA.AF.1.1.05.00.02.164.175 based on quic/aosp/LA.AF.1.1

* tag 'AU_LINUX_ANDROID_LA.AF.1.1.05.00.02.164.175':
  GNSS measurement
  Added new events and masks for GDT AP
  gps.conf parameters are in sap.conf table
  Enable "auto" target for APQ8960 Automotive ADP platform
  support reinjecting supl url for sim hot swap
  Remove Redundant Log
  Report 2D speed rather than 3D speed.

Conflicts:
	core/gps_extended_c.h

Change-Id: Ibe1207ac07a2931003f5fa34ae68d8c1e6512eeb
2015-02-08 15:50:40 -08:00
Tushar Janefalkar
1777a2fe16 Fix bug with switch case
The switch case inside setXtraVersionCheck
does not have breaks after the cases and
the default label is misspelled. This
will always cause the check to be disabled

Change-Id: Ibcc3703c98e561e0bdfbcc5c8802d1b45c9a511a
CRs-Fixed: 790623
2015-02-05 19:04:36 -08:00
Kevin Tang
2794061c73 Propagate DR enablement feature from LNX.LA.2.7.3
Change Summary:
* Changes taken from change#812357;
* Structure definitions for GNSS SV Measurement and GNSS SV
  Polynomial to report it to ULP and to external DR module;
* New function additions in LocApiBase, LocAdapterBase and
  LocEngAdapter to report SV Measurement and SV Polynomial;
* definition and changes to detect "auto" platform in loc_target;
* enable SV Measurement and SV Polynomial report for "auto"
  platform;

Change-Id: I5ac5ee5c44e72e657b16515e37637c9a5c64e638
2015-01-24 15:35:16 -08:00
Linux Build Service Account
ad8e6aef91 Merge "GNSS measurement" 2015-01-17 18:31:02 -08: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
Linux Build Service Account
511b1ac909 Merge "support reinjecting supl url for sim hot swap" 2015-01-06 01:56:39 -08:00
Linux Build Service Account
4a43e264a5 Merge "gps.conf parameters are in sap.conf table" 2014-12-16 16:33:55 -08:00
Kevin Tang
f311c16b0a gps.conf parameters are in sap.conf table
due to merge issue, some of the parameters to come out
from gps.conf are placed in the table that expects from
sap.conf. Moving them into the right place.

Change-Id: Ice988b06d0d87bdbc0225296898d6aaad701743f
CRs-Fixed: 760152
2014-12-16 11:22:46 -08:00
Kevin Tang
32b1baae2b 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:22:33 -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
Dante Russo
7e9e68a3af support reinjecting supl url for sim hot swap
modem might reset during sim hot swap, in which case
the prior supl url shall be remembered so that can be
reinjected. This change enables it.

CRs-fixed: 771493

Change-Id: I86ec898a54bc8706720c29a1ea67ce27153ee981
2014-12-15 17:49:40 -08:00
Linux Build Service Account
3aa99e9fc5 Merge "Remove Redundant Log" 2014-12-09 20:44:38 -08:00
Jiafei Wen
a328080552 Remove Redundant Log
This change removes redundant log
printing, including SV info and
position report.

Change-Id: Ifcf827f73e6c940e3fcb93402bc7a4b22e9a9d4e
CRs-fixed: 765333
2014-12-02 12:00:51 -08:00
Jiafei Wen
00fd7bc33b Report 2D speed rather than 3D speed.
According to Android API standard, it should be only the
horizontal speed. Therefore, the speed should be reported
in 2D rather than 3D.

Change-Id: Ie42aa350637b56394869bac0af0207a5aceeede6
CRs-fixed: 745419
2014-12-01 01:46:52 -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
d1cc6bfee7 GPS LOCK did not work when NMEA_PROVIDER follows it
there is an implicit requirement on the loc_gps_cfg_s_type field
data type, that is they must be 32 bit fields. Otherwise it would
only work with the assistance of padding. When two adjacent 8 bit
fields are defined, the later filled field would overwrite the
previously written neighbor. This is why GPS_LOCK was tested as
broken in the latest build.

This also fixes a theoretic bug that when there are two of the
same fields defined in the config table to be filled, the
accounting of the filled entries was incorrect earlier. This is
not a realistic bug, as there are no idential entries in the
config table HAL fills.

Bug: 16131208

CRs-fixed: 736966
Change-Id: I2e262fb30272f6f334508df17bb640022d7b1ef5
2014-10-20 15:00:39 -07:00
Kevin Tang
af2762ceca GPS_LOCK configuration support
GPS_LOCK is defined as a bit mask in the higher layer
defined in gps.conf. GPS HAL reads from gps.conf, yet
this can be reconfigured by gps.h defined new API to
a different value. The current value will be used at
cleanup() time, to optionally lock gps modem to the
configured mode.

This changs also sets SUPL URL to NULL if hostname
comes with set_server() API is a NULL string.

Also optimized configuration_update() implementation
so that no all items will go through the reconfigu
scan.

Also added SUPL_MODE as a parameter in gps.conf which
can be uncommented to over-write the value from config.xml.
This can be used for testing purposes

Bug: 16131208
Bug: 17288144

CRs-fixed: 736966
Change-Id: I12a89b12ff82b6efd7b5567d2fcd6a7e79414c71
2014-10-20 15:00:31 -07:00
Kevin Tang
809dec4e92 allow reconfiguration update happen before HAL init
currently HAL does not allow gps paremeter reconfiguration
before HAL init. This change allows that. The new config
items will be cached only. Upon HAL init, the parameters
that interest modem will be injected.

Bug: 17110478
CRs-fixed: 736966

Change-Id: Ie8d180a0ed6a35776f1ee0342f88dfc010ec2746
2014-10-20 15:00:11 -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
Zhoulu Luo
94ca706b3c AU_LINUX_ANDROID_KK.04.04.04.010.182 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlQsxwMACgkQoUgPZYCpAfG54gCdFhi4kcvtS8jo5rRwqMemDRJw
 JZAAoOcZBG/Y1bH/Kmd1+27OQJUOH/Yg
 =fi7/
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.182' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.182 based on quic/aosp/kk

Conflicts:
	loc_api/libloc_api_50001/loc_eng.h

Change-Id: I3a734e3bdc3347961f1bd4bf5499ec7ca9aecfbc
2014-10-02 14:42:00 -07:00
Zhoulu Luo
49c8a177cb AU_LINUX_ANDROID_KK.04.04.04.010.171 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlQizM8ACgkQoUgPZYCpAfH5yQCgmx8aSsNKN3FRVfYiXQK8Zq7i
 9FkAn0tDuuuy3sib/8fh/S+VCU/l8UKI
 =VC4+
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.171' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.171 based on quic/aosp/kk

Change-Id: Ieeb7a3b116fd4ac9091582b40de5a9c468ca68ea
2014-09-25 17:58:59 -07:00
Tushar Janefalkar
a55881f51b Use regular ATL callflow for SUPL ES
Added a new gps.conf parameter which can
be used to decide whether or not to use
data services to bring up call using emergency
PDN or use default SUPL PDN

Change-Id: I604a1489e66339eb2c27019dafab640f7a15cd84
CRs-fixed: 685639
2014-09-22 16:49:57 -07:00
Linux Build Service Account
e3900d7339 Merge "Remove reduntant clearing of GpsLocation memory" 2014-09-21 15:49:51 -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
Linux Build Service Account
88740b0a54 Merge "Vote for modem power only on select targets" 2014-09-20 13:38:45 -07:00
Dante Russo
9d0c2d5627 Remove reduntant clearing of GpsLocation memory
GpsLocation memory will now be cleared inside the
Loc Api handler itself, so no need to do it a second
time before calling into the Loc Api handler.

Change-Id: Iec37624621d6eb4806eb8e13c807bb4e40584e39
CRs-fixed: 726800
2014-09-18 17:18:36 -07:00
Zhoulu Luo
9fe51b7593 AU_LINUX_ANDROID_KK.04.04.04.010.161 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlQYPVMACgkQoUgPZYCpAfFH4gCeMO6B2RcmkK4FiGKyMAGyby70
 q1kAoKNW3qC2PpZ2TR02ASrbkjfuyjJv
 =+Hrp
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.161' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.161 based on quic/aosp/kk

Conflicts:
	loc_api/libloc_api_50001/loc_eng.cpp
	loc_api/libloc_api_50001/loc_eng.h

Change-Id: Ib51f82aa83a2aa7ea63a10efffe5e7eef8a5d135
2014-09-18 12:26:41 -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
Pandari Sabhapathi
5cef7caea3 Migrating XTRA from gpsonextra.net to cloud based izatcloud.net
*Added logic to remove xtra1.gpsonextra.net from URLs
received from modem.
*Added logic to override modem URLs with those configured
in gps.conf
*Replaced all instances of xtra{1,2,3}.gpsonextra.net domain URLs
in gps.conf with xtrapath{1,2,3}.izatcloud.net URLs.
*Replaced all commented instances of xtra.bin in gps.conf with xtra2.bin.

CRs-fixed: 643816

Change-Id: I803b26bce22f06910dcaa1ee057902b9381667bf
2014-09-11 16:43:11 -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
Sudhir Sharma
11a39d65a8 AU_LINUX_ANDROID_KK.04.04.04.010.110 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlP0pJ4ACgkQoUgPZYCpAfEsUwCdGjNzYIPjaZVFcZdeL246BVXQ
 PZ8AnibMuxZm7CO5PzCHKg3tJQdA0msp
 =x/5c
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.110' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.110 based on quic/aosp/kk

Change-Id: Ibdbb06bff5d0c6bd1aec3f6243ae864b70818277
2014-08-22 16:44:20 -07:00
Linux Build Service Account
b39a4aaa01 Merge "agps cert install api implementation" 2014-08-20 10:42:12 -07:00
Sudhir Sharma
2e5ca6dde7 AU_LINUX_ANDROID_KK.04.04.04.010.094 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlPoLFcACgkQoUgPZYCpAfHA3gCgxHO4Ygg/L4/AivXneonD8kls
 t80AoOVB7Ts81w7Qea3Ui7jhoq/jbRui
 =UdP7
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.094' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.094 based on quic/aosp/kk

Change-Id: I0b9428f15516e1f6b6cd625caa2e4af86b9c1c5e
2014-08-11 13:38:27 -07:00
Kevin Tang
2abe41d44f Fix for CR 692085, error mapping incorrect in one of the cases
eLOC_CLIENT_FAILURE_INTERNAL returned from loc_api_v02 was mapped
to LOC_API_ADAPTER_ERR_FAILUR, however in loc_eng_start_handle it
is LOC_API_ADAPTER_ERR_GENERAL_FAILURE that is being checked for.
Created a new error ID LOC_API_ADAPTER_ERR_INTERNAL specifically
for this error case.

Change-Id: Ib2ad6e983d6c598ec57f1a2584166da2be95946b
CRs-Fixed: 706520
2014-08-07 18:14:43 -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
Kevin Tang
8977164eee fixing the SSR recovery race condition
There is a race condition where when startFix is
called right at the time when modem or griffon
subsystem is down, GPS HAL doesn't get the correct
error code, and therefore the right handling.

Mapped ENGINE_DOWN to ENGINE_OFFLINE, as they are
the same; and modified loc_eng_start_handler to
update the state upon the right error code.

There is a one problem though. General failure is
also handled as SSR. This is because of an unhandled
race condition in the kernel, so the error code
returned and propagated is not deterministic enough
for us to tell if this is SSR. Until that fix is in
place, we might have to treat general failure as SSR
although the side effect should be none. Only
semantically incorrect.

Change-Id: If93823f08428275da171bb22d73a06e38365585b
CR-Fixed: 692085
2014-07-30 18:02:41 -07:00
Sudhir Sharma
aa9a96e724 AU_LINUX_ANDROID_KK.04.04.04.010.073 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlPXonYACgkQoUgPZYCpAfEVqgCg0nHy46bwOfBa0LPbxt0PTV4r
 MGsAnAlTanVV1UfX/HzMGmdNyA0D0VZ4
 =Wxhx
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.073' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.073 based on quic/aosp/kk

Change-Id: I5ae2317a9d43cde94c587cb292212f1435472607
2014-07-29 17:07:10 -07:00
Tushar Janefalkar
c091f138ef Add support for XTRA_VERSION_CHECK QMI LOC msg
A new QMI LOC msg is introduced which injects into
the modem a value that determines whether or not
the version of XTRA is to be checked

Change-Id: I0ef579332d064713ce73d80e66dc8c6fef1c1638
CRs-fixed: 649860
2014-07-21 10:45:06 -07:00
Sudhir Sharma
af6104c65f AU_LINUX_ANDROID_KK.04.04.04.010.031 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlO8DZQACgkQoUgPZYCpAfE0FwCeKxGsLPtFF/FWR+coAoCqL/cl
 bpcAoKwddkDxgpMYfbQbTuGJOakiXjuj
 =4Acq
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.031' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.031 based on quic/aosp/kk

Change-Id: I59b376b2feccb9daa02374529095be179247dbaa
2014-07-08 13:00:45 -07:00
Tushar Janefalkar
cd5c8489bc Changes for GPS HAL compilation
Remove dependence on android_runtime and
return invalid value if gps daemon is not
responding

CRs-fixed: 649065

Change-Id: I16dbf1bffe6193114c1da08730f0627377179a2a
2014-07-03 15:08:51 -07:00