Add the symbols qcom_scm_dcvs_reset, qcom_scm_io_reset,
qcom_scm_dcvs_init_ca_v2, qcom_scm_dcvs_ca_available, and
qcom_scm_dcvs_init_v2 to the whitelist and update the
ABI snapshot.
Change-Id: I3049cecbc4256c47050a91125f359993ee1af96b
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Add support for VIDEOCC clock driver for SHIMA, which provides clock
control for the video subsystem.
Change-Id: Iae314b9b1a9e959f027e6a03bc42274418c0c106
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
The remote subsystem acknowledges all Altmode PMIC GLINK messages sent
to it. Print an error message anytime it fails to do this.
In the case when no client is found for a received message, do the
sending of the ack in a separate worker thread instead of a plain
function call to altmode_send_ack(). This is to avoid a deadlock and
consequent timing out in altmode_write(), which will happen in the
following scenario:
- A message is received for a nonexistent client.
- altmode_send_ack() is called from within altmode_callback().
- The PAN ACK is sent to the remote subsystem via pmic_glink_write() in
altmode_write() and the remote subsystem replies with an ACK (opcode
USBC_CMD_WRITE_REQ).
- Subsequently, in altmode_write() we wait for completion timeout, which
will happen only if this new ACK message is processed by PMIC GLINK.
- PMIC GLINK is waiting for altmode_callback() to return so that it can
process the new message.
- We are still waiting in altmode_callback() for altmode_send_ack() to
complete.
- We time out in altmode_write() waiting for the completion to occur.
This problem is solved by firing off a worker thread to send the PAN ACK
so that altmode_callback() can exit quickly and allow the incoming new
ACK to hit the complete() in the USBC_CMD_WRITE_REQ case in
altmode_callback().
Also add a couple of minor fixes to some debug messages while we're at
it.
Change-Id: I3d80b1a7d6cc03b0eba61b5c9cc660ce7d377942
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
Add debugfs nodes to send Pin Assignment Notifications Enable (PAN EN)
and Acknowledgment (ACK) commands manually if needed, to aid in
debugging situations where it is unclear whether clients are sending
these commands synchronously as per design.
Change-Id: I7a68d676df86cbf6952158202c8e4958db032d5b
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
Remove the device tree property "qcom,altmode-name" and the logic it
feeds as it was meant to help in the cases when there are multiple
altmode devices. Since there is going to be only one altmode device as
per design, this is no longer needed.
Change-Id: Ife15e39becee5f4ff03bdcc56ff62ae812fe2726
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
Client API changes:
- Update client APIs to align them more closely with upstream
conventions.
- In particular, change the link between altmode device and client from
the altmode device's name string to a phandle to the altmode device
followed by the port index of the client.
- Instead of using solely the client's SVID as the key for idr_alloc,
include port_index as well because the unique identifier of a client
is the (SVID, port_index) tuple.
Updates to client notifying mechanism:
- Get rid of the standard notifier APIs in favour of a simpler callback
function-based mechanism to notify clients of probe completion.
- In addition, if clients probe after altmode finishes probing, they
will not get notified of probe completion as this is done only once at
the end of altmode_probe(). Fix this so that if a client registers for
probe completion notifications after altmode probes, they get notified
immediately.
While at it, get rid of the global list of altmode devices (amdev_list)
as there will only be a single altmode device in the system as per
design.
Change-Id: Iea450d30d9cc94671f505b7ff0c6e98b0b8a4467
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
Add the symbol, drm_dp_check_act_status, to the qcom whitelist
and update the ABI snapshot accordingly.
Change-Id: I239fafdd2d57b0600a130b7610777da8a5874afe
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
The memory allocated for the lookup table (LUT) is getting cleared even
when a valid nvmem and PBS configuration is detected. Fix this by
ensuring that this happens only when neither a LUT peripheral's address
nor a valid nvmem configuration is detected.
Fixes: 218908e848 ("pwm: pwm-qti-lpg: Refactor qpnp_lpg_parse_dt() for
readability").
Change-Id: I59467d46779e0a01bf0843863680ec2a8f85f2ce
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
Reject idle restart request if it fails to acquire driver ops lock to
avoid deadlock inside WLAN driver. E.g. Driver remove from unregister
driver request will be blocked if idle restart request is pending.
Change-Id: I5825e02961117eaaea4202812a5d2d7140799e19
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Signed-off-by: Manikandan Mohan <manikand@codeaurora.org>
Since idle restart is a multiple stages power up sequence, there will be
race conditions when idle restart and unregister driver (which is power
down sequence) come at the same time. Add mutex protection for them so
that they can be serialized completely.
Change-Id: Icc28b5f759cd690cb505b16ab70eaa4abaf2e4cc
Signed-off-by: Yue Ma <yuem@codeaurora.org>
WLAN driver unload should happen only when it has been probed
successfully. So, In driver unload path wait for driver probe
to be completed or timed out if it is already in progress.
Change-Id: I3359a4286fc36aa9b2abc95c7af3ca2b6dc3a980
Signed-off-by: Sandeep Singh <sandsing@codeaurora.org>
Update pinctrl configuration for Shima, to match the
latest configuration.
Change-Id: I51de7968fd816ade7acc8857d09333d0bf4c1e94
Signed-off-by: Chandra Sai Chidipudi <cchidipu@codeaurora.org>
Set transaction timeout according to configuration for dcc linklist
while enabling dcc hw.
Change-Id: I94b60973f719c6330c039d1dc920e5bf8ecd4561
Signed-off-by: Tao,Zhang <taozha@codeaurora.org>
Added RTIC environmental variable check. If set, this will trigger
RTIC MPGen during the kernel build. MPGen generates and embeds the
kernel MP.s (measurement parameters) to the vmlinux. It has to be
called during the kernel build, before vmlinux is generated.
RTIC MP.s to be consumed by the RTIC TA.
Change-Id: I035ea2580bef891e0a8c50c3992ecdfd48cc0a62
Signed-off-by: Preeti Nagar <pnagar@codeaurora.org>
As TZ expects an argument for the sec_wdog_scm call, send 1 aergument
while making the scm call.
Change-Id: Ic24271cc08c007046c22a4a5a42b598e7f338306
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
Wrapped keys can have key sizes of variable length.
Pass in the wrapped key size sent from userspace instead
of using a fixed value from the cipher when calling into
blk-crypto.
Bug: 156230001
Test: Validated metadata encryption with wrappedkey_v0 when /data
is mounted on a dm device.
fstab: metadata_encryption=aes-256-xts:wrappedkey_v0
Git-repo: https://android.googlesource.com/kernel/common/
Change-Id: I9c8bfff71eaf783427270766c419feceefb6be2d
Signed-off-by: Gaurav Kashyap <gaurkash@codeaurora.org>
Specifying the name of the nvmem device while registering it with the
nvmem framework has the side effect of causing the second instance of a
device using this driver to fail probe with the following error message:
sysfs: cannot create duplicate filename '/bus/nvmem/devices/spmi_sdam'
Removing the name allows the nvmem framework to assign a monotonically
increasing integer id to each instance of this driver automatically,
like so:
/sys/bus/nvmem/devices # ls
nvmem0 nvmem1 nvmem2
Change-Id: I15acfad796babc4019cb0e6aa5ac4b880ce10f3e
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>