Use the exclude_idle attribute of the perf events to avoid reading
PMUs of idle CPUs. The counter values are updated when CPU enters
idle and the saved value is returned when the idle CPU is queried
for that event provided the attribute is set in the perf_event.
Change-Id: I61f7a7474856abf67ac6dfd9e531702072e108a5
Signed-off-by: Patrick Fay <pfay@codeaurora.org>
Current code doesn't restart perf after hotplug and power collapse
which makes monitoring in low power modes difficult. This patch adds
support for the hotplug notifier events and creates a common path for
the power collapse and hotplug events.
Change-Id: I52e6978b1c104fd78bc42e4600ceb111b47b3e11
Signed-off-by: Patrick Fay <pfay@codeaurora.org>
Allocating new secure pages has very high latency. Ensure that the page
pool is completely empty before allocating new pages, splitting large order
pages as required.
Change-Id: I1353c5d9bdfd5c525c0c781c524630577c84b95e
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Using GFP_COMP to create compound pages prevents split_pages from being
used to split an order > 0 page into order 0 pages.
Required for future changes to the system_heap allocation algorithm.
Change-Id: I5ab82f717bb003e074124e1ffae3f112c405bc2b
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
A separate heap will be used for the preallocation feature.
Also remove an associated ion_buffer private flag.
Change-Id: I8df74307d4c3461198de0a58f6b8ec7c8bef1f12
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
compat ioctl manages differences between the size of 'unsigned long'
between 32bit and 64bit userspace/kernel.
Change-Id: Ia9030bcb6b404b080cb8bebb91ca7bf03c5f3e05
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Enable clock gating of venus core, when the core is in idle
state. HLOS can do this using the Clock Gate 4.
CRs-Fixed: 1048319
Change-Id: Iaa1ed5c24f07b8e18efc35de4f6ae6edea3b9f55
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
Clients may use dma_mmap_coherent to map buffers allocated through
dma_alloc_coherent() to userspace. Support this.
Change-Id: Ibf1f086be4c6692479c11cb4585954c5d3c91707
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Clients may have additional mappings in an iommu domain which are not
managed by arm_iommu_create_mapping. As such, it is important that
arm_iommu_create_mapping only use the iova region specified by the client.
However, the current implementation rounds the size of the region up to a
256K boundary (on arm64).
Change-Id: I88ddd98a76b39e3e9126d78da8e725491f2a5b32
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Enable CONSTRAINED_INTRA_PRED for all the following intra refresh mode
- CYCLIC, ADAPTIVE, CYCLIC_ADAPTIVE, RANDOM
and disbale when intra refresh mode is set to NONE.
Change-Id: Ifda5783f7bf33ba20a3ee3749410560f7864a4f3
CRs-Fixed: 1049420
Signed-off-by: Karthikeyan Periasamy <kperiasa@codeaurora.org>
These registers need to be set everytime ARM9 is powered up.
Some may need to be set before ARM9 begins execution.
Hence setting these, before the FW is loaded by PIL.
CRs-Fixed: 1048319
Change-Id: I1d207635b0dd516bbff2007b1a45f5cc038d350e
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
Output buffer size will be finalized to driver at start streaming.
Hence set this value to FW in start streaming.
CRs-Fixed: 1049617
Change-Id: I1697139a0c7cf84e20d3a8c3747a1e96f765139a
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Signed-off-by: Abdulla Anam <abdullahanam@codeaurora.org>
Signed-off-by: Karthikeyan Periasamy <kperiasa@codeaurora.org>