Commit Graph

169 Commits

Author SHA1 Message Date
Tatenda Chipeperekwa
6a68c684bd disp: msm: dp: exit stream enable on cable disconnect
Exit stream enable on cable disconnect considering that the
controller and display modules would have transitioned to aborted
state. It is possible that the disconnect might have prevented
the link clock from being enabled, so we have to skip any register
programming in the link clock domain. We remove the unprepare
call from the DRM wrapper error handling since that path can lead
to unclocked register access when the link clock is not enabled.

Change-Id: I92595c0824193df63c2746bc8cd644f59c33604a
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-05-19 08:19:15 -07:00
Tatenda Chipeperekwa
0c5bbc2066 disp: msm: dp: deregister altmode notifier
Deregister the altmode notifier in the client teardown path since
the client will no longer be available to handle altmode
registration.

Change-Id: I06c6c61d4eb0b0fc9e9c1df1da4a0c86e4556de1
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-05-18 11:24:05 -07:00
Linux Build Service Account
55ef712ef6 Merge "disp: msm: dp: update altmode client registration" into display-kernel.lnx.5.4 2020-05-08 12:01:46 -07:00
qctecmdr
7116441b24 Merge "disp: msm: set voltage to min before disable" 2020-05-08 04:03:50 -07:00
Rajkumar Subbiah
e56293e396 disp: msm: enable DP MST compilation
Enable compilation of DP MST feature. Also ported drm mst implementation to
use updated API definitions. Changes to the API include; removal of hotplug
callback; separate refcounting for topology and memory allocation in mst
port; pass the entire port instead of slot count in
atomic_release_vcpi_slots API.

Change-Id: I951c2978339229ea7e124c2addc114ea5d3cbb3d
Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org>
2020-05-06 18:51:22 -04:00
Narendra Muppalla
218244e58b disp: msm: update rm topology mapping tables
This change updates resource topology mapping tables and includes
logic to compare compression types for dsc vs vdc.

Change-Id: I1735edeb07aec8ed0065f84ac0824c58158412f3
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-05-04 22:47:11 -07:00
Tatenda Chipeperekwa
fb8034fea2 disp: msm: dp: update altmode client registration
Update the altmode client registration by replacing the notifier
mechanism with a callback.

Change-Id: I550e8c1b58b5ccfd10e46f240ee54a8acdfe9bec
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-05-04 18:28:24 -07:00
Abhijit Kulkarni
96e8b6819c disp: msm: set voltage to min before disable
This change sets the regulator voltage to zero for all
those regulators which support voltage scaling before
disabling the regulator. Failing to do so causes the regulator
vote to set to the last min value specified in the previous
set voltage call.
Additionally modified the config regulator api and renamed to
get regulator because of the above change.

Change-Id: Ie4c4842db0c08a4d98926ed79503cf84e4d5762a
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-05-04 11:06:11 -07:00
qctecmdr
7928c8d0e1 Merge "disp: msm: fix kw issues in sde and dp driver" 2020-05-01 10:55:28 -07:00
Shashank Babu Chinta Venkata
8b8bfe0165 disp: msm: make msm_drm into single module
Make msm_drm into single module and all child driver
registers and unregisters are handled from parent's
register and unregister respectively.

Change-Id: I017513d1de3b6b25dd5543d7fa7741c0bac1740d
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
2020-04-28 15:52:39 -07:00
Narendra Muppalla
d07ef2efe0 disp: msm: fix kw issues in sde and dp driver
This change addresses out of range and null checks in
sde and dp driver.

Change-Id: I142196d7394f0bf0abab1bfa89abfd784a5521c8
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-04-24 16:01:02 -07:00
Sankeerth Billakanti
2192810d8a disp: msm: dp: skip powering down dp host in mst mode
If DP is running in mst mode, DP host should not power down during
unprepare call as aux need keep alive to handle further hot-plug
sideband message. Unless it is a PM suspend scenario where it is
required to deinit the host.

Change-Id: I208894e1cbc75e727044c196194b0a4e3936921e
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 16:12:04 -07:00
Rajat Gupta
0e1496c718 disp: msm: hdcp: abort queued tasks while processing PM suspend
During suspend, there might be a chance that lib auth work is queued
but not yet started. So during pm cycle it might start execution
before host_init which can lead to noc error while accessing dp_aux
registers. To prevent that set abort flag to abort lib auth work and
set interrupts before host_deinit.

Change-Id: Ie2c3ac9b0846644d3c2b37f410c341659b030c16
Signed-off-by: Rajat Gupta <rajatgu@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 16:10:58 -07:00
Sankeerth Billakanti
54365213d1 disp: msm: dp: execute host_init on restoring session teardown
Ensure host_init is executed when the DP display driver is resuming
from a video session teardown. The host_deinit is executed when DP
video session teardown is initiated by the userspace while DP cable
is connected. If the DP display is disconnected from dongle while
the video session is in teardown, the host_init is not executed
when the session is restored. All subsequent display connections
will fail because the core clocks are not on and aux abort is not
reset.

This change will ensure host_init is executed whenever the
host_deinit is executed during DP video session teardown by userspace.

Change-Id: If1ae3eb731a96bd929cd023733c098b513436a1c
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:17 -07:00
Sankeerth Billakanti
d7bc0eebfe disp: msm: dp: send dp hpd notification from attention_work
The hpd notification is skipped in connect_work if there is an
attention_work pending. So, the notification has to be sent in
attention_work.

Some dongles issue multiple attention events with LINK_STATUS_UPDATED
while the connect_work is in progress. So, once the link training
is successfully completed the LINK_STATUS_UPDATED attention event is
considered handled and the attention_work scheduled to execute after
the connect_work will return early without handling the
hpd_notification cases.

This change will ensure the hpd_notification is sent from
attention_work in such cases.

Change-Id: I5ef6781354b80842d2a6f44360cde25ee6d2b0b7
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:17 -07:00
Sankeerth Billakanti
9ee6c22331 disp: msm: dp: update vswing and pre-emphasis settings for lito
Change to update the voltage swing and pre-emphasis settings for
lito to support dp phy cts.

Change-Id: I97f0b9882291d7d52e10ef4bef6ea6a23780e12a
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:17 -07:00
Sankeerth Billakanti
33f6b8e11e disp: msm: dp: fix for screen freeze on dp disconnect
The DP display driver issues an audio disconnect notification
after the video disconnect notification. Sometimes audio driver
is waiting for the video commit to complete before turning off
the audio engine. In such cases, there is a brief screen freeze
observed on the primary. In other cases, when the off call from
audio driver gets delayed, a momentary screen freeze is seen.
The audio notification happens as part of the display commit call.

The order of notification is video and then audio while
processing display connect and the same order is followed for
disconnect also, which is causing this issue. These changes will
modify the order of notification to send audio disconnect first
and then video while processing DP cable disconnect.

Change-Id: I8bece39c164620b319d971e5a2597d9dc187566e
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:17 -07:00
Sankeerth Billakanti
be267c80f7 disp: msm: dp: reset panel object for connector when uninstalled
When panel object for a dp connector is destroyed, the instance
of dp_panel in the connector object is made NULL to prevent
further panel object dereferences.

Change-Id: I63409ab8c470f14cf9c032e373cb0c0872577504
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:17 -07:00
Sankeerth Billakanti
3630628d0d disp: msm: dp: correct the dp_panel instance used to enable audio
When DP_LINK_STATUS_UPDATED irq_hpd occurs, the mst audio instances
are turned off, irq_hpd handled and audio instances are turned on
again. While turning on, an audio instance different from the ones
turned off is being sent, causing ops mismatches eventually leading
to a NOC error. These changes will correct the pointer to the audio
or the panel instances to match the ones that are turned off.

Change-Id: Idd9c013fd64cd6db06bbec34f5083029e4ab522c
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:16 -07:00
Sankeerth Billakanti
3ce95ac68e disp: msm: dp: update min_enc_level only if link is authenticated
The min_enc_lvl update is asynchronous to the hdcp2x state machine and
can come anytime. In an instance where authentication with the sink is
continuously failing, the enforce engine blocks the hdcp22 secure content
playback and resets the min enc lvl. This is causing the sde_hdcp_2x_main
to perform a send message operation out of sync with the current
authentication attempt. This is causing the state machine to go into bad
state by changing the next message id, sometimes causing a pagefault error
in the sde_hdcp_2x_main while cp_irq is in progress. This change will
proceed with the min_enc_lvl change only when the mainlink is hdcp2p2
authenticated.

Change-Id: I977ac3a083b9593f8f7e760d4e477d4af424d5c9
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:16 -07:00
Aravind Venkateswaran
69631c415c drm: msm: dp: update logging support
Modify the macros to use default kernel logging function if DRM log
levels are not explicitly set. This helps in being able to selectively
enable function or file level logs.

Change-Id: I4f894a2ecf314a3a5fc0bb22a75a0e10dae31e07
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:16 -07:00
Aravind Venkateswaran
47cc800aff disp: msm: dp: delay hotplug connect notification
Delay the hotplug connect notification to check for any test
requests issued by the sink. This will avoid unwanted connection
event callbacks.

Change-Id: Id7a04dbbb5ad5b86c3791ac2db5de2c92e98fc46
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:16 -07:00
Aravind Venkateswaran
d8be39e02b disp: msm: dp: skip HPD connect notification if IRQ HPD is pending
Upon completing the link setup, check to see if any IRQ HPD
notification is pending prior to sending the connect notification
to the user mode. If an IRQ HPD is pending, address the IRQ first
prior to sending the notification. This will ensure that the link
setup is stable first before the connection setup is started. This
will also help in adhering to the CTS timing requirements for
responding to IRQ HPD notifications. The current patchset limits
this logic only for SST connections.

Change-Id: I3f5e8e9290f915b98ec5e9e6cf9ff14aa9929d96
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:16 -07:00
Aravind Venkateswaran
fac5436450 disp: msm: dp: fix locking during link maintenance
Ensure that session lock is held while handling link maintenance
to ensure that connect/disconnect handling and link maintenance are
serialized. This will avoid un-intended interleaving of session
setup/teardown with link maintenance which can result in link training
failures.

Change-Id: I96bb5b01a80433e26d675a019b8827de9fecb75b
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:16 -07:00
Aravind Venkateswaran
5f73d3b6bd disp: msm: dp: do not abort DP display init if link is aborted
It is possible that by the time DP display is initialized by the
user mode in response to a hotplug connect event, the DP display has
already been disconnected. In such cases, the link aborted flag is
set by the driver prior to sending the HPD disconnect event. Current
implementation will abort the connection callback when this aborted
flag is set. As a result, the DP stream clocks would not be enabled
and the DP interface will not be able to generate any vsyncs. This can
cause a lot of instability. Allow the connection callbacks from the
usermode to complete successfully to avoid these issues. This will also
help in subsequent disconnect and connect notifications to be handled
gracefully.

Change-Id: I9a0d44492a3590e1b6026bc545ee81f7414925cd
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:16 -07:00
Aravind Venkateswaran
732622e52c disp: msm: dp: init/deinit host only for cable connection/disconnection
DP host initialization and de-initialization need to be done only
in response to cable connect/disconnect events. De-initializing host
(which includes turning off all regulators), for every HPD low events
is unnecessary and can cause unintended issues with DP CTS tests.

Change-Id: I95ac71853dc14a46e4175cf0bee4c3eae315fc1e
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:16 -07:00
Tatenda Chipeperekwa
f7de094233 disp: msm: dp: Enforce HDCP 2.3 timing requirements
The HDCP 2.3 specification added new timing
requirements for message read duration. Ensure
that these requirements are enforced in the DP
display layer.

Delay for a specification-allowed amount of time
before reading messages to ensure that sinks have
enough time to process messages and make their
replies available to read.

Change-Id: I40b210823a7cbaca6efc12abc4c8e8b98a10e071
Signed-off-by: Fuad Hossain <fhossain@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:16 -07:00
Tatenda Chipeperekwa
3e26909b0a disp: msm: dp: abort aux before going to dp suspend
During resume, DP uses AUX to perform various functionalities
like DPCD/EDID read or link training etc. This involves other
hardware modules as well like USB and Charger. In a situation
like continuous suspend/resume, while DP is processing resume,
suspend can trigger resulting in dependent hardware modules
to go to sleep. As AUX communication is hardware interrupt
based, this can result in unstable system.

Abort all functionalities before going to suspend to
avoid unnecessary AUX and other functionality failures.

Change-Id: Id52d408270232adf7258a7eb064ee969eba4be71
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:16 -07:00
Tatenda Chipeperekwa
cf7ed76bdd disp: msm: dp: add more state and event based logging
Add more state and event based logging in order to enhance
state transition and use case based debugging in the driver.

Change-Id: I00dee6fcff832c104d3f8b651635a41d9cfc6921
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:34:15 -07:00
Tatenda Chipeperekwa
9377fcd5af disp: msm: dp: refactor functions to reduce code complexity
Refactor the mode validation and HDCP worker functions in order
to reduce code complexity and improve readability.

Change-Id: I6b33599d66b73d16a6cb9cc120605a032dada996
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-04-06 14:02:07 -07:00
Tatenda Chipeperekwa
4571b23507 disp: msm: dp: use the new altmode framework
Use the new altmode framework to receive the connect, disconnect
and attention events.

Change-Id: Ic542525b526e1abd0f153c293bca6e4cdbb6bf0b
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-13 20:26:39 -07:00
Tatenda Chipeperekwa
37412f5add disp: msm: dp: add support for PLL programming
Add support for PLL programming in the DisplayPort driver.

Change-Id: I4f08a621dcae5d1f54d67bb5c34409249012cc7b
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-13 20:26:39 -07:00
Tatenda Chipeperekwa
51805afe28 disp: msm: dp: compile MST feature based on display config
Add a compile time flag for the MST feature that will allow
selectively enabling the feature.

Change-Id: I8bf288277c7af00c3cf254a8c757151559e0a010
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-12 18:07:11 -07:00
Tatenda Chipeperekwa
5977818ac3 disp: msm: dp: use updated colorimetry and DSC definitions
Update colorimetry definition usage and how we access DSC information
as per changes in the upstream DRM framework code.

Change-Id: I28482380124734680e46904b8d536ebadba8cc60
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-12 18:06:52 -07:00
qctecmdr
13a29a2855 Merge "disp: msm: dp: update swing and pre-emphasis levels" 2020-03-05 18:06:13 -08:00
Tatenda Chipeperekwa
71436eec71 Revert "disp: msm: dp: use the correct checksum for EDID"
This reverts commit eaed3221fa
which uses a downstream implementation for checksum calculation.
This will be fixed once the upstream changes to address checksum
calculation are merged.

Change-Id: I7a6ed1c4d4baf52533485d59bcdcb6dd1009d626
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-03 17:18:31 -08:00
Tatenda Chipeperekwa
c7d094b54b disp: msm: dp: update swing and pre-emphasis levels
Update the HBR and RBR swing and pre-emphasis levels as per the
latest published hardware programming guide.

Change-Id: If3b6713e0b6680f65539882221aae32b00bf0254
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-03 16:50:54 -08:00
qctecmdr
664e64b84b Merge "disp: msm: remove drm_connector usage for colorspace" 2020-02-21 10:28:36 -08:00
qctecmdr
5d23842089 Merge "disp: msm: add colorimetry block parsing to SDE EDID parser" 2020-02-20 11:19:21 -08:00
Abhinav Kumar
2e1c9a0751 disp: msm: remove drm_connector usage for colorspace
Move away from using the supported colorspaces in drm_connector
and replace it with sde_connector to satisfy GKI requirement.

Change-Id: I947c91ea6672e242e572151f72cf0db2e71990cb
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 14:32:02 -08:00
Abhinav Kumar
f1959d903b disp: msm: replace usage of drm_connector with sde_connector for hdr10
Since the HDR static metadata block parsing has been moved to
the sde edid parser, replace the usage of drm_connector with
sde_connector for hdr10 so that the modifications to drm_connector
can be removed.

Change-Id: I4526cda426c46708d3689eb8b993b7a4f50d32ae
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 14:31:42 -08:00
Abhinav Kumar
849041b3fe disp: msm: replace usage of drm_connector with sde_connector for hdr10+
Since the VSVDB parsing has been moved to the sde edid parser, replace
the usage of drm_connector with sde_connector for hdr10+ so that the
modifications to drm_connector can be removed.

Change-Id: I7d69aa533e71fa45bfc578db24c17bb23e499c4a
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-02-19 13:47:39 -08:00
Steve Cohen
1470b1605c disp: msm: dp: fix null check in atomic_check
Fix an invalid pointer check on input parameters.

Change-Id: I899e19e578d4d337e49da9084875bfd1917efe59
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-02-14 23:35:19 -05:00
Tatenda Chipeperekwa
cf71a83fba disp: msm: dp: update the definition of atomic_check function
Update the definition of the atomic_check function for
DisplayPort connectors to align with the DRM upstream changes.

Change-Id: Id942c8ef16ae773540c4bc7221e0b784354a527c
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-02-10 11:34:43 -08:00
Tatenda Chipeperekwa
3b1a8807fd disp: msm: dp: use sde_drm.h shared header from techpack path
Update sde_drm.h header to use the display techpack path for
kernel-5.4.

Change-Id: I2b7dcbbde8128eece7a2a8a652f9f7c427b38110
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-02-10 11:34:28 -08:00
Tatenda Chipeperekwa
27ec789570 disp: msm: dp: fix widebus-enable setting for dp
Fix and decouple widebus-enable flag from dsc_en for dp.

Change-Id: I2d31bc367f007d4c918babc1c051492544bbb05c
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-02-10 11:32:07 -08:00
Tatenda Chipeperekwa
6f0828d9a7 disp: msm: dp: update mode validation logic for widebus
Update the mode validation logic by halving the mode clock
when widebus is enabled.

Change-Id: I8f060d8b60403aa5020496983bec0b3e2878b08b
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-02-10 11:31:50 -08:00
Tatenda Chipeperekwa
dbe4ebc8fd disp: msm: dp: skip edid reading for mst branch
When DP is working in MST mode, reading native EDID from MST
branch is not a valid operation.

Change-Id: I297d2b25b2c3166d68ef3eba941ca787d8bce8d3
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-02-10 11:31:07 -08:00
Abhinav Kumar
27844b7b60 disp: msm: dp: remove usage of compression ratio enum from DP driver
As overall display driver is moving away from hard-coded compression
ratios, prepare the DP driver for the same by removing the usage of
the compression ratio enum.

Change-Id: I298db7d20baed8afec9f96dff8c7e950702bfec9
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-01-29 13:46:46 -08:00
Abhijit Kulkarni
acb8d98e66 disp: msm: use upstream dsc config data
This change enforces dp, dsi and the sde drivers to use the
drm framework defined dsc_config data structure. As a part of this,
it introduces the sde_dsc_helper API to configure the dsc params
and creating a PPS command. Earlier each driver implemented it's
private versions leading to duplication of code. Additionaly the
helper api supports DSC spec 1.2 422 and 420 mode.

Change-Id: I25933fab08cdabbc6787079926885d1a78945e97
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-01-22 12:33:24 -08:00