TX FSM reset command generates TX_RESET_DONE & TX_DMA_DONE interrupt bits.
Upon receiving TX_DMA_DONE we initiate new TX transfer for the pending
bytes present in tty uart circular buffer. That leaves TX sequencer active
after reset sequence. That can result into all kinds of SMMU crash where
client initiates new TX DMA transfer without knowing that we have already
a transfer queued. This is unexpected behaviour because we expect TX
sequencer and DMA engine to go IDLE after reset.
To fix above scenario, don't handle TX_DMA_DONE upon reciving
TX_RESET_DONE.
Also, add IPC logs to get_mctrl function to get the IOS status.
Change-Id: Ib76750b5e2c6ec5bf993c341c258791e471672d2
Signed-off-by: Akash Asthana <akashast@codeaurora.org>
Some customers are using UART node in UFFI for console and using
the same node for HSUART in kernel but not as console. In this
scenario there is a possibility for null pointer access
with handle_rx while trying to stop secondary sequencer.
This change will move handle_rx initialization from port_startup to
probe function. This will help to avoid null pointer access issues.
Change-Id: Ibda592b375d14ba0c23c4b99223006b1fa53c211
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Signed-off-by: Akash Asthana <akashast@codeaurora.org>
preempt/irq disable events tracks and prints 4 callers (3 actual callers
and current trace event caller), who disables irqs and preemption for
longer duration. It may not be sufficient for all scenarios, so extend
these events to track 5 callers and exclude current trace event caller.
Change-Id: I464dd738a78d3a89fea62fcf4aaee9897bb03c37
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
Add Trusted touch support to lahaina MTP
Touchscreen driver. This feature enables driver to
operate in trusted touch mode in trusted virtual machine(TVM).
The primary virtual machine(PVM) lends resources such
as IO memory and touch irq to TVM prior to trusted touch
is initiated and reclaims those resources back after trusted
touch usecase finishes.The resource requirements of TVM
such as clock, regulators etc are taken care by PVM.
Change-Id: I584fa3c96796b8a34f1948847e83aac7ce913d94
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Upstream commit aa8b37baac ("FROMLIST: sched/fair: Use wake_q
length as a hint for wake_wide") that is being carried in msm-5.4
kernel caused CRC checks failures when GKI boot image is used for
verification as the commit adds extra argument to select_task_rq().
Fix this issue by wrapping extra argument under CONFIG_SCHED_WALT.
Change-Id: Ie41a36a334efbcd2030f7c3caee31883ee84718e
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Log packets processed by ns using ipc logging framework.
Change-Id: I08e9b8551efb4a58cf899835cfac25c1952bd4b8
Signed-off-by: Jay Jayanna <jayanna@codeaurora.org>
When del client and bye command packets are sent out, if there
is an error in sending, continue with the loop to send to the
rest of the clients. The current implementation bails out when
the send fails. This is causing dropping of these packets to
the rest of the clients.
Change-Id: If9111216061e64ba1777590edba128b011625250
Signed-off-by: Jay Jayanna <jayanna@codeaurora.org>
Added entries are bus_speed_mode, clk_status and
err_count.
Change-Id: I459c75048d737651d977f5a5c6aa5dd84553156c
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
When adreno_reset fails, BUG_ON gets triggered to collect ram dump.
Do not clear dispatcher fault bits in such case to get correct fault
information from ram dump. Clear dispatcher fault when adreno_reset
returns success.
Change-Id: I6f54d48201d5e4ea5e3358b18d2f09ec7b285624
Signed-off-by: Pankaj Gupta <gpankaj@codeaurora.org>
Add clk_list_rates debugfs support for divider clocks to get all
the rates supported on divider clock.
Change-Id: Iebb18cfad4fded9a2704549a2b6429e06c2de36c
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
msm_geni_serial: Use the common driver API for dma_alloc
msm: msm-geni-se: Make DFS clock table specific to SE of QUP
serial: msm_geni_serial: Don't depend on clock freq table to set baud
rate
msm-geni-serial: Correct the interrupt polling logic in uart
serial: msm_geni_serial: Improve IPC logging in UART driver
serial: msm_geni_serial: drop port->lock before tty_flip_buffer_push()
call
serial: msm_geni_serial: No need to stop_tx/rx on UART shutdown
serial: msm_geni_serial: Do not check_transfers_inflight() post
port_close
serial: msm_geni_serial: Enable IRQ from port startup
serial: msm_geni_serial: Fix geni_wait_for_cmd_done timeouts
serial: msm_geni_serial: Do not drop port->lock in polling mode
Also, fix stackoverflow issue seen after propagating above changes.
Console TX is getting stuck in recursive call and leading to
stackoverflow issue.
Steps that leads to bad recursion call:
1) msm_geni_serial_handle_tx calls for stop_tx if all the data are sent and
acknowledged.
2) stop_tx issue cancel command if the main sequencer is still
active.
3) As part of cancel command execution msm_geni_serial_handle_tx is called
again that takes us to step 1 and goes in a loop.
To fix above scenario remove the stop_tx call from geni_serial_handle_tx
because if the data is transmited and acknowledged main sequencer should
automatically go to inactive state.
Ideally we should never enter into this situation the first place because
after receiving CMD_DONE we expect that sequencer will go IDLE/inactive.
So, probably this can be a race btw updation of CMD_DONE and GENI_STATUS
register because after adding some more IPC logs in the above code path we
are not hitting this issue. It might be adding required delay.
Change-Id: I85cfe87170ea347c4b8d98c858cc762da413624f
Signed-off-by: Prudhvi Yarlagadda <pyarlaga@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Signed-off-by: Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
Signed-off-by: Akash Asthana <akashast@codeaurora.org>
HOLI requires the SMD-RPM clocks for the clocks dependent on RPM.
Change-Id: I69309227b99b2ff49542b9d3a355490aa1d6702c
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Add support for RPM-SMD and PMIC clocks for HOLI which are required for
the clients to enable/disable.
Change-Id: Ic00f84760f2bc2c4ec4521a4b5abebb5788127ca
Signed-off-by: Taniya Das <tdas@codeaurora.org>
The ufs_reset pin is expected to be wired to the reset pin of the
primary UFS memory but is pretty much just a general purpose output pin.
Reorder the pins and expose it as gpio 156, so that the UFS driver can
toggle it.
Change-Id: I566196bd2ab6629c2761b47ed844022cf9ffb458
Signed-off-by: Nitin Rawat <nitirawa@codeaurora.org>
Upon driver unbind usb_free_all_descriptors() function frees all
speed descriptor pointers without setting them to NULL. In case
gadget speed changes (i.e from super speed plus to super speed)
after driver unbind only upto super speed descriptor pointers get
populated. Super speed plus desc still holds the stale (already
freed) pointer. As a result next composition switch results into
double free of super speed plus descriptor. Fix this issue by
setting all descriptor pointers to NULL after freeing them in
usb_free_all_descriptors(). Also clean up gsi_unbind() which is
setting up descriptor pointers to NULL already.
Change-Id: I4f28294c165bb3b5dc9feb4f22d819f527ad4d50
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Currently USB top and bottom half are using same index to update
number of events posted/handled, and updating relevant time. As
top half is not guaranteed to be prevented when bottom half is
running those index based logging doesn't allow to relate information.
Also start logging bh_start_time and increase existing buffer size
from 10 to 25 to get more data of USB interrupt processing.
Also get count how many cancelled requqest being given back from
bottom half context, and log any update/start cmd failure.
Change-Id: Iefc883cb5a2259f256f30c9727db8a68ddd41af7
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Enable CONFIG_MSM_DEBUG_CC_LAHAINA to support measuring clock
frequencies on perf builds.
Change-Id: I1671c5e0b8904fa7e131ae02add516c737ec145a
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
This change is for general scheduler improvements.
Change-Id: Ica36bb6ccd4c2d8897dab62614eadb5a060d5390
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
This change is for general scheduler improvements.
Change-Id: I3a220142f08a9664845b4d0e9918ec7c48bb11f7
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>