Enable slimbus drivers for WCN3990 chipset on msmcobalt.
Change-Id: Icc2d037f4312cee62e51ae2ea5c94c8384fa7a79
Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
Fix Bluetooth regulators voltage level to constraint values
from msmcobalt pmic driver.
Change-Id: I26887d1baab9e9dd45c98442fedd5c919dbd7309
Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
Enable blsp1_uart3 for WCN3990 for msmcobalt to use high
speed UART driver for bluetooth HCI interface.
Change-Id: I5c220e4a6225a34b686cbbfdccd0a2329143af86
Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
For WCN3990, it supports slimbus slave interface
to receive/send audio data such as FM audio, bluetooth
SCO, bluetooth A2DP data, etc.
Change-Id: I6c64debd0c9b43ea5ebf55a58f1f4b06cdc9bd4e
Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
On kernel version 4.4, support for wsa881x v1.x can be dropped
as it will not ship with any products using this version.
CRs-fixed: 1008341
Change-Id: I7a8c28602d6c66b876b1e413791850bcaefdea98
Signed-off-by: Stephen Oglesby <soglesby@codeaurora.org>
Since commit 031bc5743f ("mm/debug-pagealloc: make debug-pagealloc
boottime configurable") CONFIG_DEBUG_PAGEALLOC is by default not adding
any page debugging.
This resulted in several unnoticed bugs, e.g.
https://lkml.kernel.org/g/<569F5E29.3090107@de.ibm.com>
or
https://lkml.kernel.org/g/<56A20F30.4050705@de.ibm.com>
as this behaviour change was not even documented in Kconfig.
Let's provide a new Kconfig symbol that allows to change the default
back to enabled, e.g. for debug kernels. This also makes the change
obvious to kernel packagers.
Let's also change the Kconfig description for CONFIG_DEBUG_PAGEALLOC, to
indicate that there are two stages of overhead.
CRs-Fixed: 1006743
Change-Id: I52c36765837cc873877b9398371ffd840d485a81
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: ea6eabb05b26bd3d6f60b29b77a03bc61479fc0f
Git-repo: git://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
Enable various debug features like debugobjects,
sched debugging, page table dump, pid in the contexidr
to aid in debugging kernel crashes.
CRs-Fixed: 1006741
Change-Id: I7b992495fd98b4fdd08ea4b9a933b580d86a0a7d
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
commit 0df0dc1c3f0f ("drivers: GICv3: Add mb() after the read of the
IAR1_EL1 and other registers") added mb() for ICC_IAR1_EL1,
ICC_PMR_EL1 and ICC_SGI1R_EL1. But, as per the GICv3 requirement,
an "ISB" or other context synchronization operation must precede the
"DSB" to ensure visibility of System register writes.
Change-Id: I519530cb9c7008aacbad1319f9159887f599dc9b
CRs-Fixed: 1004222
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
The current header file supports hdmi and audio interaction
using the exposed APIs. Update the common structures and the
APIs to support display port and hdmi interaction
with audio codec driver.
CRs-Fixed: 1009284
Change-Id: I3962fd0cbc278c403584e767611f11d841e14d4e
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Enable the linux clock driver support for graphics
clocks on MSMHAMSTER.
CRs-Fixed: 1004885
Change-Id: Ic1e8f73cdfde1f20dea19d580ee61605890e89b2
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Add support for controlling the graphics clocks on
MSMHAMSTER.
CRs-Fixed: 1004885
Change-Id: If96d8e7e0cd97cf45c48c6c39236d42659e25ea2
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Use the gfx_stub_vreg node for sourcing the graphics clocks
and GDSC on the RUMI platform. Note that CPR changes are
still required for the graphics rail on the actual target.
CRs-Fixed: 1004885
Change-Id: I4032b87628e55c304b72bf85c6fe54aa6ce421c1
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Enable the linux clock driver support for multimedia
clocks on MSMHAMSTER.
CRs-Fixed: 1004885
Change-Id: I58bb1cbf7e7664617510f908dfc2136227453d65
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Add support for controlling the multimedia clocks on
MSM HAMSTER.
CRs-Fixed: 1004885
Change-Id: Ic995c37ae819ce16668374cecf28fa98e6cf3180
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Enable the linux clock driver support for peripheral
clocks on MSMHAMSTER.
CRs-Fixed: 1004885
Change-Id: I4c51aced5eb2c50759c432873ebcd75b19e1823b
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Add support for controlling the peripheral clocks on
MSM HAMSTER.
CRs-Fixed: 1004885
Change-Id: If77ad3d662fbba145374abe38ea14a1a6e540fee
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Update the FMAXes for some camera clocks to align with
their supported frequencies.
CRs-Fixed: 1007250
Change-Id: I5691c34376f54845cbd288bb824d67fb1b8e4bbc
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Add arch_msmhamster and pintrl_msmhamster in defconfig.
CRs-Fixed: 1009230
Change-Id: I567ff2f25bea95481c6d0dbf7c42932ea42419cd
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
XPU violation is configured to be fatal by default through TZ.
Remove this driver since it is not needed any more.
CRs-Fixed: 1008594
Change-Id: I12a8791afeadf36cdf0f298eccc40a35b1ee1d86
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Add the device tree files necessary to support the MSMHAMSTER SoC.
CRs-Fixed: 1009230
Change-Id: I4370d561af7a34494accf00b4098ffa13c60410b
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
dwc3 core IRQ's depth (disable depth) is going out of sync due to
disabling it from dwc3's state machine when there are multiple
time USB composition switch is being performed before USB cable
connect. Linux IRQ framework doesn't decrement disable depth
count with enable_irq() when IRQ is enabled previously but it does
increment disable depth every time disable_irq() is called. This
results into dwc3 core IRQ to remain disable causing USB enumeration
failure as unknown device due to USB controller driver is not
seeing any of RESET and CONNECT DONE interrupt although USB controller
has posted those events into event buffer. Fix this issue by
making sure that USB core IRQ is disabled by default, and
enable/disable it from dwc3 suspend/resume only.
Change-Id: I665b15f6b5aca7d63e9ced29ec94b09524ae91be
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
request_irq() for dwc irq is called in dwc3_gadget_start()
when msm-dwc3 is in suspended state because usb cable is not
connected. dwc3 resume happens upon USB connect, it enables
already enabled irq. This result into unbalanced enable irq
warning. Fix this by moving request_irq to dwc3_probe().
CRs-Fixed: 999124
Change-Id: I61ec085778fe43b87de18a84829ea3f5280c451c
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
commit 55b8e041e6 ("sched: take into account of limited CPU min
and max frequencies") has introduced a typedef bug and is fixed
in this change.
CRs-Fixed: 1006303
Change-Id: I6f75d4d0179a79544b4180a3ba155916c861edb5
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Hardware does not require pad bytes in egress packets when uplink
aggregation is not enabled.
CRs-Fixed: 1002396
Change-Id: I86459b7bc18da16b66f6c701ac324f28be8848fa
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Print format %p displays the kernel address while bypassing the
kptr_restrict sysctl settings.
Change the print format for addresses from %p to %pK. If
kptr_restrict is enabled, addresses are printed as zeroes. To view
the actual addresses, disable kptr_restrict by -
echo 0 > /proc/sys/kernel/kptr_restrict
CRs-Fixed: 987054
Change-Id: Icb8ef62c8263ae7b17d6883c0e6a1c93d2156a6a
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Add lineptr interrupt support by making use of INTR_PROG_LINE
register part of the interfaces. This would generate the interrupt
when the configured pixel location in the panel video timing in terms
of video raster structure is reached for the frame. The lineptr can
be updated through the lineptr_value node. Any modification to the value
would take effect immediately for video mode panels.
Write a value from 1 to [line size] to enable interrupts, 0 to disable:
/sys/devices/virtual/graphics/fb0/lineptr_value
To handle interrupt, read from:
/sys/devices/virtual/graphics/fb0/lineptr_event
Change-Id: I33c09b2dcfc7b49ce94f5e31b5b297b0445fd073
Acked-by: Mike Mager <mikemager@codeaurora.org>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
A DSI fifo error can occur on one DSI controller and HW will
not generate the mdp done isr interrupt for both controllers
in case of pp split and dual dsi. Current dsi reset routine
only resets the busy checks for the controller where errors
are reported. It should reset both controllers because HW
is not going to the isr for other interrupt where fifo error
is not reported.
Change-Id: I4de587aec0b54d942637fbea3cbe13cb2bdac893
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
This change parses and populates PPB control and config register
offsets separately. Its not necessary every ping pong blocks
to have both control and config registers.
Change-Id: I4be0dcaa9fabbd81e4875255d808707bf1e97e8e
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
This change enhances the existing MDP ISR routine handlers
to handle multiple MDP register sets. Maintain IRQ
handlers and callbacks in a single file.
Change-Id: Iea6e77be1eaab5ccf2fd89f7c98e2dd328af7de0
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Default bpp for destination format is set if mixer type
for WB is MIXER_TYPE_WRITEBACK. Ensure that correct bpp
is fetched from format type.
Change-Id: Iff7cf58363a83e9a4999115382c5551110104ead
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
when mapping the MDP framebuffer, driver needs to aggregate all
buffer length from each sg node.
CRs-Fixed: 996243
Change-Id: Ia4825e96b2e12f2328c9cc3197051f5e47c4daff
Signed-off-by: Camus Wong <camusw@codeaurora.org>
In some cases, updating fps need both porch and clock
update. Add support to update both porch and clock settings
for a given resolution to attain required fps.
Change-Id: I8c75ef09121c2d20e04380ead2b805c7b114acad
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Starting sde 3.0, driver needs to use uncompressed
bandwidth calculation for the ib bandwidth vote.
Add support to use this calculation and enable
it for sde 3.0.
Change-Id: I6a7ba7573a67a52bddb4881415217d7401c97cf3
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Mdp clock needs extra calculations when qseed3
is enabled. Update mdp clock calculations accordingly.
Change-Id: Id488793e9bb6aa7a2578af828f31d1d2b27d51e5
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Adjust the maximum sdm bandwidth limits for msmcobalt.
Change-Id: I269e805465200ef1aa76476110946ee89d432cbd
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Update bandwidth vote calculation for video mode
panels to account for the amortized prefill.
Change-Id: I2a62b0fbd15e678b21329184a5edc0502c33b413
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Starting with sde 3.0, prefill bandwidth can
be amortized depending on the configuration.
This change adds support for this feature.
Change-Id: I501e11325365ec900a2ef8ee5bcbcd66f5647f64
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Add support for DMA multirect pipes available in new MDP revision.
These pipes are able to fetch two different buffers and rectangles to
allow more layers to be fetched. Add support and proper validation
checks for limitations.
CRs-Fixed: 987777
Change-Id: I588ecd7829a45908241f6d9fa1e97147e79798f6
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Enable MPP4 by default at boot-up which enables HDMI 5V.
This is needed for continuous splash screen to make sure
5V is not turned off when booting into kernel.
Change-Id: Ibbce17bb85d82cca42c0bcf0f53fadecace103fb
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
MSM mdss 3xx hardware supports destination scaling for upscaling the
layer mixer output to the panel resolution. This change adds the new
interface to support the user space client using this feature.
CRs-Fixed: 988990
Change-Id: Ie267f0fd81cd8cf04a5c1f1c6a8c48d456a3035e
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Current resolution switch calculation is using the wrong
values for the fps calculation.
Correct the values, by using the correct pixel clock
value and adjusting if dsc is enabled as well as
use the default fps, for panels where default frame
rate is not 60.
Change-Id: I4be0a9d5d163b0630e8cfeb930e72c32f487ccb1
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Add support for dynamic fps up to three decimal values for
hdmi. The new fps is provided in multiple of 1000. eg. for
60 fps, 60000 is provided and for 59.94fps, 59940 is provided.
Change-Id: Ib16bf546721ba204f8a47733327e7be77b76b821
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Add mdss_rotator node with smmu subnodes.
Change mdss_mdp to interrupt controller so rotator can
receive interrupt routed by mdp handler.
CRs-Fixed: 972831
Change-Id: I5e0f8f06897ff0d4b55aa1f9fc8114dd02451649
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
Change adds separate rotator to capabilities if the platform
supports, so that user space can update its configuration.
Change-Id: If3a1b0f41eaa912a30c20c4c188a896c7bc1efe4
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>