[Redmi Note 9S / Note 9 Pro (Indian Model) Question] moreroid:
according to qualcomm-snapdragon-720g-mobile-platform-product-brief.pdf it is supported by hardware

GPS, Glonass, BeiDou, Galileo, QZSS,
and SBAS
• NavIC support
• Dual-Frequency GNSS (L1 + L5)

According to Xiaomi_Kernel_OpenSource xiaomi use (qcom) source branch

Branch: curtana-q-oss
Base tag: LA.UM.8.9.r1-07100-SM6xx.0

Looking into GPS relevant source code at hardware/qcom/gps/tree/?h=LA.UM.8.9.r1-07100-SM6xx.0 and compare it with e.g. newer branch sm8150 (Snapdragon 855) hardware/qcom/gps/tree/?h=LA.UM.8.1.r1-14500-sm8150.0

there is missing code for dual frequency GNSS support for branch SM6xx

...
void
+GnssAdapter::requestSvPolyForClient(LocationAPI* client, const LocationCallbacks& callbacks) {
+ if (callbacks.gnssSvPolynomialCb) {
+ LocationCallbacks oldCallbacks = getClientCallbacks(client);
+ if (!oldCallbacks.gnssSvPolynomialCb) {
+ LOC_LOGd("request sv poly");
+ GnssAidingDataSvMask svDataMask = GNSS_AIDING_DATA_SV_POLY_BIT;
+ mLocApi->requestForAidingData(svDataMask);
+ }
+ }
+}
+
+void
+GnssAdapter::reportSvPolynomial(const GnssSvPolynomial &svPolynomial)
+{
+ for (auto it=mClientData.begin(); it != mClientData.end(); ++it) {
+ if (nullptr != it->second.gnssSvPolynomialCb) {
+ it->second.gnssSvPolynomialCb(svPolynomial);
+ }
+ }
+}
+
+void
...
+typedef uint32_t LocSvDgnssMeasStatusMask;
+#define LOC_MASK_DGNSS_EPOCH_TIME_VALID 0x1 /**< DGNSS Epoch time is valid */
+#define LOC_MASK_DGNSS_MEAS_STATUS_PR_VALID 0x2 /**< Pseudo Range correction is valid */
+#define LOC_MASK_DGNSS_MEAS_STATUS_PRR_VALID 0x4 /**< Pseudo Range rate correction is valid */
...
+#define GNSS_SV_MEAS_HEADER_HAS_DGNSS_CORRECTION_SOURCE_TYPE 0x08000000
+#define GNSS_SV_MEAS_HEADER_HAS_DGNSS_CORRECTION_SOURCE_ID 0x010000000
+#define GNSS_SV_MEAS_HEADER_HAS_DGNSS_REF_STATION_ID 0x020000000
+#define GNSS_SV_MEAS_HEADER_HAS_REF_COUNT_TICKS 0x040000000
...
+ /** Unique SV Identifier.
+ * SV Range for supported constellation is specified as below:
+ * - For GPS: 1 to 32
+ * - For GLONASS: 65 to 96
+ * - For SBAS: 120 to 158 and 183 to 191
+ * - For QZSS: 193 to 197
+ * - For BDS: 201 to 237
+ * - For GAL: 301 to 336
+ * - For NAVIC: 401 to 414 */
...
+// carrier frequency of the signal tracked
+#define GPS_L1CA_CARRIER_FREQUENCY (1575420000.0)
+#define GPS_L1C_CARRIER_FREQUENCY (1575420000.0)
+#define GPS_L2C_L_CARRIER_FREQUENCY (1227600000.0)
+#define GPS_L5_Q_CARRIER_FREQUENCY (1176450000.0)
+#define GLONASS_G1_CARRIER_FREQUENCY (1602000000.0)
+#define GLONASS_G2_CARRIER_FREQUENCY (1246000000.0)
+#define GALILEO_E1_C_CARRIER_FREQUENCY (1575420000.0)
+#define GALILEO_E5A_Q_CARRIER_FREQUENCY (1176450000.0)
+#define GALILEO_E5B_Q_CARRIER_FREQUENCY (1207140000.0)
+#define BEIDOU_B1_I_CARRIER_FREQUENCY (1561098000.0)
+#define BEIDOU_B1C_CARRIER_FREQUENCY (1575420000.0)
+#define BEIDOU_B2_I_CARRIER_FREQUENCY (1207140000.0)
+#define BEIDOU_B2A_I_CARRIER_FREQUENCY (1176450000.0)
+#define BEIDOU_B2A_Q_CARRIER_FREQUENCY (1176450000.0)
+#define QZSS_L1CA_CARRIER_FREQUENCY (1575420000.0)
+#define QZSS_L1S_CARRIER_FREQUENCY (1575420000.0)
+#define QZSS_L2C_L_CARRIER_FREQUENCY (1227600000.0)
+#define QZSS_L5_Q_CARRIER_FREQUENCY (1176450000.0)
+#define SBAS_L1_CA_CARRIER_FREQUENCY (1575420000.0)
+#define NAVIC_L5_CARRIER_FREQUENCY (1176450000.0)
...

maybe Xiaomi use custom branch of LA.UM.8.9.r1-07100-SM6xx.0

doubt, if snapdragon 720G (sm7125) really based on sm6xx/atoll source code branch