Enable FD for msmcobalt in dtsi.
CRs-Fixed: 1030317
Change-Id: Ie82b62777d0a5c5610b985a42dbe14ce54acb006
Signed-off-by: JinHee Kim <jinheek@codeaurora.org>
Enable SMB138X parallel charger device support for the msmcobalt platform.
CRs-Fixed: 1023141
Change-Id: Ifb806bb4c18a9d1c0c1357fef1600d1bc67c149f
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Add the SMB138X parallel charger device that is present in msmcobalt-mtp
CRs-Fixed: 1023141
Change-Id: Iba87437d7d57f4f42f973ea7db2af5ff8b579bd3
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
This driver supports the SMB138X charger device.
This charger peripheral is common among other chips, therefore the
driver uses the smb library to support all common functionality.
Register access is provided by the parent device via regmap. Interrupts
are controlled by the parent device, and handlers are registered by the
SMB138X charger driver.
The power supply framework is used to communicate battery and usb
properties to userspace and other driver consumers such as fuel gauge
and USB.
VBUS and VCONN regulators are registered for supporting OTG, and powered
Type-C cables respectively.
CRs-Fixed: 1023141
Change-Id: I119d33cdfdfc874b5d7f6137618ee3e590c72064
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Add BIMC gdsc data found in MMCC part of msm8996 family of devices.
Change-Id: Ibeac134f941f402bcad8e803bdb73ba73f55909d
Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Add all gdsc data which are part of mmcc on msm8996 family
Change-Id: I77caf8f26bf676a7553b6873eb188acb02a9c44d
Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Add a driver for the multimedia clock controller found on MSM8996
based devices. This should allow most multimedia device drivers
to probe and control their clocks.
Change-Id: I0b69b1e78a8b0faeaff3e5c87c73e24b1c19ba55
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
Add icl handler to report USB input current limit, and charge handler
to report charging state changes, providing input to parallel
charging algorithm.
CRs-Fixed: 1023703
Change-Id: Id51ad3dbd6e2637c105db681082eea98ab161a50
Signed-off-by: Harry Yang <harryy@codeaurora.org>
mnoc_ahb clock should be enabled prior to enabling the mdss_ahb
clock for any register access in the HDMI domain.
CRs-Fixed: 1022772
Change-Id: If78feebe1efb3efa2490551374a35ea702496323
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Handle CEC interrupts in the CEC hardware module only if the CEC
feature is explicitly enabled by the CEC framework. This will
prevent the CEC hardware module from unnecessarily processing
interrupts that will not be handled by the CEC framework (if
the feature is not explicity enabled).
Change-Id: I5110f2c8277581f87da71f962560c33f65582176
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
CRs-Fixed: 1016853
Add a votable structure - one veto to disable or unanimous
approval to enable.
Provide an open and flexiable machanism to enable/disable
parallel charging based on various dynamically changing
factors.
CRs-Fixed: 1023703
Change-Id: I552467645d6f8f633afe273b173a636e0eb396a7
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Implement wake votable on top of PM wakesource APIs for PMIC voters
to hold system awake.
CRs-Fixed: 1023703
Change-Id: If2c8f65d932f2f0bdad9f0f026d440a2089cec5f
Signed-off-by: Harry Yang <harryy@codeaurora.org>
IPA FWs load should use CMA memory as intermediate memory
for loading the FWs instead of the peripheral memory.
Change-Id: I0f7e8af9d233390861972048b07cc02dfaf1ed14
CRs-Fixed: 1025417
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Add pointer validation checks to prevent sending
invalid handles to ADSP as part of unmap memory
regions command.
CRs-Fixed: 1018367
Change-Id: I0dfb2fccb4414ed82ee10d73576fda66a273043d
Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
MMMS mnoc_ahb clock needs to be enabled prior to enabling the
mdss_ahb clock on msmcobalt as there is a core fsm dependency
between these clocks.
CRs-Fixed: 1022772
Change-Id: I24f3b01ae40d1242e64bfc87177142b0d64ac123
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
The block reset registers for USB3 and PCIE will be required by the clients
to reset their subsystem blocks so add them in the reset map.
Change-Id: Ie30158592fca057454152f3f46a5d8b89ae36b88
Signed-off-by: Amit Nischal <anischal@codeaurora.org>
offset_entry parameter should be tested for NULL, invert
testing logic.
CRs-Fixed: 1028328
Change-Id: I52761b04c594b10202a3823d49324a4991ecf3e4
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Without 'coresight-name' a CoreSight device gets registered with its
dev_name.
This can be a problem in case where we have CoreSight properties defined
within some other platform device.
Make 'coresight-name' a required property for a CoreSight device to
avoid this problem.
Change-Id: I5e192c4d850bb040983024cfe163714fbebbb199
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
With GRO enable, ipa3 still use default
aggr_byte_limit to calculates the
rx_buff_sz and configures wrong channel
righ size in GSI. The fix is to use
the right aggr_byte_limit which netmgrd
configured.
Change-Id: I9f804a122090ea4340f7873a5aa276dff00cbcb7
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
On MSMCOBALT, the votable GDSCs might take longer to enable/disable
depending on a number of factors including if another entity outside
of HLOS tried disabling the GDSC at the same time that HLOS tried to
enable it. Add a higher polling timeout to accommodate this.
In addition, add flags to branch clocks which might be controlled via
the voting registers so that the driver does not print out a warning
if these clocks do not turn off even after removing the SW vote.
CRs-Fixed: 1027807
Change-Id: I044ca5209c364d4bfb4f3bd504cdcb87021fd010
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Add codec reset gpio device tree node for msmcobalt target
specifying active and sleep pinctrl states.
CRs-fixed: 1028800
Change-Id: Id2625cd71b4c204ce10bc6dd007939834d2b9e10
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
If usb_ep_queue() fails on queueing zero-length packet, driver is not
decrementing dpkts_tolaptop_pending counter which may results into seeing
count mismatch. Hence decrement dpkts_tolaptop_pending if zero length
packet queueing fails.
CRs-Fixed: 1027031
Change-Id: Id3c7c2627bdf37524067512db51d3180c570106d
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Currently driver is reading and logging usage count of gadget
device but it is required to use usage count of gadget's parent
device which is used to prevent USB controller's low power mode.
Hence fix reporting of USB devices' usage count.
Also mark sm_state to initialized and remove queueing of
ipa_usb_wq as ipa_work_handler() is running without USB gadget
is initialized i.e. gadget is NULL.
CRs-Fixed: 1021499
Change-Id: Ia64afa3adb769674f6a9a60fde2c7397b7e4fe49
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
When smd_trans is registered at bootup and the transport
field is null, glink_pkt gets a link up notification early.
Use the requested transport to register for the link up
notification of the edge.
CRs-Fixed: 1028203
Change-Id: I8f549a48efe19f66e3a336a21b75903f7800ed86
Signed-off-by: Chris Lew <clew@codeaurora.org>
Remove the no-map and shared-dma-pool properties for dynamic fps
memory node. The DSI PLL driver allocates virtual memory space to
ioremap the reserved memory pages to it. The DSI PLL codes are
then copied from this virtual memory.
Change-Id: If65b653137b5c0f69fb66d77389bd71e6c3a0259
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
DSI controller requests for PM_QOS while sending DCS commands, so
that CPU does not go to idle state until DCS command transfer is
finished. But this request can come independently from multiple
clients such as different DSI controllers. So this change adds
ref count based PM_QOS request to avoid warning for multiple QOS
add request and unwanted results, if one client removes the request
while the other clients still need it.
Change-Id: If3ca0161923fcd73fdde77984aa5d80bfaec79a1
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Camera daemon process is moving to mediaserver
process. MCT will send contol command
to indicate camera daemon is present or not.
For backward compatibility, add check
so kernel can support camera daemon present
and camera daemon not present.
Change-Id: Ia9e45f539bd5ec0d2edfe9bfb90942d88b6d30da
Signed-off-by: Jignesh Mehta <jigneshm@codeaurora.org>
Clearing Non uC interrupts before processing will
result in clearing interrupt data.
Change-Id: I47ea7c22250264da206e1fb8691e77224c825ab0
CRs-Fixed: 1008549
Signed-off-by: sunil paidimarri <hisunil@codeaurora.org>
We have scripts which write to certain fields on 3.18 kernels but
this seems to be failing on 4.4 kernels.
An entry which we write to here is xfrm_aevent_rseqth which is u32.
echo 4294967295 > /proc/sys/net/core/xfrm_aevent_rseqth
Commit 230633d109 ("kernel/sysctl.c:
detect overflows when converting to int") prevented writing to
sysctl entries when integer overflow occurs. However, this does not
apply to unsigned integers.
u32 should be able to hold 4294967295 here, however it fails due to
this check.
static int do_proc_dointvec_conv(bool *negp, unsigned long *lvalp,
if (*lvalp > (unsigned long) INT_MAX)
return -EINVAL;
Fix this for now by reverting this commit till a solution is
finalized upstream.
CRs-Fixed: 1026507
Change-Id: I4fae5f442e4cc2c2414a69e960d42c05c3062415
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
generalise ARCH_QCOM platform to support new 32-bit
qcom platforms.
Change-Id: I412a83a2f756b02d6b521983501de780835dc118
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
The boot/dts/Makefile and boot/dts/*/Makefile provide DTB_LIST which is
equal to dtb-y when CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y.
Include these Makefiles to build dtbs for dtb appended zImage.
Change-Id: Ib8218135dc923d1ba4098d74dbd7da159368a188
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
[abhimany: resolve trivial merge conflict]
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
[sramana: Fixed merge conflicts]
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
Add the dts files to the compilation target when compiling
for arm.
Change-Id: I3146989f6e73bfe101ac9363428bd0beecd09c32
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
readb and writeb relaxed_no_log variants are required for upcoming
memcpy_to/from_io optimization for the arm32.
Change-Id: I80bac808f2916e49a77be24e7a39d0839165d306
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
This is a snapshot of the 64-bit IO accessor support as of msm-3.10
commit
'commit acdce027751d5a7 ("Merge defconfig: arm64: Enable
ONESHOT_SYNC for msm8994")'
Change-Id: Idc857357a87ba91cdb7a69deeaf05aa8d5d13628
Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
[sramana: fixed merge conflicts]
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
Improve power performance by enabling L1 substates for
PCIe on msmcobalt.
Change-Id: I69b1839d1afe8f65235e5c47f0d55abe75acb6a8
Signed-off-by: Tony Truong <truong@codeaurora.org>
Add the device tree files necessary to support the APQCOBALT.
CRs-Fixed: 1026738
Change-Id: If440e1ef4bdbcc73ac7a0569a6bbf093db8aefef
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Add device tree file necessary to support msmcobalt qrd platform.
CRs-Fixed: 1026732
Change-Id: Ic234c29b9c86e7095ab39f633eda57560b271c1f
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
This is a snapshot of logged IO accessor functions as the following
commit in the msm-3.10 tree:
'commit acdce027751d5a ("Merge defconfig: arm64: Enable
ONESHOT_SYNC for msm8994")'
Change-Id: I4d52ad23cc40d03d2bae1d3942c8d35543a0d461
Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
[sramana: Fixied merge conflicts]
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
This partially reverts 'commit 702b94bff3 ("ARM: dma-mapping:
remove dmac_clean_range and dmac_inv_range")'
Some MSM drivers still use the dmac_clean and dmac_inv_range APIs.
Bring back the defines and exports for v7 CPUs.
Change-Id: I69017d73da1065a5eeb9c87c899b6a51be5ebfe6
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
[sramana: resolved minor merge conflicts]
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
Set the primary display interface as the DSI device. List the supported
panels and set the preferred primary panel to be nt35597 dual-DSI
(non-DSC) panel on msmcobalt MTP.
Change-Id: I117348084e2bec49d0fcd7eb0b0149fc00ae639d
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Charger drivers can have different operating modes such as standlone, or
parallel slave.
Add a mode variable to support different operating modes.
Change-Id: I885289a1eec68335645912c3ecbbe91a85836647
CRs-Fixed: 1023141
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Votables that are NULL or have already been destroyed need not be
destroyed again. Return immediately when destorying NULL votables.
CRs-Fixed: 1023141
Change-Id: I8e367dbe7acf72471a5a474f0e2a00a4004fcbfb
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
The parallel charger does not use voting, therefore register getter and
setter functions need to be created or exposed.
CRs-Fixed: 1023141
Change-Id: I96a4877196be78c0eeecc3fc08419e8990572aaa
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
The I2C PMIC Controller is used by multi-function PMIC devices which
communicate over the I2C bus. The controller enumerates all child nodes
as platform devices, and instantiates a regmap interface for them to
communicate over the I2C bus.
The controller also controls interrupts for all of the children platform
devices. The controller handles the summary interrupt by deciphering which
peripheral triggered the interrupt, and which of the peripheral interrupts
were triggered. Finally, it calls the interrupt handlers for each of the
virtual interrupts that were registered.
CRs-Fixed: 975120
Change-Id: I5ebe6d0bcb7c097124ba9b35c56579815dda234f
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
When the MSM PCI-e driver isn't enabled, other code that might rely on
some of its exported interfaces will fail to build. Add some stubs for
this scenario to allow other drivers to build independently of
CONFIG_PCI_MSM.
Change-Id: Ib0f6d0ecfa992e2b8aaae9ab6cea3a2e441f65dd
Signed-off-by: Tony Truong <truong@codeaurora.org>
The ion API requires
" The implicit contract here is that memory coming from the heaps is
ready for dma, ie if it has a cached mapping that mapping has been
invalidated "
In v4.4, passsing device==NULL to any dma operation for arm64 results in
a no-op. Ensure that proper device pointers are used.
Change-Id: Id354f7cf6979aa58621408cfcfbd8ef62015fdbd
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Since the blocking chain notifiers can be called from process context,
the notification must not be sent from within a critical section.
Move the blocking notification outside the critical section.
Change-Id: Ia5679310fc59f25643e7c8d572cc230d262c5937
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
The number of ION buffer that can be locked per channel should be
at least the number of channels.
The Load App request, via the SKP channel, uses an ION
buffer that is locked for application swapping by the remote SPSS.
Change-Id: If6b4340b80b313fda87d648baaa1d78a588079ac
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>