Support module remove and cleanup of the OPP table entries. In the case
where the driver registers for IRQ, free the IRQ and also remove the
sysfs.
Change-Id: I090a6e6fbcce4578e186fb8bc33cd68de42b34d8
Signed-off-by: Taniya Das <tdas@codeaurora.org>
qdss clock needs to be enabled on llcc_perfmon counter to function.
Enable/disable clock on Start/Stop llcc_perfmon commands.
Change-Id: Ic75119a08f0be1deadcdc694f27098296bfda07e
Signed-off-by: Avinash Philip <avinashp@codeaurora.org>
Add USB typec_* symbols to the whitelist and update the
snapshot as well for the two new functions added.
Leaf changes summary: 4 artifacts changed
Changed leaf types summary: 2 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 2 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
2 Added functions:
[A] 'function const typec_altmode* typec_altmode_get_partner(typec_altmode*)'
[A] 'function void* typec_get_drvdata(typec_port*)'
'struct typec_capability at typec.h:190:1' changed:
type size changed from 768 to 576 (in bits)
3 data member deletions:
'int (const typec_capability*, enum typec_role)* typec_capability::pr_set', at offset 576 (in bits) at typec.h:207:1
'int (const typec_capability*, enum typec_role)* typec_capability::vconn_set', at offset 640 (in bits) at typec.h:209:1
'int (const typec_capability*, enum typec_port_type)* typec_capability::port_type_set', at offset 704 (in bits) at typec.h:211:1
there are data member changes:
type 'int (const typec_capability*, int)*' of 'typec_capability::try_role' changed:
pointer type changed from: 'int (const typec_capability*, int)*' to: 'void*'
and name of 'typec_capability::try_role' changed to 'typec_capability::driver_data' at typec.h:215:1
type 'int (const typec_capability*, enum typec_data_role)*' of 'typec_capability::dr_set' changed:
pointer type changed from: 'int (const typec_capability*, enum typec_data_role)*' to: 'const typec_operations*'
and name of 'typec_capability::dr_set' changed to 'typec_capability::ops' at typec.h:217:1
10 impacted interfaces
'struct typec_port at class.c:38:1' changed:
type size changed from 8000 to 8064 (in bits)
1 data member insertion:
'const typec_operations* typec_port::ops', at offset 8000 (in bits) at class.c:56:1
10 impacted interfaces
Bug: 158724419
Change-Id: I7c9a918df49f1f83c04cbf662beeb04ce8098dd3
Signed-off-by: Jack Pham <jackp@codeaurora.org>
There are no more users for them.
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20191104142435.29960-9-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 158724419
Change-Id: Ia8f006d7c052326188a1249117daf243066aaeaa
(cherry picked from commit 8c038ea8b65fc803cd35423b8a1ff7057dd52f8b)
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Supplying the operation callbacks as part of a struct
typec_operations instead of as part of struct
typec_capability during port registration.
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20191104142435.29960-7-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 158724419
Change-Id: I51ad090a7551096558f921cf5f347d4871ea769f
(cherry picked from commit 6df475f804e62887f5d2132832ecabe6e596cd1c)
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Supplying the operation callbacks as part of a struct
typec_operations instead of as part of struct
typec_capability during port registration. After this there
is not need to keep the capabilities stored anywhere in the
driver.
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20191104142435.29960-6-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 158724419
Change-Id: Ib7bd4d899925522dbea297e25a50d8bdd3aa79e2
(cherry picked from commit 1007dda3be1c9f924746f892c094219be250928e)
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Supplying the operation callbacks as part of a struct
typec_operations instead of as part of struct
typec_capability during port registration.
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20191104142435.29960-5-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 158724419
Change-Id: I6eb7c3e87c8704e4d9ccae1d6e615bb1e492fd81
(cherry picked from commit 00ec21e58dc63dd899a1e1cb3f1d44fa18ca22dd)
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Introducing struct typec_operations which has the same
callbacks as struct typec_capability. The old callbacks are
kept for now, but after all users have been converted, they
will be removed.
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20191104142435.29960-4-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 158724419
Change-Id: Idfad5265f42ee2fcf6dbd0e109ed4f98b7563cb0
(cherry picked from commit 46310e4dade2bc3b574d540e421e3aa9f32cfd5f)
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Leaving the private driver_data pointer of the port device
to the port drivers.
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20191104142435.29960-3-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 158724419
Change-Id: Ib38c66e69a15904d5a8160312af6532f28712b67
(cherry picked from commit 8c127a42af89c39560a8c5bd5accadaaa5741f8c)
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Copying everything from struct typec_capability to struct
typec_port during port registration. This will make sure
that under no circumstances the driver can change the values
in the struct typec_capability that the port uses.
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20191104142435.29960-2-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 158724419
Change-Id: I6e94623300837afe5eedfc5a7d7214d61c147cff
(cherry picked from commit ad772c39b2fbb24ff6104d73d14fc125d8f02711)
Signed-off-by: Jack Pham <jackp@codeaurora.org>
We have a separate implementation of find_energy_efficient_cpu() for
WALT. The task placement rely on CPU arrays and WALT load signals.
Hence remove sd_asym_cpucapacity checks and updates to PELT signals
from find_energy_efficient_cpu().
Change-Id: I20a186e7a10d1ab6ee5f502f5dbf2de14d7971d5
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Add support for the non-secure CMA heap for sharing display
configuration information with display hardware.
Change-Id: Idcc1a8233872cffe890ccd74c956bc666c34cd82
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Supplier virtual machines (VMs) support exporting dma-bufs to
a consumer VM. However, consumers do not support importing dma-bufs
into their VMs, so add an IOCTL command to import a dma-buf into
a consumer VM.
The client must provide a memory parcel handle that corresponds to a
dma-buf that has been shared with the consumer VM, as well as an
access control list that is used for validating the access control
rules for the buffer. Upon success, the client is given a dma-buf
fd, which they can use to map the buffer and access it from both
the CPU, and peripherals.
Change-Id: I548e004e73543421b932430fbd9f84ad76658ef8
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Memory that goes through mem-buf is always transferred back to
the owner when the owner invokes hyp_assign() to regain access to
the memory. This means that if the owner did not have access to
the memory throughout the time the memory was lent to another VMID,
hyp_assign() will clear the memory before returning it to the owner.
Memory that is hyp_assigned through mem-buf creates a memparcel in the
resource manager(RM), when the memory is lent to another VMID, and
destroys the memparcel when the memory is reclaimed by the owner.
However, during the reclaim step, hyp_assign() is used, which clears the
memory, but the RM is unaware of the hyp_assign() policies, so it will
only clear the memory if the VM that released the memory asked for it
to be cleared, which is what mem-buf does. This results in clearing
a memory region twice, which is sub-optimal, so remove the explicit
request to sanitize the memory when the mem-buf driver releases a
memparcel.
Change-Id: I637f2305bf34d839db4f15f152b0bfcbb7b7052e
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Currently, mem-buf suppliers can only provide a consumer with a memory
buffer if the consumer requests for the memory buffer, in which case
the supplier has no control over the contents of the buffer that is
given to the consumer. This is not ideal in cases where the supplier
virtual machine (VM) may have data that is of interest to the consumer,
which can be shared using a memory buffer.
Introduce a new IOCTL command which allows a client to specify a
dma-buf that they would like to share with a consumer VM, as well
as the access control rules that should be applied to the buffer.
Change-Id: I1e4ec1205ad4e69039ec0ab26b4209512896a354
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
The current rules for determining if a buffer can or cannot be mapped
to depend on how a buffer was allocated. This is restrictive
in environments where the security state of a buffer can change
dynamically, as the accessibility of the buffer has to change with
respect to the security state of the buffer.
Thus, add support to track the number of userspace mappings associated
with an ION buffer, as well as an interface to allow drivers to lock
and unlock a buffer. In this context, locking a buffer means that the
buffer will no longer be mappable, and the buffer does not
have any outstanding mappings at the time the buffer is locked.
Unlocking the buffer means that the buffer can be mapped again.
Change-Id: I6aa73b9ac7c301b12106ad3d3bcb4c2aac959e55
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Debugfs is used for bringup support and debug. Ignore debugfs
setup failure if it is not supported in kernel config.
Change-Id: I07a56a0ce4adf53e0aa5b00ce73310d0c7ed2f6a
Signed-off-by: Manikandan Mohan <manikand@codeaurora.org>
Return negative errors on HWKM failures, so that KSM
does not use the errors returned as slots.
Change-Id: I43fa916ef56f79a1b1024d9311b4fdc9dfc24a11
Signed-off-by: Gaurav Kashyap <gaurkash@codeaurora.org>
Use Vmax from play effect in haptics_set_gain() only if the effect
is valid. Otherwise, use Vmax from the haptics configuration instead.
Change-Id: I7ec0f8c869096bccb26f7fda0057e3db3a51225d
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Debugfs support for loopback is obsolete. This is
not supported on current or future platforms.
Remove it from debugfs to prevent any security issues
as it allows to access DDR.
Change-Id: I499588e9e28430c4358d2d8e2364430c1acab82e
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
ignore lahaina-qgki-consolidate_defconfig file generated
by GKI scripts as this file auto-generated at build time.
Change-Id: I3edbbbf90b581642da81993a49fdc5264a4324a3
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
consolidate fragment contains the all the debug features
on top of qgki fragment for regular debugging and debug
fragment contains memory debug features. Add support for
fragement merging support in the both generate_defconfig.sh
and fragement_menuconfig.sh scripts.
Change-Id: Iea90997eca060fdf86cd9da08106e7cf11460b21
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Add initial consolidate defconfig fragment for the lahaina SoC.
Consolidate fragement contains all debug features needed on
top of lahaina_QGKI.config fragement and these flags should not
show significant performance impact. lahaina_debug.config fragment
contains memory debug features, which shows the performance
impact. This enables intenal testing to use the images based on
lahaina-qgki-consoldiate_defconfig defconfig instead of
lahaina-qgki_defconfig defconfig.
Change-Id: I3982e84dbe77abaf3afd741426f6f74ab2db1544
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Enable IFPC in A660 target features. IFPC stands for
Inter-Frame Power Collapse which is power saving feature.
Change-Id: I13ec90a09df5e974ff2f4c7e989cc49c6f8082f8
Signed-off-by: Nitheesh Muthuraj <nmuthuraj@codeaurora.org>
Auto RC clock calibration is used as default configuration. When playing
FIFO streaming data, manual RC clock calibration is used for adjusting
the FIFO pattern based on the detected LRA frequency. Restore back to use
auto RC clock calibration after FIFO pattern is played.
Change-Id: I335552cfeafe559aa35a76bf6aa218a92b62d3db
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Check INT_RT_STS in FIFO empty IRQ handler and ignore the interrupt
if FIFO_EMPTY real time status bit is not set.
Change-Id: I7a276fa1d8c79d530fc26f74263e0608096a99f8
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Add support to assign static GPII0 for I2C LA Touch usecase on Lahaina.
Change-Id: Ib0ea811626796825e280bf77f04ef68ab5f833a8
Signed-off-by: Vipin Deep Kaur <vkaur@codeaurora.org>