The Bazel WORKSPACE file in build/kernel/kleaf is not
sufficient for our usecase. We must add a nested
workspace for host DTC build.
Add the custom workspace file here so we can link it
to the top-level via repo manifest.
Change-Id: Ic260a335bae0bc43ba8b0ec482588c68e62c2a80
Signed-off-by: John Moon <quic_johmoo@quicinc.com>
IPC logging and IRQ naming depend on the name variable in the glink
data structure. Add device tree name reading code that was removed
by upstream.
Change-Id: Id1c521d94b8a3c9557273d8f8b072e7e87a1b759
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Add pr_fmt to the ns file for easier error log matching.
Change-Id: I711735ee60c1fd9fde25850b8e625bb44c04f4c4
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Ignore the ENODEV failures returned by kernel_sendmsg(). These errors
mean either the local port has closed or the remote has gone down.
Neither of these scenarios are fatal and will eventually be handled
through packets that are later queued on the control port.
Also improve the logging messages to print the error code returned by
kernel_sendmsg().
Change-Id: Ibcebd1f44a3fbc87febaa84b11e05675663da5a0
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Increase the socket recvbuf for the ns so control packets are not
dropped in heavy traffic situations. This change will not
actually set the recvbuf to INT_MAX but to the system defined rmem_max
for sockets.
Change-Id: I860cc1052080cc6e683b44bef1dd9f8fc1899f31
Signed-off-by: Jay Jayanna <jayanna@codeaurora.org>
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
If worker is not processing packets on control port fast enough,
socket buffer may get full and result in drop of control packets.
Creating dedicated worker thread to process control packets.
CRs-Fixed: 2763561
Change-Id: I4585015cef2a507a9ba13014cd93f40e60f8a25a
Signed-off-by: Deepak Kumar Singh <deesin@codeaurora.org>
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
By enabling this flag init_boot.img will be generated if
the header version is 4.
Change-Id: I8a01d10cee8142ef900376d7e3d29f1b49e80d00
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
Adding Bootconfig to kernel command line to support
the version change.
Change-Id: I24b667e494e5bbf14397f16d9ef7219634f3f17b
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
Before call swiotlb_init_io_tlb_mem, should allocate memory
for areas firstly.
Change-Id: Ib121040817cbae4a44f06ae62fe4b0e0fa27c796
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Currently this macro is defined in internal MHI header as
a TRE length mask. Moving it to external header allows MHI
client drivers to set this upper bound for the transmit
buffer size.
Change-Id: I24c7bce37cb8f103c1436201d825bec4a36eb122
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Lazarus Motha <quic_lmotha@quicinc.com>
This allows controller to keep the memory allocated for bhi
vector table for rddm and fbc images. Memory remains allocated
after controller powers down and is freed when the controller
unregisters with MHI. Add a controller flag to make the
decision for memory allocation.
Change-Id: I974e44d3b927da1003e232455067c50fdf6fb42b
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Signed-off-by: Lazarus Motha <quic_lmotha@quicinc.com>
Adding Bootconfig to kernel command line to support
the version change.
Change-Id: I61564df16f2b6b9b13aea20a4ed6efb00fe4990b
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
By enabling this flag init_boot.img will be generated if
the header version is 4.
Change-Id: If0a15f4e68bcc48e19a50e041a565b7b57ce458b
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
SW event ring elements are added and doorbells are rung during
ready state transition from host. HW event ring elements are
added and doorbells are rung in mission mode transition. All
event ring doorbells are rung in M0 state change transition.
Move this common code to a helper API mhi_setup_event_rings().
Pass a boolean for adding event ring elements. When this flag
is false, only ring doorbells for all event rings and do not
populate the event rings.
Change-Id: Ib201007179c2cb772decb2456d3510602ea63fd6
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Lazarus Motha <quic_lmotha@quicinc.com>
Default processing priority for an event ring is set to schedule
a regular priority tasklet. In order to distinguish going forward
and provide support for scheduling a high priority tasklet or any
further requirements that may come up, introduce support for
different event ring priorities.
Change-Id: I53325bc141269832444ba28a4941c050ceebe394
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Lazarus Motha <quic_lmotha@quicinc.com>
In case firmware request fails to find firmware at the default
location, re-try once with a fallback location. This is done by
adding fallback firmware image location in controller structure
and firmware request is sent again using fallback location.
Send a status call back to controller when re-try is done to
notify them as some features may not be available.
Change-Id: I6c832c121e7bfaf798c06d0341541a2677653fd0
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Signed-off-by: Lazarus Motha <quic_lmotha@quicinc.com>
Do not allow clearing the channel context twice from
mhi_driver_remove(), if already done before disable transition is
initiated. This prevents kernel warnings such as "trying to free
invalid coherent area" from occurring.
Change-Id: I85dec0557a287c9207b56d2b2243d53b6a40ff1c
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Signed-off-by: Lazarus Motha <quic_lmotha@quicinc.com>
sched_trace_rd_span is removed upstream. Restore the function locally.
Change-Id: I066be161e1da49b11de10f034e8f46a4c1510391
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
sched_switch tracehook has been changed upstream. Update functions
registered with tracehook accordingly.
Change-Id: Ifba53f905634b476c60a8c69cfd87c6ad0c9cff7
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
group_first_cpu() is removed upstream. Expand the function in all the
places that it is used.
Change-Id: I04f4f9e2b37fca897ee45165b1976e1bec83f5bd
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
The rq_relock() function is removed upstream. Replace all instances of it
by expanding the function.
Change-Id: I7b99d46d552695ae0afdf75f3a6033b80376fe01
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
Replace HK_FLAG_TIMER with HK_TYPE_TIMER because HK_FLAG_TIMER is
removed upstream.
Change-Id: I6432556b6148030c8c6621cd0790d8906e0c94ec
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
Due to reorganization of sched header files upstream, include missing
header files.
Change-Id: Iab3cda49a71b6a0f3f98194f975031716df47736
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
The Android Common Kernel has updated the enqueue,dequeue tracehooks.
Update the tracehooks accordingly.
Change-Id: Idb2efdb2f70288721c9100850e9cb344328a2c42
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
The Android Common Kernel has replaced the irq accounting tracehook.
Update the tracehook accordingly.
Change-Id: I4d0d2e7a4d5a6d567ac2c1edaae4d050b1c82ac0
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
Due to reorganization of tracehooks upstream, topology.h does not exist
anymore. Remove the associated header.
Change-Id: Ib4c7e630dfbefd6965524f91101784a57327af39
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
struct task_struct does not contain a member to store task cpu
information anymore. Instead, use task_thread_info() to obtain that
information.
Change-Id: I8fc9ef4ebf11f6fccd6ecbe68d768ac48d2928c5
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
Add a tracepoint to the whitelist to be used in the UBWC-P heap.
Change-Id: I333c00519101b45840a32f340824450ebc385d28
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
Move sys heap allocation code into the system_qcom_sg_buffer_alloc()
function to allow core allocation code to be used from other modules.
Additionally, move the allocation of the struct qcom_sg_buffer
out of system_qcom_sg_buffer_alloc(), so that other modules can
allocate their own buffer structs with qcom_sg_buffer as an embedded
member.
Each other module will then have dmabuf->priv pointing to the
qcom_sg_buffer member of their custom buffer struct. This is needed
to allow the qcom_sg_ops.c functions to continue working as is.
Change-Id: Id11ca188163e5c3ceba28852c2cfe8f0acde4591
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
Add the declarations needed for the DMA-BUF heap driver to call into
the UBWC-P driver.
Change-Id: Id1bb19410025b858a2154eae39ac0c28e4d6235c
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
When lookup fails, print the service path along with the
service name since the service name might not be unique.
Change-Id: I614d6c0a8d6cb8a83b47795315811fbf47bb6e48
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
When a del client message is received from remote, the corresponding
server port is deleted. And then, a del server message is announced
for this server. As part of handling this message, ns will try to
delete this server port again and returns a -ENOENT error. Return
value from server_del is returned back to qrtr_ns_worker and any
non-zero value is printed to the serial port. This is flooding the
serial port display. Returinng 0 in this case as this is not an error.
Change-Id: Icd2594875f55313baa6e3313b6aa0c62facc5b2d
Signed-off-by: Jay Jayanna <jayanna@codeaurora.org>
Signed-off-by: Chris Lew <quic_clew@quicinc.com>