- 17 1月, 2015 1 次提交
-
-
由 Abhilash Kesavan 提交于
The arm-cci driver completes the probe sequence even if the cci node is marked as disabled. Add a check in the driver to honour the cci status in the device tree. Signed-off-by: NAbhilash Kesavan <a.kesavan@samsung.com> Acked-by: NSudeep Holla <sudeep.holla@arm.com> Acked-by: NNicolas Pitre <nico@linaro.org> Tested-by: NSudeep Holla <sudeep.holla@arm.com> Tested-by: NKevin Hilman <khilman@linaro.org> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 30 10月, 2014 1 次提交
-
-
由 Mark Rutland 提交于
The ARM CPU PMUs and the ARM CCI PMU are using the same framework despite being substantially different in programming model, which makes it difficult to handle either particularly well. This patch migrates the ARM CCI PMU driver away from the arm_pmu framework, matching the style of the CCN PMU driver and other 'uncore' PMU drivers. This will enable refactoring of the arm_pmu framework to better support CPU PMUs. Event context migration on hotplug is not yet added due to a race on event->ctx in the core perf code. Signed-off-by: NMark Rutland <mark.rutland@arm.com> Acked-by: NPunit Agrawal <punit.agrawal@arm.com> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Will Deacon <will.deacon@arm.com> [will: fix whitespace issues] Signed-off-by: NWill Deacon <will.deacon@arm.com>
-
- 31 7月, 2014 1 次提交
-
-
由 Himangi Saraogi 提交于
In commit ae91d60b, a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. The Coccinelle semantic patch that makes this change is as follows: // <smpl> @@ expression E1,E2; @@ ( !E1 & !E2 | - !E1 & E2 + !(E1 & E2) ) // </smpl> Signed-off-by: NHimangi Saraogi <himangi774@gmail.com> Acked-by: NJulia Lawall <julia.lawall@lip6.fr> Acked-by: NPunit Agrawal <punit.agrawal@arm.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 26 2月, 2014 2 次提交
-
-
由 Punit Agrawal 提交于
The event numbering changed between revision r0 and r1 of the CCI PMU. Expose this to userspace to allow tooling to handle the differences in event numbers. Suggested-by: NDrew Richardson <Drew.Richardson@arm.com> Signed-off-by: NPunit Agrawal <punit.agrawal@arm.com> Reviewed-by: NWill Deacon <will.deacon@arm.com> Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
由 Punit Agrawal 提交于
The driver queries the CCI IP revision to distinguish between r0 and r1 scheme for event numbers and currently supports upto version r1p2. To minimise code churn every time there's a new version of the IP, assume that event numbering doesn't change for revisions > r1p0 (which is the case). The driver will still need an update for future revisions that change the event numbers. Signed-off-by: NPunit Agrawal <punit.agrawal@arm.com> Reviewed-by: NWill Deacon <will.deacon@arm.com> Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
- 01 2月, 2014 1 次提交
-
-
由 Lorenzo Pieralisi 提交于
This patch fixes a bug/typo in the CCI driver kcalloc usage that inadvertently swapped the parameters order in the kcalloc call and went unnoticed. Reported-by: NXia Feng <xiafeng@allwinnertech.com> Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 20 10月, 2013 1 次提交
-
-
由 Victor Kamensky 提交于
cci_enable_port_for_self written in asm and it works with h/w registers that are in little endian format. When run in big endian mode it needs byteswaped constants before/after it writes/reads to/from such registers Signed-off-by: NVictor Kamensky <victor.kamensky@linaro.org> Acked-by: NNicolas Pitre <nico@linaro.org> Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk>
-
- 24 9月, 2013 1 次提交
-
-
由 Wei Yongjun 提交于
This patch fix the error handle of function cci_pmu_probe(): - using IS_ERR() instead of NULL test for the return value of devm_ioremap_resource() since it nerver return NULL. - remove kfree() for devm_kzalloc allocated memory - remove dev_warn() since devm_ioremap_resource() has error message already. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NWill Deacon <will.deacon@arm.com>
-
- 17 9月, 2013 1 次提交
-
-
由 Punit Agrawal 提交于
Extend the existing CCI driver to support the PMU by registering a perf backend for it. Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Nicolas Pitre <nico@linaro.org> Cc: Dave Martin <dave.martin@linaro.org> Reviewed-by: NWill Deacon <will.deacon@arm.com> Signed-off-by: NPunit Agrawal <punit.agrawal@arm.com> [will: removed broken __init annotations] Signed-off-by: NWill Deacon <will.deacon@arm.com>
-
- 21 8月, 2013 1 次提交
-
-
由 Sudeep KarkadaNagesha 提交于
Since the CPU device nodes can be retrieved using arch_of_get_cpu_node, we can use it to avoid parsing the cpus node searching the cpu nodes and mapping to logical index. This patch removes parsing DT for cpu nodes by using of_get_cpu_node. Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Acked-by: NNicolas Pitre <nico@linaro.org> Signed-off-by: NSudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
-
- 03 6月, 2013 1 次提交
-
-
由 Arnd Bergmann 提交于
When we build a kernel with support for both ARMv6 and ARMv7, gas is trying to be helpful by pointing out that the arm-cci driver would not work on ARMv6: /tmp/ccu1LDeU.s: Assembler messages: /tmp/ccu1LDeU.s:450: Error: selected processor does not support ARM mode `wfi ' /tmp/ccu1LDeU.s:451: Error: selected processor does not support ARM mode `wfe ' make[4]: *** [drivers/bus/arm-cci.o] Error 1 We know that the driver will only be used on ARMv7, hence we can annotate the inline assembly listing to allow those instructions. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Acked-by: NNicolas Pitre <nico@linaro.org> Cc: Dave Martin <dave.martin@linaro.org>
-
- 30 5月, 2013 2 次提交
-
-
由 Nicolas Pitre 提交于
This provides cci_enable_port_for_self(). This is the counterpart to cci_disable_port_by_cpu(self). This is meant to be called from the MCPM machine specific power_up_setup callback code when the appropriate affinity level needs to be initialized. The code therefore has to be position independent as the MMU is still off and it cannot rely on any stack space. Signed-off-by: NNicolas Pitre <nico@linaro.org> Reviewed-by: NDave Martin <dave.martin@linaro.org>
-
由 Lorenzo Pieralisi 提交于
On ARM multi-cluster systems coherency between cores running on different clusters is managed by the cache-coherent interconnect (CCI). It allows broadcasting of TLB invalidates and memory barriers and it guarantees cache coherency at system level through snooping of slave interfaces connected to it. This patch enables the basic infrastructure required in Linux to handle and programme the CCI component. Non-local variables used by the CCI management functions called by power down function calls after disabling the cache must be flushed out to main memory in advance, otherwise incoherency of those values may occur if they are sitting in the cache of some other CPU when power down functions execute. Driver code ensures that relevant data structures are flushed from inner and outer caches after the driver probe is completed. CCI slave port resources are linked to set of CPUs through bus masters phandle properties that link the interface resources to masters node in the device tree. Documentation describing the CCI DT bindings is provided with the patch. Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: NNicolas Pitre <nicolas.pitre@linaro.org>
-