The target platforms use PM_SUSPEND_TO_IDLE as its default
suspend target. Since syscore_ops's suspend/resume callbacks
are not called in this path, the IPCC driver will never be
able to log the client's details that caused the wakeup in
it's resume handler. Hence, move the suspend/resume handlers
to dev_pm_ops for better visibility.
Change-Id: I095f02217aeea5ed7c5036017a7e960e2b98757a
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
In PM suspend of WCN6750, host send WOW Enable to FW
and FW allows target to go to low power mode along
with PCIe link. In Host DP, even after sending WOW
enable it tries to access target for flushing pending
transactions. This will cause NOC error as link is
down.
Send enter power save mode to FW after driver suspend
returns successfully to platform driver and all pending
transactions are flushed. FW will go to low power mode
only after receiveing enter power save mode QMI.
Change-Id: I5dfb257fe3db4dc453bae456c40d19f841e3c5c8
Signed-off-by: Naman Padhiar <npadhiar@codeaurora.org>
Add support for QMI beamer ADC and RF sensors to apps.
It enables these sensors as thermal zone sensors so
that we can read and set trip thresholds via
thermal zone.
Change-Id: I0f56e59a319d0d6ea5b18cadc5eb675a62c485e1
Signed-off-by: Gopala Krishna Nuthaki <gnuthaki@codeaurora.org>
Add QMI beamer ADC sensors and RF sensors to qmi sensor
driver. It enables thermal framework can configure thermal zone
and monitor these sensors from apps side.
Change-Id: I217707a3ec90971cb7085a67a34fd92812c3c75c
Signed-off-by: Gopala Krishna Nuthaki <gnuthaki@codeaurora.org>
In a condition where there is no room in the drawcontext queue and the
context is invalidated while sleeping in wait_event_interruptible_timeout,
we are now polling for room after wake up. This would lead to infinite
looping.
Hence, do not wait for room in context queue if context is invalidated.
Change-Id: I12c80e71630da2f3316838bee37f13cfa3b8e7d9
Signed-off-by: Harshitha Sai Neelati <hsaine@codeaurora.org>
When active_panel is not available because of drm driver's probe
deferral, suppress printing error logs.
Change-Id: I210ff1ef79e468fef12b296c552e9611c2e888a8
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Current code has 4MB of memory being donated to the User process
in DSP for both Signed and Unsigned process. Unsigned process has
extra static heap which requires more memory. Donate 5MB of DMA
memory for creating Unsigned process.
Change-Id: Ib1f75580d9ec61d416a0c268880395e1f3ab10fb
Signed-off-by: Himateja Reddy <hmreddy@codeaurora.org>
The "invalid cmdobj" message printed from kgsl_drawobj.c had a nnumber of
formatting errors. Make the GPU address hex per convention and make sure
that the offset and size print as unsigned values.
Change-Id: Ic0dedbada14dc64c0234d32a37408a71cb4ba029
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
When grabbing the snapshot don't complain if we can't find an IB at
address 0x0000000000000000. Obviously such a thing doesn't exist so
don't even bother trying.
Change-Id: Ic0dedbadde29e16185f7a7d3e4d3b1d620697d3a
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Depending on user input the size of the page struct that we try to
allocate with kvcalloc() could be way too big. Add __GFP_NOWARN and
__GFP_NORETRY to keep from invoking the OOM killer in these cases.
Also remove an unneeded usage of kvmalloc() since the maximum allocation
size for the HFI command will only be 1k as enforced on the previous
line.
Change-Id: Ic0dedbad8d09544bdc0070b9b797616ee1f672d4
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Kernel global GPU memory usually lasts for the life of the driver. It
doesn't make any sense to take them out of the KGSL pool since they will
never be recycled. Add a flag to allocate 4k pages from system memory
and use them by default for global objects.
Change-Id: Ic0dedbadd0ff1f558d5f9711ec9843451593aee4
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Before putting a page back in the pool be sure that it doesn't have
any additional references that would be a signal that somebody else
is looking at the page and that it would be a bad idea to keep it
around and run the risk of accidentally handing it to a different
process.
Change-Id: Ic0dedbad0cf2ffb34b76ad23e393c5a911114b82
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
In handler_isr for console uart cases using warn_on for debugging
issues will further lead into the spinlock recursion where the
interrupt routine holds the spinlock and will try to print log
which again needs to acquire the spinlock.
To resolve this recursion issue replaced the warn_on with IPC logs
for console uart.
Change-Id: I6a0a10ff8c14a8ad6c74652f6d4e6e66ffcee13b
Signed-off-by: Venkata Manasa Kakarla<venkka@codeaurora.org>
Moved to static memory allocation for perf_events
Change-Id: I2041695a83465ffb1d3e8ebbfe6abf6f2ea39f87
Signed-off-by: richagar <richagar@codeaurora.org>
In the case where the xhci_suspend failed because the
controller is not halted within the delay, we see that
the xhc interrupts are not acked and is leading to
a storm of unwanted dwc3_interrupt calls.
Fix this by setting the HCD_FLAG_HW_ACCESSIBLE so that
the interrupts are acked by the xhci_irq.
Once the suspend failure happens, the device does not
respond to any new device connect/disconnect.
So, fix this by restarting the host stack by notifying
the hc_died to the dwc3 glue driver.
Change-Id: Ie383d5eacca428b123c1a071a304df54e087c42e
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
Commit ("f068090426 xhci: Fix leaking USB3 shared_hcd
at xhci removal") sets xhci_shared_hcd to NULL without
stopping xhci host. This results into a race condition
where shared_hcd (super speed roothub) related interrupts
are being handled with xhci_irq happens when the
xhci_plat_remove is called and shared_hcd is set to NULL.
Fix this by setting the shared_hcd to NULL only after the
controller is halted and no interrupts are generated.
Change-Id: I2c7e460c171eacbf26d0bf7185d563ddb9efb504
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
Command reset handshake is currently perfomed with local irq
disabled and spinlock held for 10 sec timeout. In this case xHC
becomes unresponsive and results into watchdog bark.
Hence reduce timeout value from 10 sec to 1 sec to initiate
recovery faster.
Change-Id: I9c6682c3f31386033b258d7d4c104f775ec37f1d
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>