DP driver uses altmode glink interface whereas USB driver uses
UCSI interface for getting PPM based DP and USB related notification.
PPM based notification can come in different order specifically when
PPM is being restarted with SSR. With PPM SSR (here ADSP SSR) DP driver
is getting disconnect notification but USB driver won't be getting
disconnect notification. Once ADSP SSR is being completed, DP does go
through re-initialization and it does need USB DP combo PHY as
concurrent mode (2 lane USB and 2 lane DP usage). Current code goes
ahead disabling USB host mode with DP not connected notification.
In some case DP notification is coming after ADSP SSR is being completed
but before USB notification has gone through. This results into DP
initiailzation failure (aux timeout) due to USB host mode not started
configuring USB DP combo PHY into concurrent mode.
Consider case: USB DP concurrent mode usage with connecting MPA and
performing ADSP SSR
a. USB and DP are initialized (concurrent mode)
b. ADSP SSR is being performed
c. USB gets usb role as UFP/host mode
d. DP notifies as DP not connected
e. DP notified as 2 lane usage
Current code tears down USB host mode functionality with DP not connected
notification. If above step c notification comes after step d, then step e
based functionality goes through as USB host mode is active. Due to
asynchronous nature of notification, usage of multiple interfaces (altmode
link and UCSI) and ADSP doesn't notify USB disconnect with SSR (due to USB
audio use case requirement) whereas notify disconnect with DP. It is needed
to use refcounting mechnism to decide when to tear down USB host session to
allow sharing of USB DP combo PHY. This change adds ref count usage to
address above issue.
Change-Id: I0ea80611e52c1e45fed50cde61741f7a9aedd87d
Signed-off-by: Mayank Rana <quic_mrana@quicinc.com>
Pass only mhi_dev as an argument to this API, to eliminate compiler
error, "too many arguments to function call, expected
single argument".
Change-Id: I20e3fef30c8368f9a12e98e1458a724f073c4f1b
Signed-off-by: Lazarus Motha <quic_lmotha@quicinc.com>
Add error prints around qrtr endpoint registration fails. Adjust the
prints so more information error information is available during early
bootup.
Change-Id: I0cf41144c6b4e8d8de0c91914e46155bbe54c6c5
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Default linear mapping no longer works due to non-linear
policy-to-clk_domain index mapping in new chipsets, add
a new sysfs file hw_clk_domain in sysfs directory policy*
so that test script can capture the correct HW clock
domain index.
Change-Id: Id78df0074e9cb13dd1f748dbab2381a48440e8e9
Signed-off-by: Xubin Bai <quic_xubibai@quicinc.com>
struct kobj_type does not contain the default_attrs member anymore.
Instead create attribute group using the ATTRIBUTE_GROUPS macro and
assign to kobj_type object.
Change-Id: I5d21c816edb13b5020e064f55c3e495002897d4a
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
Remove WALT_NONCRITICAL as it hasn't been useful.
Change-Id: Ia28005c5f980fcb598226b3aae4b21efeac1b526
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
Pause will not be invoked through core control until after
walt has been initialized. However, the walt_pause apis are
made available to other vendor modules, and if those modules
attempt to invoke pause prior to walt being initialized, an
invalid reference to walt_drain_thread will be made.
Prevent the walt_pause and walt_resume apis from being used
until after walt has been properly initialized, walt_halt_init
has been called, and walt_drain_thread properly created.
Change-Id: Iadd764ebfb7402529b49de6ef121d23dfcdc5649
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
Capture the fmax_capacity of the CPU reduced under cpufreq constraints
in the related tracepoint.
Change-Id: I3dc5c54a7a5850b9c5f4df8a40daea593fff023b
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
We're currently using the ABI symbol list from within msm-kernel and is
not version-tracked by ACK. Thus, GKI_SKIP_IF_VERSION_MATCHES may
spuriously pass even if there is a symbol list change. Disable
GKI_SKIP_IF_VERSION_MATCHES for now until we start using symbol list
from ACK.
Change-Id: Ifea662029a193e36c4c6d28bedc167399f4f85ba
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
Add the device information structure for sdx75 along with
its device id, firmware and edl image paths.
Remove the kconfig dependency on the esoc driver.
Change-Id: Iea7b3e82f274804d781bdbc333b36c64784eef33
Signed-off-by: Prudhvi Yarlagadda <quic_pyarlaga@quicinc.com>
Add one clk_measure node to support CPU Gold2 cluster for
Pineapple.
Change-Id: I2b7d3f4fa249b1496fe6104edcd54b030e2a7e8e
Signed-off-by: Xubin Bai <quic_xubibai@quicinc.com>
Enable u1u2 functionality in USB device mode when USB is operating
in super speed (gen1 speed).
Change-Id: I14056274b68c3ed395ee3673312606ded68afcd6
Signed-off-by: Mayank Rana <quic_mrana@quicinc.com>
eUSB2 repeater is unable to block KJKJ pulse during ESE1. This is
resulting into eUSB2 PHY and repeater going out of sync and next
link up in high speed fails. Fix this issue by performing soft
reset of eUSB2 PHY.
Change-Id: I9913fe4cab03b344dea0525f7a72282cd743a915
Signed-off-by: Mayank Rana <quic_mrana@quicinc.com>
Allow clients to see what IPA address a mem_buf object is
mapped to.
Change-Id: Ib3d47cb78bf7b1b217950e1e59b8d542abb3a331
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
When a kernel thread calls dma_buf_put() to release the last reference
to a dma-buf, fput_many() defers calling the release callback to a
workqueue. This means that if the same kernel thread later calls
dma_heap_buffer_alloc(), it has no guarantee that the memory from the
prior free is available, leading to random failures. As a short-term
workaround, call flush_delayed_fput() to ensure the free completes
synchronously.
Change-Id: Ia2ab97ca9d1adfb99cd20a316d412bf931f7b3f0
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
Add flushed_delayed_fput for usage by mem-buf.
Change-Id: I16b06de8b4b87f8e4d391229c6b13181c7be9bd9
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
When below sequence is run back-to-back, -ENOMEM is occasionally returned
by MEM_BUF_IOC_REMOTE_ALLOC.
ioctl(MEM_BUF_IOC_REMOTE_ALLOC, args)
fd = args.fd
close(fd)
This occurs because the message sent from TUIVM to PVM as part of the
file release callback is asynchonous. Resolve this by adding a new
message type which indicates when PVM has completed the free operation.
Additionally, define a separate obj_id instead of reusing the transaction
id for this purpose.
Change-Id: Iea458ec80cd14bd08848192371d0bb71cdc5de60
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
Reuse the same buffer for each message in mem_buf_msgq_recv_fn()
instead of allocating a new one for each message, and freeing it
in a dozen different locations depending on what type of message it
is.
If a consumer of the message needs to defer its work to a workqueue,
it must allocate a new copy of the message.
Change-Id: Ia5583bc7dc9937211f25624f7a679d34fe8fb521
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
gh_rm_mem_accept allows a VM to request memory to be mapped to a specific
IPA address. Modify function parameters to allow for future use of this
feature.
Change-Id: I6ad586886563e769549e4966369da48c27ca0a5c
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
Allow a guest VM to choose whether the memory it requests is obtained
via the lend, share or donate hypervisor call.
Change-Id: I7e1f25ea0f9b0ec99d4a7afd79f206f9a2b67d85
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
Support to donate memory is always present on compatible hypervisor
builds.
Change-Id: Ic7a4c03716277e379014bb31e58358cffb85409c
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
Enable CONFIG_QCOM_MEM_BUF_MSGQ, CONFIG_QCOM_MEM_BUF_GH and
CONFIG_QCOM_MEM_BUF_DEV_GH to allow mem-buf CPU use cases to be
exercised.
Change-Id: I15bbb098c1ba28924f73b203718203f4dbd6c2bd
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
add_memory_subsection() and remove_memory_subsection() are only needed
on the TVM and OEM VMs. These are downstream functions as well. Thus,
selectively allow them to be enabled so that we only compile them on
downstream kernels.
Change-Id: I8416cd8eb8db74cf8a3cfbc8e3d7ea2fff112353
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>