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>
Make fscrypt set dun_bytes to only what it actually needs, so that it
can make use of inline crypto hardware in more cases.
Bug: 144046242
Bug: 153512828
Change-Id: I36f90ea6b64ef51a9d58ffb069d2cba74965c239
Signed-off-by: Eric Biggers <ebiggers@google.com>
Make dm-default-key set dun_bytes to only what it actually needs, so
that it can make use of inline crypto hardware in more cases.
Bug: 144046242
Bug: 153512828
Change-Id: I338e6444e71be9c7c16ce70172d14a8e05301023
Signed-off-by: Eric Biggers <ebiggers@google.com>
Backport a fix from the v7 inline crypto patchset which ensures that the
block layer knows the number of DUN bytes the inline encryption hardware
supports, so that hardware isn't used when it shouldn't be.
(This unfortunately means introducing some increasing long argument
lists; this was all already fixed up in later versions of the patchset.)
To avoid breaking the KMI for drivers, don't add a dun_bytes argument to
keyslot_manager_create() but rather allow drivers to call
keyslot_manager_set_max_dun_bytes() to override the default. Also,
don't add dun_bytes as a new field in 'struct blk_crypto_key' but rather
pack it into the existing 'hash' field which is for block layer use.
Bug: 144046242
Bug: 153512828
Change-Id: I285f36557fb3eafc5f2f64727ef1740938b59dd7
Signed-off-by: Eric Biggers <ebiggers@google.com>
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>