Commit graph

570054 commits

Author SHA1 Message Date
Banajit Goswami
f000cc25f9 ASoC: msm: q6dspv2: add routes for SLIMBUS_7 and SLIMBUS_8
SLIMBUS_7 and SLIMBUS_8 would be used for BT-SCO and FM use
cases when using the second Slimbus instance. Add routes
to support voice call over BT-SCO and FM playbacki and capture
with these ports.

Change-Id: I5c558ee2dbe2de20b9ac3f042ae45a9431590778
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06 12:06:25 -07:00
Banajit Goswami
c3efae69ee ASoC: msm: add Hostless DAI with SLIMBUS_8
SLIMBUS_8 ports can be used for hostless audio playback and
capture use cases. Add Hostless Front-end DAI definitions
with Slimbus 8 ports.

Change-Id: Idc56625bb8fea263c3d530c8a9488eeb81fdd7e5
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06 12:06:25 -07:00
Banajit Goswami
6c64afbb2d ASoC: msm: q6dspv2: add support for Slimbus 7 and 8 ports
Add support for SLIMBUS_7 and SLIMBUS_8 Rx and Tx ports for
MSM audio drivers.

Change-Id: I839ac07a3ee1e1e778c4d1e43d0bac89f01bd21a
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06 12:06:25 -07:00
Osvaldo Banuelos
f0faba2ed8 ARM: dts: msm: increase OSM LLM frequency and voltage hysteresis timers
Increase the OSM LLM frequency and voltage vote hysteresis timers
to the maximum allowed value of 327675 ns. This is necessary
to ensure stable operation when LLM port is enabled as client of
OSM.

Change-Id: I6b53b5a6187f0ac0e68f4ed54c7ae3ba0b062222
CRs-Fixed: 1009097
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
2016-05-06 12:06:24 -07:00
Osvaldo Banuelos
b00de1f245 clk: msm: osm: increase timer resolution programming to nanoseconds
OSM clock period is 5 ns. Therefore, the various hysteresis
timers used by OSM can be fine tuned with a granularity of
5 ns. Allow specification of timers in units of nanoseconds
to prevent losing valid timer setpoints.

Change-Id: Ice93347aaf81fe41ea7862752ac0d2d4e82d838c
CRs-Fixed: 1009097
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
2016-05-06 12:06:24 -07:00
Weiyin Jiang
7966b0d08e ASoC: msm: audio-effects: fix stack overread and heap overwrite
Fix overwrite of updt_params allocated in heap, and stack overread
where param pointer is passed from user space.

CRs-Fixed: 989628
Change-Id: Ida8bdb7da2fcb97023dce3b6eafe4b899a51cb66
Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
2016-05-06 12:06:24 -07:00
Osvaldo Banuelos
05a8698e52 clk: msm: clock-osm: increase refcount of CPU clocks at probe time
Increase the refcount of CPU clocks proportionally to the number
of available CPUs to maintain the assumption that each CPU clock
has been prepared and enabled by the time cpufreq takes over.

Change-Id: Icccb28bc7a88dc76cf4ed5710623e992ba62f19c
CRs-Fixed: 994035
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
2016-05-06 12:06:24 -07:00
Patrick Daly
3a0f40b5ef ARM: dts: msm: Update the memory map for msmcobalt
Increase the size of the peripheral region.

Change-Id: I5af8da01a54dc6f31c93f7ad5201899c0779b661
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-05-06 12:06:23 -07:00
Nicholas Troast
9f1ad26f6b power: move QTI charger drivers to a new sub-directory again
The original commit was reverted due to conflicts in the kernel upgrade
process. Now that the upgrade is complete we can introduce this commit
again.

Original commit:
commit 8e10bff713 ("power: move QTI charger drivers to a new
sub-directory qcom-charger")

QTI charger drivers have outgrown their home in power and deserve their
own sub-directory. Move all QTI charger drivers and their dependencies to
a new sub-directory of power called qcom-charger.

CRs-Fixed: 1001767
Change-Id: I5465a944a79f622ddf69534075b067db0fb10c95
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-05-06 12:06:23 -07:00
Nicholas Troast
4e468402df power_supply: add INPUT_SUSPEND power supply property
POWER_SUPPLY_PROP_CHARGING_ENABLED has been used to indicate enabling
the charge path in some drivers and enabling the input path in others.
This leads to confusion of what charging enabled really means.

POWER_SUPPLY_PROP_BATTERY_CHARGING_ENABLED was introduced to indicate
enabling the charge path, and in this case
POWER_SUPPLY_PROP_CHARGING_ENABLED is used to indicate enabling the
input path. Since these are similarly named it leads to even more
confusion.

In an attempt to fix this confusion we introduce a new power supply
property POWER_SUPPLY_PROP_INPUT_SUSPEND which indicates suspending the
input path of the power supply. POWER_SUPPLY_PROP_CHARGING_ENABLED takes
its original definition of enabling the charge path. Then
POWER_SUPPLY_PROP_BATTERY_CHARGING_ENABLED will be retired from use.

CRs-Fixed: 1005389
Change-Id: I1ca8f5748a56a9395caa8ed8ed18f70e69f0cbe8
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-05-06 12:06:23 -07:00
Jack Pham
27f3e78625 power_supply: Add additional USB Type-C properties
Introduce the power_supply_typec_mode enum definitions which
will allow a charger to indicate the type of USB Type-C
connection that is established. Also add additional properties
for indicating CC pin orientation, changing source/sink power
role (useful for dynamic power role swap), and a flag to allow
the charger to expect VBUS changes during USB Power Delivery
power negotiation.

CRs-Fixed: 1005389
Change-Id: Iba9b652335fba4ee4f24a17eba8abdd5c85c21bb
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-05-06 12:06:23 -07:00
Sagar Dharia
a632de294e slim: msm: ngd: Add priority to DSP SSR notifier
Currently SSR framework seems to make callbacks in the order
they were registered, or based on pririties.
Due to this, APR's callback (done in its probe) may be executed
before slimbus driver's callback (only registered after children
are probed). This still works, but may take longer since codec
may try sending some disconnection commands over slimbus if APR
is notified about SSR before codec was notified by slimbus.
This failure may result in some delay in SSR handling which is
more than the KPI numbers expected for this recovery mechanism.
Priority is added to slimbus SSR notifier registration to make
sure its callback is called before APR's.

CRs-Fixed: 996871
Change-Id: Ib7f002d52310dc13b60a18972a6899ebae21ba24
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
2016-05-06 12:06:22 -07:00
Banajit Goswami
5c8fe61c60 soc: qcom: q6dspv2: add priority to ADSP SSR notifier for APR
Currently ADSP SSR notifications to APR come much earlier
than ADSP SSR notifications to SLIMbus. This causes audio
playback resume to take more time than expected, as code in WCD
codec driver has dependency on the sequence at which SSR
notifications are received. Add a priority to the notifier
block for APR, so that the APR has lower priority compared
to SLIMbus.

CRs-fixed: 989828
Change-Id: Idb089ec8d036d441e32bc927d7294121a1d2735d
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06 12:06:22 -07:00
dojha
4727beff4d ASoC: codec: micb ref count decrement check
In SSR with recording, race condition which reduces micb_ref to -1
is seen. SSR sets micb_ref to 0, further recording widgets power
down can reduce it to -1. During power up, it is increased to 0,
micbias is not getting enabled for recording since micb_ref is 0.
To prevent this micb_ref is checked for non zero value before
decrementing it.

CRs-Fixed: 994268
Change-Id: I6ea23fdf8b119cfd178c4f5b79b9d1c01c267a82
Signed-off-by: dojha <dojha@codeaurora.org>
2016-05-06 12:06:22 -07:00
Sudheer Papothi
a58a194105 ASoC: msm8996: Add delay to check ADSP state during SSR
During SSR(subsystem restart), add a delay when ADSP state
is not yet ready. This will avoid excessive logging when
ADSP state is not ready.

CRs-Fixed: 1001242
Change-Id: I2f3d1bdb3ca1ba05c014c26bbc87879f549098d8
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-05-06 12:06:22 -07:00
Kuirong Wang
4c52e40802 ASoC: msm: Update the Slmbus6 downlink hostless routing
Update the Slmbus6 downlink hostless routing so it can connect
to Slimbus0 Hostess FE.

Change-Id: Iaeb3e148af57e9d484a31820993cf7e5b6466dd2
CRs-fixed: 991759
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2016-05-06 12:06:22 -07:00
Laxminath Kasam
80af15a335 ASoC: wsa881x-analog: Fix warning in bandgap and clock control
During temperature read, resource acquire can fail
if mclk is not enabled successfully. In such case,
clock and bandgap control counters are not incremented.
But resource release is still happening resulting
in counters going negative and warn_on messages.
Fix it by handling resource acquire failure case.

CRs-Fixed: 1003365
Change-Id: If2371e06866a615ca7d7dad64a5d7a17f258b3b6
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2016-05-06 12:06:21 -07:00
Ashish Jain
97a9be4c8b ASoC: msm: qdsp6v2: DAP: Fix buffer overflow
Add check to avoid out of bound access.
Check return value of get_user api.

CRs-Fixed: 997025
Change-Id: Ibbace116ac206007fa1928555838285304737737
Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
2016-05-06 12:06:21 -07:00
Venkata Narendra Kumar Gutta
ad3a05df97 ASoC: msm: qdsp6v2: update external EC reference logic
VOC_EXT_EC MUX kcontrol, which is being used for external EC
reference, returning incorrect values when requested. Update
the logic to fix this issue.

CRs-Fixed: 999158
Change-Id: If05a54ca2539ef452312548bfcaf7f3fadd1de87
Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
2016-05-06 12:06:21 -07:00
David Dai
a474d1add7 ARM: dts: msm: Update vrail comp factor for mdp masters
Use a vrail_comp factor of 25 for clients voting on mdp masters

CRs-Fixed: 1011135
Change-Id: I213bc12a089bdad75934959d0ccc8a6243f6124e
Signed-off-by: David Dai <daidavid1@codeaurora.org>
2016-05-06 12:06:21 -07:00
Venkata Narendra Kumar Gutta
564aaba10b ASoC: msm: qdsp6v2: update quinary rx controls for voice path
Voice calls are not working over quinary rx path. Required rx
controls are not present, hence it's not working. Fix this
by updating quinary rx controls and routing map.

CRs-Fixed: 999811
Change-Id: Id566359e381b69acfccff406c7448708701530e7
Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
2016-05-06 12:06:21 -07:00
Mayank Rana
e15e7e3c18 ARM: dts: msm: Increase USB BAM device address space on msmcobalt
USB BAM device is having 4 pipes. USB BAM global register address
space size is 0x13000, whereas each USB BAM pipe register address
space size is 0x1000. Due to insufficient register address space
mapping, there is unpaging related crash seen while trying to
access USB BAM pipe 0 related register. Fix this issue by
increasing size to 0x17000 (i.e. 0x13000 + 4 * 0x1000).

CRs-Fixed: 1011319
Change-Id: I6654d9eec5a849bcce6d812166d6696347458169
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-05-06 12:06:20 -07:00
Banajit Goswami
6b068d7ccc ASoC: msm: q6dspv2: initialize private data before using it
During Compress offload session open, a private data structure
is allocated and registered as parameter for a callback to the
compressed offload driver. All parameters inside the structure
must be initialized before the structure is passed to ASM driver.
This private data structure is sent back as param to the callback
function registered with ASM. The initialization is needed to avoid
NULL pointer dereference inside the callback function, in case ADSP
SSR is triggered right after registering the callback with ASM and
before rest of the initialization of the private data is complete.

CRs-fixed: 989822
Change-Id: I8a64539a6a64fb8c75d06f933a735c70049bce7b
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06 12:06:20 -07:00
Venkata Narendra Kumar Gutta
531c66a8fe ASoC: msm: qdsp6v2: Fix mute in WFD playback during ADSP SSR
Mute observed in WFD playback during ADSP SSR. This is due to
playback session isn't being restarted post SSR. Fix this by
listening to reset events and propagate the appropriate error
back to userspace in case of SSR.

CRs-Fixed: 986757
Change-Id: I4c2fdf70e518310157d81d527afff4436dd42140
Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
2016-05-06 12:06:20 -07:00
Vidyakumar Athota
d886b34289 msm: ultrasound: Various static analysis fixes
Remove potential null dereference.
Remove dead code from impossible error check.
Set upper bound for user-provided buffer size.

Change-Id: I212f3edfa31e9168d11e0782da7f3fd8c2b98c5d
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-05-06 12:06:20 -07:00
Shiv Maliyappanahalli
af35f6d738 ASoC: msm: qdsp6v2: set token for stereo_to_custom_stereo command
Set token value with port index and copp id so that
correct wait queue handle can be deduced in the
callback of adm_set_stereo_to_custom_stereo command.

Change-Id: Ica4c1442c1143f46de2baa6eaf1890ad0cb4b742
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-05-06 12:06:20 -07:00
Phani Kumar Uppalapati
22ba2185da soundwire: Add API to control slave device data path
Add soundwire API to control slave device data path
enable or disable. This gives slave device drivers
more flexibility for data path control during device
path enablement.

CRs-fixed: 996586
Change-Id: Ic0ab015098035418458a5ba7c2ffad9df20f933c
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-05-06 12:06:19 -07:00
Deven Patel
849a6fc42c ASoC: msm: qdspv2: Add tertiary MI2S ports support
APQ8096 target uses tertiary MI2S interface for
voice call. Add this support in routing driver.

CRs-fixed: 987739
Change-Id: Idecbe2f072e4315e180d25583b6d1b1237d06071
Signed-off-by: Deven Patel <cdevenp@codeaurora.org>
2016-05-06 12:06:19 -07:00
Karthik Reddy Katta
f2af1c3a05 ASoC: msm: qdsp6v2: Fix memory allocation issues in audio_cal_utils
Incorrect pointer is used while allocating memory
for 'cal_block' pointer. Use proper pointer in kzalloc().

Memory of 'cal_block->cal_info' is not initialized to ZERO.
Use kzalloc() instead of kmalloc() to initialize this memory.

CRs-Fixed: 983585
Change-Id: Ifbe1d91d68da81d058197af2a403c4b832b019fb
Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
2016-05-06 12:06:19 -07:00
Mingming Yin
40685fa4c5 ASoC: msm: qdsp6v2: compress passthrough fixes
- Ignore stream volume and pp params calls
  for compress passthrough playback.
- Use correct COPP index for compress passthrough
  playback in adm_send_compressed_device_mute.

Signed-off-by: Mingming Yin <mingming@codeaurora.org>
Change-Id: I10d1aaf3bb6cbf6358378667f93970e9eb21be1d
2016-05-06 12:06:19 -07:00
Dhananjay Kumar
cf6e60c32f ASoC: msm: qdsp6v2: Update set_params to avoid use before set
In function msm_compr_set_params few codec parameters are getting
used before being updated with values received in the call.
Prevent usage of incorrect param values by updating params before
they are accessed.

CRs-Fixed: 993882
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
Change-Id: Ia3d3e13d4bd7975a11cbeb96929fb224e8271916
2016-05-06 12:06:19 -07:00
Yeleswarapu Nagaradhesh
c4ab23b312 ASoC: wcd-mbhc: correct headphone detection
Characteristics of 3pole extn cable is, MIC is grounded
and HPHL and HPHR are floating. In current SW, if
there is GND_MIC SWAP with button press cable is reported
as unsupported. Hence report cable as headset if there is
GND_MIC SWAP with button press.

CRs-Fixed: 963833
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
Change-Id: Ie6b467292661358699fcab6263653139cda87c33
2016-05-06 12:06:18 -07:00
Yeleswarapu Nagaradhesh
c72b107db6 ASoC: wcd-mbhc: Fix special headset detection issue
Even if the first measurement of hs_comp_result is 0 after
micbias is increased to 2.7v, it should be reported as special
headset. Fix the condition in driver to handle this scenario.

CRs-Fixed: 993103
Change-Id: I859e9de29436af12ef1af0e2ed85bcbb51d2e27a
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2016-05-06 12:06:18 -07:00
Deven Patel
483f678247 ASoC: codecs: use correct subsystem status check
Audio subsystem could reside in different DSP processor based on
architecture design. Use subsystem status check instead of explicitly
check for modem status.

CRs-fixed: 988942
Change-Id: I7c28a11f67517e5072e67c9bc2b99900a79879c1
Signed-off-by: Deven Patel <cdevenp@codeaurora.org>
2016-05-06 12:06:18 -07:00
Rajesh Bondugula
fdb31c9433 msm: camera: sensor: Validate step_boundary
step_boundary can take values upto the total_steps
Validate the step_boundary before consuming it.
Convert the type of step_index and region_index to uint16_t
step_index and region_index cannot be negative.

CRs-Fixed: 1001092
Change-Id: I1f23fd6f28bb897824a1ef99a8873b9f986eee70
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
2016-05-06 12:06:18 -07:00
Zhen Kong
058e654f8b defconfig: enable qseecom and tzlog drivers for msmcobalt
Enable qseecom and tzlog drivers on msmcobalt to support
secure communication between HLOS and TZ.

Change-Id: I930b1883e167dcf25c43b417a2e66f5ed86d5ac1
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2016-05-06 09:58:42 -07:00
Linux Build Service Account
ab30cf8abc Merge "ARM: dts: msm: Add tzdbg driver support for msmcobalt" into msm-4.4 2016-05-06 09:56:19 -07:00
Linux Build Service Account
b69ad25912 Merge "ARM: dts: msm: add qseecom flag commonlib64-loaded-by-uefi on msmcobalt" into msm-4.4 2016-05-06 09:56:19 -07:00
Linux Build Service Account
b5bfdbe627 Merge "qseecom: add a new flag commonlib64-loaded-by-uefi" into msm-4.4 2016-05-06 09:56:19 -07:00
Linux Build Service Account
bc33a9fcee Merge "ARM: dts: msm: Add qseecom driver support for msmcobalt" into msm-4.4 2016-05-06 09:56:18 -07:00
Zhen Kong
5626069770 ARM: dts: msm: Add tzdbg driver support for msmcobalt
Add tzdbg driver support for msmcobalt, so tzlog and hyplog
can be obtained from hlos side.

Change-Id: I417a2e66f5ed86d5ac1930b1883e167dcf25c43b
Acked-by: Raj Jarang <rjarang@qti.qualcomm.com>
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2016-05-05 15:16:44 -07:00
Zhen Kong
331e394753 ARM: dts: msm: add qseecom flag commonlib64-loaded-by-uefi on msmcobalt
add qseecom dtsi flag commonlib64-loaded-by-uefi to indicate commonlib64
is loaded by uefi already.

Change-Id: I8370cc414d95067d4e30da0f53ddb15070ed4d05
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2016-05-05 15:15:39 -07:00
Zhen Kong
404b7fade5 qseecom: add a new flag commonlib64-loaded-by-uefi
Add flag commonlib64-loaded-by-uefi to indicate commonlib64
is loaded by uefi already.

Change-Id: I9dd3f6bf92e178f1207424b09f39f2e08164df17
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2016-05-05 15:14:36 -07:00
Zhen Kong
6d681ba7f6 ARM: dts: msm: Add qseecom driver support for msmcobalt
Add qseecom driver support for msmcobalt, which is required
for secure communication between HLOS and Trustzone.

Change-Id: Ia87c3686ad09a80d965545c76f50ce4245d5477f
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2016-05-05 15:13:36 -07:00
Harshdeep Dhatt
7fa8b4c857 msm: kgsl: Remove harmless preemption log message
This message is logged when we receive a preemption
interrupt after we have already detected that preemption
has been finished in hardware by reading the preemption
status register. This is a harmless condition so remove
it.

CRs-Fixed: 993480
Change-Id: I61a48353428b3faa042fbc85e259b33c7f23bdb0
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2016-05-05 15:05:57 -07:00
Sunil Khatri
c1f7d84b6a msm: kgsl: Fix overflow in sharedmem read/write functions
There could be possibility of integer overflow on adding
sizeof(uint32_t) with uint64_t maximum offset bytes and result
in a value smaller than uint64_t maximum memdesc size.

CRs-Fixed: 988861
Change-Id: Ifc3ec45297c2a29ad6f7d70dd0bd59238ac8cc3d
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
2016-05-05 15:05:57 -07:00
Carter Cooper
c17a79f16d msm: kgsl: Add MMU offset mapping functions
Allow MMU mappings to take offsets rather than only allowing
full range mappings.

CRs-Fixed: 971174
Change-Id: Iaa113c8414a2d2d8f92b3cb21eaf2e422f273454
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
2016-05-05 15:05:57 -07:00
Harshdeep Dhatt
12636f5ee9 msm: kgsl: Dump 64KB of preemption record in snapshot
Dumping only the ctxt_record structure in a snapshot
is not enough. For a more meaningful snapshot, dump 64KB
of preempt record. Also, move the code to device specific
snapshot function.

Change-Id: I43e08ccefbf2d3911191b2aad5168979956e1626
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2016-05-05 15:05:56 -07:00
Carter Cooper
0a8e905b3f msm: kgsl: Clean up adreno trace code
Give trace code for IRQs a simpler format that moves
around where some logic lives.

CRs-Fixed: 971172
Change-Id: If426fb7599be0a79b6f37b8008a2310b1c006e93
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
2016-05-05 15:05:56 -07:00
Carter Cooper
098cd2a900 msm: kgsl: Don't spam kmsg due to invalid IOCTL requests
When the IOCTL is called with invalid data, don't log to kmsg. The
returned error code should be enough to tell the UMD what they did wrong.

CRs-Fixed: 987074
Change-Id: Iae380e0f44dd53bee8ff4cec347a6b9a632b1f84
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
2016-05-05 15:05:56 -07:00