* [PATCH 0/2] Improve build test coverage for perf drivers
@ 2021-08-25 9:10 John Garry
2021-08-25 9:10 ` [PATCH 1/2] drivers/perf: thunderx2_pmu: Change data in size tx2_uncore_event_update() John Garry
2021-08-25 9:10 ` [PATCH 2/2] drivers/perf: Improve build test coverage John Garry
0 siblings, 2 replies; 3+ messages in thread
From: John Garry @ 2021-08-25 9:10 UTC (permalink / raw)
To: will, mark.rutland; +Cc: linux-arm-kernel, linux-kernel, John Garry
Improve build test coverage by allowing some more drivers build under
COMPILE_TEST as appropriate.
John Garry (2):
drivers/perf: thunderx2_pmu: Change data in size
tx2_uncore_event_update()
drivers/perf: Improve build test coverage
drivers/perf/Kconfig | 12 +++++++-----
drivers/perf/thunderx2_pmu.c | 2 +-
2 files changed, 8 insertions(+), 6 deletions(-)
--
2.26.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] drivers/perf: thunderx2_pmu: Change data in size tx2_uncore_event_update()
2021-08-25 9:10 [PATCH 0/2] Improve build test coverage for perf drivers John Garry
@ 2021-08-25 9:10 ` John Garry
2021-08-25 9:10 ` [PATCH 2/2] drivers/perf: Improve build test coverage John Garry
1 sibling, 0 replies; 3+ messages in thread
From: John Garry @ 2021-08-25 9:10 UTC (permalink / raw)
To: will, mark.rutland; +Cc: linux-arm-kernel, linux-kernel, John Garry
A LSL of 32 requires > 32b value to hold the result. However in
tx2_uncore_event_update(), 1UL << 32 currently only works as unsigned
long is 64b on a 64b system.
If we want to compile test for a 32b system, we need unsigned long long,
whose min size is 64b.
Signed-off-by: John Garry <john.garry@huawei.com>
---
drivers/perf/thunderx2_pmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/perf/thunderx2_pmu.c b/drivers/perf/thunderx2_pmu.c
index fc1a376ee906..05378c0fd8f3 100644
--- a/drivers/perf/thunderx2_pmu.c
+++ b/drivers/perf/thunderx2_pmu.c
@@ -487,7 +487,7 @@ static void tx2_uncore_event_update(struct perf_event *event)
new = reg_readl(hwc->event_base);
prev = local64_xchg(&hwc->prev_count, new);
/* handles rollover of 32 bit counter */
- delta = (u32)(((1UL << 32) - prev) + new);
+ delta = (u32)(((1ULL << 32) - prev) + new);
}
/* DMC event data_transfers granularity is 16 Bytes, convert it to 64 */
--
2.26.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] drivers/perf: Improve build test coverage
2021-08-25 9:10 [PATCH 0/2] Improve build test coverage for perf drivers John Garry
2021-08-25 9:10 ` [PATCH 1/2] drivers/perf: thunderx2_pmu: Change data in size tx2_uncore_event_update() John Garry
@ 2021-08-25 9:10 ` John Garry
1 sibling, 0 replies; 3+ messages in thread
From: John Garry @ 2021-08-25 9:10 UTC (permalink / raw)
To: will, mark.rutland; +Cc: linux-arm-kernel, linux-kernel, John Garry
Improve build test cover by allowing some drivers to build under
COMPILE_TEST where possible.
Some notes:
- Mostly a dependency on CONFIG_ACPI is not really required for only
building (but left untouched), but is required for TX2 which uses ACPI
functions which have no stubs
- XGENE required 64b dependency as it relies on some unsigned long perf
struct fields being 64b
- I don't see why TX2 requires NUMA to build, but left untouched
- Added an explicit dependency on GENERIC_MSI_IRQ_DOMAIN for
ARM_SMMU_V3_PMU, which is required for platform MSI functions
Signed-off-by: John Garry <john.garry@huawei.com>
---
drivers/perf/Kconfig | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/perf/Kconfig b/drivers/perf/Kconfig
index 77522e5efe11..4374af292e6d 100644
--- a/drivers/perf/Kconfig
+++ b/drivers/perf/Kconfig
@@ -36,7 +36,7 @@ config ARM_CCI5xx_PMU
config ARM_CCN
tristate "ARM CCN driver support"
- depends on ARM || ARM64
+ depends on ARM || ARM64 || COMPILE_TEST
help
PMU (perf) driver supporting the ARM CCN (Cache Coherent Network)
interconnect.
@@ -62,7 +62,8 @@ config ARM_PMU_ACPI
config ARM_SMMU_V3_PMU
tristate "ARM SMMUv3 Performance Monitors Extension"
- depends on ARM64 && ACPI
+ depends on (ARM64 && ACPI) || (COMPILE_TEST && 64BIT)
+ depends on GENERIC_MSI_IRQ_DOMAIN
help
Provides support for the ARM SMMUv3 Performance Monitor Counter
Groups (PMCG), which provide monitoring of transactions passing
@@ -80,7 +81,7 @@ config ARM_DSU_PMU
config FSL_IMX8_DDR_PMU
tristate "Freescale i.MX8 DDR perf monitor"
- depends on ARCH_MXC
+ depends on ARCH_MXC || COMPILE_TEST
help
Provides support for the DDR performance monitor in i.MX8, which
can give information about memory throughput and other related
@@ -108,7 +109,8 @@ config QCOM_L3_PMU
config THUNDERX2_PMU
tristate "Cavium ThunderX2 SoC PMU UNCORE"
- depends on ARCH_THUNDER2 && ARM64 && ACPI && NUMA
+ depends on ARCH_THUNDER2 || COMPILE_TEST
+ depends on NUMA && ACPI
default m
help
Provides support for ThunderX2 UNCORE events.
@@ -116,7 +118,7 @@ config THUNDERX2_PMU
in the DDR4 Memory Controller (DMC).
config XGENE_PMU
- depends on ARCH_XGENE
+ depends on ARCH_XGENE || (COMPILE_TEST && 64BIT)
bool "APM X-Gene SoC PMU"
default n
help
--
2.26.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-08-25 9:18 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-25 9:10 [PATCH 0/2] Improve build test coverage for perf drivers John Garry
2021-08-25 9:10 ` [PATCH 1/2] drivers/perf: thunderx2_pmu: Change data in size tx2_uncore_event_update() John Garry
2021-08-25 9:10 ` [PATCH 2/2] drivers/perf: Improve build test coverage John Garry
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).