Commit Graph

3410 Commits

Author SHA1 Message Date
Liangwei Dong
e65c3b8bea qcacld-3.0: Allow dynamic channel width update for 2.4 GHz STA
There is a requirement to downgrade/upgrade STA band width on 2.4 GHz
without reconnect. Change driver to allow such request from vendor
command by QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH attribute.

Change-Id: I6642963d90eafc388b6c20c0ce393e6fec58b374
CRs-Fixed: 3594338
2023-09-08 04:09:06 -07:00
Jia Ding
c4fab8012d qcacld-3.0: Add multiple ucfg APIs for policy_mgr
Add multiple ucfg APIs below for policy_mgr.

ucfg_policy_mgr_get_connection_count()
ucfg_policy_mgr_is_hw_sbs_capable()
ucfg_policy_mgr_get_vdev_same_freq_new_conn()
ucfg_policy_mgr_get_vdev_diff_freq_new_conn()

Change-Id: I0402e98021e838b0d50a254c980b65e22bc96ef7
CRs-Fixed: 3599447
2023-09-08 04:09:00 -07:00
Deeksha Gupta
6e303e37aa qcacld-3.0: Add retries to TWT DEL dialog cmd during ps mode
If power save disable command commes, implicitly driver
teardown the existing TWT session by sending out
TWT_DEL_DIALOG command to fw. In firmware if
command fails due to firmware scan_in_progress or
chan_switch_in_progress then driver should retries
TWT_DEL_DIALOG implicitly.

In driver, add retries logic to the twt del dialog command in
case of power save disable.

CRs-Fixed: 3584286
Change-Id: I71299ea8239f33d194d2b55499f2d8e5946c42ba
2023-09-05 23:41:17 -07:00
Deeksha Gupta
964f138fd9 qcacld-3.0: Added new parameter in p2p_set_noa command
Added support for new "start" parameter in
p2p_set_noa driver command.

Change-Id: I8bc743141ea6d9cfdf49ca89b0835f2e5519a12e
CRs-Fixed: 3557825
2023-09-05 20:18:58 -07:00
Vijay Patil
52e5d326f6 qcacld-3.0: Add support to handle PEER_OPER_MODE_CHANGE event
Firmware sends PEER_OPER_MODE_CHANGE event to host in SAP
mode when a connected client indicates upgrade/downgrade
of its bandwidth.
Host needs this data as any further SAP bandwidth
upgrade/downgrade should honor the indicated bandwidth for
that specific peer.

Change-Id: I50fecf670b47c56e3f33b8519fde1d5eaec7523f
CRs-Fixed: 3604716
2023-09-05 15:13:55 -07:00
Aravind Kishore Sukla
0d61022ac6 qcacld-3.0: Add comments for the change fixed
Add comments for the fix added to validate security
for 11be connection and Reject partner link based on
security check.

Change-Id: I1b8d5e91e0e07c6c311b8c6ca6427c3fabd6b219
CRs-Fixed: 3605255
2023-09-05 15:13:35 -07:00
Srinivas Dasari
db3618ad48 qcacld-3.0: Include BW_IND_ELEM IE in beacon and ECSA frames
Include BW_IND_ELEM IE in beacon and ECSA frames while advertising
CSA. This is needed when upgrading the bandwidth to 320 MHz.
Send the ECSA IE with switch count as 1. Use a timer to reset it
after sending the beacon out.

Change-Id: I6c38ef1ce4629b7a67bcbf803c7dbcced05ade33
CRs-Fixed: 3604422
2023-09-05 08:25:59 -07:00
Srinivas Dasari
8fe561ad1d qcacld-3.0: Handle 320 MHz SAP + concurrent STA CSA
When a concurrent STA moves to a new channel due to CSA from
peer AP, check if 320 MHz SAP needs bandwidth downgrade/upgrade
operation.

Change-Id: Id207f1c37a65c4638359eb7f2294478f13beed73
CRs-Fixed: 3601349
2023-09-05 08:25:53 -07:00
Srinivas Dasari
db9052a4e7 qcacld-3.0: Add support for 320 MHz SAP + concurrent STA roaming
Check if the roamed channels lead to DBS/SBS with existing
320 MHz SAP after handling roam sync indication.

Change-Id: I3c816378f93b505c59da7aa9c4cfcc6352f5dbb3
CRs-Fixed: 3601348
2023-09-04 22:35:16 -07:00
Srinivas Dasari
f99e06cab3 qcacld-3.0: Add support for 320 MHz SAP + STA concurrency
When a STA connect req comes up, check if any of the candidates
cause DBS/SBS with the concurrent 320 MHz SAP and downgrade the
SAP bandwidth to 160 MHz.
Also, consider to downgrade the SAP bandwidth to 160 MHz when
an ML candidate is found as ML candidates need DBS/SBS mostly.

Change-Id: Icf2c9c26bd953d58bc0702302825493c0937a699
CRs-Fixed: 3601344
2023-09-04 22:35:10 -07:00
Srinivas Dasari
12ffcc8ce1 qcacld-3.0: Use opportunistic timer to upgrade SAP ch_width
When a concurrency is gone, SAP ch_width can be upgraded to
320 MHz if it's still valid. Use opportunistic timer to avoid
frequent upgrade/downgrade operations.

Change-Id: I60e19427af2226970f1801dd00b04e1072ebea01
CRs-Fixed: 3601340
2023-09-04 22:35:03 -07:00
Srinivas Dasari
afcc8c613e qcacld-3.0: Add infrastructure to handle 320 MHz SAP concurrencies
Currently, 320 MHz SAP is supported only when the hardware mode
is SMM. When a new concurrency comes up, firmware may have to
configure the hw_mode to split-phy mode(DBS/SBS). Then the
requirement is to downgrade SAP to 160 MHz as split-phy mode
doesn't support 320 MHz.
As part of the downgrade process,
1. Indicate to the connected peers that SAP is going to be
   downgraded to 160 MHz via ECSA frame
2. Update ECSA IE to the beacon template with count as 1
3. Indicate the final bandwidth of each peer to firmware

Add infrastructure to support these. Reuse some of the existing
APIs of NSS update and hw_mode update.

Change-Id: Ieb964ddb782a547699890a9dbbc3efdf631149eb
CRs-Fixed: 3601336
2023-09-04 22:34:57 -07:00
Ashish Kumar Dhanotiya
a0ad067df0 qcacld-3.0: Add support for audio transport switch vendor command
Based on the new requirement, add support for vendor command
to switch the audio transport bearer.

Change-Id: I1d3b74c18976b0927ebba228b73af5a10cc67391
CRs-Fixed: 3582788
2023-09-04 18:34:20 -07:00
Surya Prakash Sivaraj
f42a49bfbf qcacld-3.0: Add additional room for runtime OUI extensions
FW allocates memory for action oui extensions only during
init. But, the driver configures some OUIs to the firmware
during connection. For the firmware to accommodate these
new action OUIs during connect, additional room needs to
be sent to firmware during driver initialization itself.

Add changes to send additional room for 10 extensions during
initialization.

Also, currently host adds the count of host only extensions
also as part of the total extensions sent to the firmware.
This leads to wastage of memory allocated in the firmware.

To fix this, keep a separate counter for host only extensions
and remove these from the total extensions saved before
configuring action OUIs to firmware.

CRs-Fixed: 3605032
Change-Id: Ibac93418a873bab53e1c58bf7c06834e38dfd534
2023-09-04 14:26:48 -07:00
Srinivas Dasari
26a2f2e4ce qcacld-3.0: cache SAP current oper bw in vdev mlme priv obj
SAP operating bandwidth may get updated due to concurrencies.
This might be temporary and SAP moves back to its original
bandwidth once concurrency is gone. So, add set and get APIs
to maintain the SAP current operating bandwidth.
These can be used during/after bandwidth update operations.

Change-Id: I386ad20bcbd0902672a890bde510ecc50e58512b
CRs-Fixed: 3600223
2023-09-03 22:32:54 -07:00
Srinivas Dasari
825a7d1dd9 qcacld-3.0: Add an API to check if a new connection causes DBS/SBS
Add an API to loop through all existing connections and check if
the new connection frequency causes DBS/SBS.

Change-Id: Ib7929fc969cd04a26e082f6f9a3acf991befcc5d
CRs-Fixed: 3600235
2023-09-02 21:22:57 -07:00
Liangwei Dong
84250fda26 qcacld-3.0: Disable force SCC check for link switch disconnection
If disconnection event is for link switch, do not trigger SAP
force SCC check. And if link switch is in progress, skip
the force SCC workqueue.
And if link is in middle of switching, do not run link force logic.

Change-Id: I4a8bf59ff16dca2caf560eb36e1bc58f7d6a919b
CRs-Fixed: 3590814
2023-09-01 21:01:00 -07:00
Abhinav Kumar
663120a684 qcacld-3.0: Send proper control mode value to upper layer
1. Upper layer sends QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONTROL_MODE
vendor command to configure control mode in host/fw.
2. Host receives GET_ML_LINK_STATE driver command to return
control mode (configured at step 1) to upper layer.

Host should reply as a response of GET_ML_LINK_STATE with same
value of control mode configured at step 1 to upper layer.

Change-Id: I6ae82c2a1c0e4ff13cea678bf27916a3cda8ad81
CRs-Fixed: 3595730
2023-08-31 11:00:21 -07:00
Amruta Kulkarni
dd4b6d0ea6 qcacld-3.0: Add null check for mlo sta context
Currently mlo sta context is accessed without null
check in mlo api's.

Add null check for mlo sta context in mlo_check_if_all_links_up
and mlo_check_if_all_vdev_up api's.

CRs-Fixed: 3601823
Change-Id: Iea3f1daf1d9aef40efdff21a02e8a3c23494bfad
2023-08-31 11:00:14 -07:00
Amruta Kulkarni
fc51b6ff4f qcacld-3.0: T2LM timer changes
Code changes to run the T2LM timer in FW instead of host.

Change-Id: Ic66da9e0311121d2ae23c600c97f225c56aa215f
CRs-Fixed: 3595388
2023-08-31 11:00:07 -07:00
David Oladunjoye
71fb47d8ca qcacld-3.0: Add support for aux eMLSR HW modes in policy mgr
Currently, if FW advertises more than three HW modes, host
returns error as the current max is 3. Need to increase value
to 4 to support aux eMLSR single and aux eMLSR split modes.
In addition, add path to handle aux caps when advertised from FW.

Change-Id: I4ee873951952c5b1abd31e9e28084d32eda782bd
CRs-Fixed: 3599089
2023-08-31 10:59:53 -07:00
Prasanna JS
8f12b73f1d qcacld-3.0: Update beacon Tx rate configuration implementation
Update beacon Tx rate configuration implementation
for lithium onwards targets

Change-Id: I864b7eedb36b8f4a4804baf42f2b4c762d6868dc
CRs-Fixed: 3593181
2023-08-30 16:44:02 -07:00
Prasanna JS
0ed9d7c8cc qcacld-3.0: Move assemble rate code functionality to mlme
Move assemble rate code functionality to mlme

Change-Id: I8acb04f2e09be742f95d38a4688e07c1d011f4e8
CRs-Fixed: 3593174
2023-08-30 16:43:56 -07:00
Srinivas Dasari
1d339cfba1 qcacld-3.0: Send NO_FORCE cmd for eMLSR STA upon NAN DISABLE
Currently, host disables eMLSR by sending INACTIVE_NUM cmd to
firmware when eMLSR is active. Host sends FORCE_ACTIVE cmd with
both the links to re-enable eMLSR when eMLSR enable vendor command
is received from userspace.
But recent changes in MLO link management and policy mgr expect
a NO_FORCE when a legacy connection(e.g. NAN here) is gone.

Send NO_FORCE upon NAN disable inorder to adhere to the
new link management changes.

Change-Id: I6ff2c9f102c21b437a18310b9406ae3c990d3d17
CRs-Fixed: 3591684
2023-08-30 04:52:50 -07:00
Gururaj Pandurangi
ad0d63a599 qcacld-3.0: Change TPE IE parsing logic for Client mode
Currently, if the AP advertises both Local and Regulatory
TPE IEs in the beacons, STA uses an INI to choose one over
the other. Vendor ask is to change this logic and allow STA
to use the minimum of the two TPE power limits. Also,
deprecate the INI that sets the preference between local
and regulatory TPE IEs.

CRs-Fixed: 3574510
Change-Id: Ibf19020d59621efa72cf290ef34c825fdb50e3e7
2023-08-30 01:37:29 -07:00
Pragaspathi Thilagaraj
6da3613393 qcacld-3.0: Update self mac address from roam sync indication
After roaming to 3 link AP, update the MLO manager with the
self link address received from the roam synch indication.

Change-Id: I6258abe7bb9e140307c30fee8701ef12a618d9f1
CRs-Fixed: 3591487
2023-08-30 01:37:23 -07:00
Vijay Raj
8255bcee81 qcacld-3.0: Introduce support for STA info logging
Add support for STA info logging via api
wlan_connectivity_sta_info_event()

STA info logs is sent immediately after the
connect request initiated from userspace.

Change-Id: I92c42c9ca27f90acae23452e8fba1f2b20396214
CRs-Fixed: 3597543
2023-08-29 15:03:46 -07:00
Karthik Kantamneni
6f177b8539 qcacld-3.0: Fix race condition in refill thread cleanup
During refill thread cleanup shutdown event is posted and
we wait for thread to handle the shutdown event and exit.
But while posting shutdown event if refill thread is in running
state then there is chance of shutdown event not getting handled
and thread cleanup will be waiting indefinitely for thread to
exit.

Change-Id: I45bdad8d6a85b110ed7c7e206d3c79c5c03e9d98
CRs-Fixed: 3599295
2023-08-29 05:20:33 -07:00
Chunquan Luo
5208f9f8e4 qcacld-3.0: Set max bandwidth with link id
Support wpa_cli driver SET_MAX_BW with two params:
[bw_index][link_id].

Change-Id: Id2a872152e308e94389cd1068013d7661b37659b
CRs-Fixed: 3522561
2023-08-28 21:12:08 -07:00
Paul Zhang
efb48cb5c3 qcacld-3.0: Set peer link status properly
Since peer link status bases on vdev and stream goes through
vdev0 (assoc link) at start, rx/tx pkt count on vdev0, but
it choices vdev1 as tdls link, the peer status does not change on
vdev1 though it has been changed for vdev0 per the rx/tx pkt count.

To resolve this issue, set peer link status properly when forward
discovery response frame.

CRs-Fixed: 3590371
Change-Id: Idfb0b8c43e3b8d5b67a387ba3b877def15130eb6
2023-08-28 21:12:02 -07:00
Vinod Kumar Myadam
bca37ddeea qcacld-3.0: Add support to get num tx/rx chains
Add support to get num tx and rx chains.

Change-Id: Iae8e3d15679e5e9ca139c59e6880a5d733ee17ef
CRs-Fixed: 3596086
2023-08-28 21:11:50 -07:00
Ashish Kumar Dhanotiya
62bd1008e4 qcacld-3.0: Remove duplicate API wlan_get_opmode_vdev_id
There are two APIs wlan_get_opmode_vdev_id and
wlan_get_opmode_from_vdev_id present in the host driver for the
same task.
With this change, remove the duplicate API wlan_get_opmode_vdev_id
from the host driver code.

Change-Id: I7ff45610ff18da9c002e22c5be06f1414d3835bc
CRs-Fixed: 3593560
2023-08-28 21:11:44 -07:00
Jianmin Zhu
493e081e3d qcacld-3.0: Add action OUI to disable beamformee for IoT AP
when connect to IoT AP and BW is 160 MHz and max NSS is 2,
disable SU/MU beamformee.

Change-Id: Ib99072c36b72859cb1f8a4336f8aa7f696cb7d02
CRs-Fixed: 3583339
2023-08-27 01:04:07 -07:00
Jinwei Chen
179f23968f qcacld-3.0: fix use after free issue in RX fisa path
scenario:
fisa_flow->head_skb freed in dp_fisa_rx_get_flow_flush_vdev_ref(),
but fisa_flow_vdev returned from dp_fisa_rx_get_flow_flush_vdev_ref()
is not NULL, dp_rx_fisa_flush_udp_flow() will still try to deliver
fisa_flow->head_skb to stack, use after free.

return NULL if dp_fisa_rx_get_flow_flush_vdev_ref() has freed
fisa_flow->head_skb.

Change-Id: I5a467db63377e6b5f36c4bb1dfa0e3f35b73a442
CRs-Fixed: 3596691
2023-08-25 09:06:19 -07:00
nakul kachhwaha
1ac61ce509 qcacld-3.0: Enable Flex. TWT based on TWT Req/Resp Capability
Enable Flexible TWT when TWT feature is enable and either of
the TWT Requestor or Responder capability is enable.

Change-Id: I2f2b1c311d9aba6e09d309e83f37098175b80767
CRs-Fixed: 3422493
2023-08-25 06:04:29 -07:00
Vijay Raj
43e28bd8e5 qcacld-3.0: Add diag logging support for STA info and MLO events
Introduce diag logging for STA info event and MLO events
via eventid EVENT_WLAN_CONN_STA_INFO, EVENT_WLAN_MLO_SETUP,
EVENT_WLAN_MLO_RECONFIG, EVENT_WLAN_MLO_T2LM_STATUS,
EVENT_WLAN_MLD_T2LM_REQ_RESP, EVENT_WLAN_MLO_T2LM_TEARDOWN
and EVENT_WLAN_MLO_LINK_STATUS

For MLO specific events band, link_id, status, tid_ul,
tid_dl, token, tx_status, reason active_links and
previous active links are sent.

For STA INFO event is_mlo flag, mld_macaddr, 2.4GHz_mac,
5GHz_mac and 6GHz_mac.

Change-Id: I1aa6195a481319f85cad26893789439c5c8291ea
CRs-Fixed: 3568508
2023-08-24 21:14:56 -07:00
Ashish Kumar Dhanotiya
963339298b qcacld-3.0: Remove mac0 channels from ll_lt_sap PCL for static sbs
Based on the new requirements, add logic to remove mac0 channels
from PCL for static sbs case for ll_lt_sap mode.

Change-Id: Ib50978b2959bafac27a1f0b432a08b6d3c08c2de
CRs-Fixed: 3582899
2023-08-24 15:38:17 -07:00
Aditya Kodukula
87a4b8604b qcacld-3.0: Update correct vdev_id for vdev stats
Currently, while processing ml vdev chain rssi stats, vdev_id
is not updated properly resulting in populating invalid chain
rssi values.

So, to resolve this issue, update correct vdev_id based on vdev
stats request_info structure for both MLO and Legacy connections.

Change-Id: I37d4001c2dee46396019ca662f89066f73ad4895
CRs-Fixed: 3595057
2023-08-24 15:38:10 -07:00
Surya Prakash Sivaraj
f3969f6436 qcacld-3.0: Prevent runtime suspend during disconnect
In MLO cases, system enters into runtime suspend in
between the disconnect processing of two links. This
leads to delay/timeouts in MLO disconnect processing.

To fix this, acquire runtime lock between disconnect
start and disconnect complete if_manager events.

Keep the runtime lock at vdev level to handle async
disconnects triggered by the driver and link-only
disconnects during roaming.

CRs-Fixed: 3588246
Change-Id: Ida48127d8597aecd8b6f5347c70ba5e9a2045d11
2023-08-24 01:26:07 -07:00
Paul Zhang
06250c2b0b qcacld-3.0: Don't overwrite force active link
For MLO TDLS function, when it sends discovery request, it sets
the corresponding link as force active mode. Since the driver
sets link_ctrl_f_overwrite_active_bitmap by default currently.
It overwites the active link which is set earlier.

To resolve this issue, add sanity check about reason
MLO_LINK_FORCE_REASON_TDLS to follow the legacy process.

Change-Id: I51eb6464ffd7754e009aa993eae859268d19671a
CRs-Fixed: 3591556
2023-08-23 02:33:04 -07:00
Guisen Yang
30ff7465d0 qcacld-3.0: Allow WoW mode for qca6490 without extra checks
Do not fall back to pdev suspend for qca6490 when it's configured
to wow mode.

Change-Id: Iefa0c6c725547068d3663408d4dd80e19e05811f
CRs-Fixed: 3515263
2023-08-22 23:31:34 -07:00
Rahul Gusain
d934844b59 qcacld-3.0: Allow only 2 port concurrency in non DBS
Currently, host driver defines all concurrency with iface
combination structure and updates it by wiphy to userspace.
But non DBS target does not support the 3 port concurrencies.

So, to fix this, add the check for DBS target and for non DBS
targets filter out 2 port concurrencies from iface combinations
and update it to userspace.

Change-Id: I2bbe44f6cdfa1b49e3dbd9efe8b9bc45ddbed0ab
CRs-Fixed: 3583702
2023-08-22 23:31:02 -07:00
Ashish Kumar Dhanotiya
02a882f64a qcacld-3.0: Cleanup policy_mgr_get_mode API
API policy_mgr_get_mode is not required anymore in the host driver,
with this change remove policy_mgr_get_mode API and related code.

Change-Id: I697eb928d9f55d80022b78ce238aa218451dfa0b
CRs-Fixed: 3582902
2023-08-22 19:23:11 -07:00
Ashish Kumar Dhanotiya
2063466dc0 qcacld-3.0: Add changes to get the PCL for STA + LL_LT_SAP concurrency
Currently there is no support to get the PCL for STA + LL_LT_SAP.
With this change add support to get the PCL for STA + LL_LT_SAP
from policy manager.

Change-Id: I830eb6e783a79b832ee6646c78d556b3e9526762
CRs-Fixed: 3592302
2023-08-22 11:06:59 -07:00
Pragaspathi Thilagaraj
455e268ee3 qcacld-3.0: Skip RSO updates during link switch
When link switch is in progress, the assoc vdev mlo link flags
get toggled and the flag is reset to actual value once the link
switch is complete.

During this time, if concurrent SAP channel switch happens, then
the RSO init/start happens on link vdev. This causes invalid
sequence of state changes on assoc vdev & roam commands get
sent on link vdev.

So avoid any RSO state changes on MLO vdev when link switch is
in progress.

Change-Id: I46af3ee511e2156ce1be032852aebdb18d4c7c02
CRs-Fixed: 3588178
2023-08-22 11:06:53 -07:00
Ashish Kumar Dhanotiya
66f468f156 qcacld-3.0: Disable FILS discovery for LL_LT_SAP
Based on new requirement, disable FILS discovery for
LL_LT_SAP.

Change-Id: If136bc272ba29a39f9748b01c53e35cac79f79b1
CRs-Fixed: 3585674
2023-08-22 11:06:47 -07:00
Deeksha Gupta
8903d71a2b qcacld-3.0: Handle T2LM mapping validation for standby link
Currently, if AP is sending T2LM action frame with standby
link mapping then STA host is rejecting the T2LM mapping and
sending status as WLAN_T2LM_RESP_TYPE_DENIED_TID_TO_LINK_MAPPING
to AP.

Fix is, STA handles T2Lm mapping if AP sends on standby link.

Change-Id: I8492fbaff7bffb32afa142bb11767e6202137cf5
CRs-Fixed: 3589843
2023-08-22 08:07:51 -07:00
Aravind Kishore Sukla
30cac76709 qcacld-3.0: Reject partner link based on security check
For multi link connection there might be the case where
rsnxe of the AP is not present on the link vdev.
This causes the link vdev alone to downgrade to 11ax
mode and assoc vdev is in 11be dot11 mode.
So for vdev with ML peer, the dot11mode is 11ax,
which causes abnormal firmware behavior.

Reject the partner link that doesn’t pass the security
check and validate the next available partner link.
if none of the partner link passes the security check,
proceed connection with single link.

Change-Id: I07239f06e2fa166cb472e1f24d66b44929d58cbf
CRs-Fixed: 3583522
2023-08-21 10:57:42 -07:00
Pragaspathi Thilagaraj
62e8fc78a0 qcacld-3.0: Update version for some supported feature set
Update version for vendor request 1 and vendor request 2 as
below:
vendor_req_1_version: WMI_HOST_VENDOR1_REQ1_VERSION_4_00
vendor_req_2_version: WMI_HOST_VENDOR1_REQ2_VERSION_3_50

Change-Id: Ieaa25a9c2b98f4c73cb89462463dd88ba5d11b53
CRs-Fixed: 3590251
2023-08-18 18:09:34 -07:00
Ashish Kumar Dhanotiya
fe6d7d0625 qcacld-3.0: Add support for LL_LT_SAP_MODE in policy mgr
Currently PM_LL_LT_SAP_MODE is not handled in policy manager.
With this change add support for PM_LL_LT_SAP_MODE in the policy
manager.

Change-Id: Icfbb3a95dc65225fc7dad5df7dca9306a5029402
CRs-Fixed: 3536491
2023-08-17 21:01:21 -07:00