mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Merge pull request #4485 from HiassofT/le10-kernel-5.4.51+
linux (RPi): update to 5.4.51+
This commit is contained in:
commit
a166a8417b
@ -3,8 +3,8 @@
|
|||||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="bcm2835-driver"
|
PKG_NAME="bcm2835-driver"
|
||||||
PKG_VERSION="66fc5eaac3d0af1d5a7ffa616086cbfaefd72e98"
|
PKG_VERSION="f293685f683c48b1872beeb38c2f7da1f46141a0"
|
||||||
PKG_SHA256="373872b00d566fbc8873125336b3a09696e85602d2e49a48c0b5c5cabb15d989"
|
PKG_SHA256="42e9f59785e55c4234352b60e775281add15997c6cb706b6ec5b603978d92c19"
|
||||||
PKG_LICENSE="nonfree"
|
PKG_LICENSE="nonfree"
|
||||||
PKG_SITE="http://www.broadcom.com"
|
PKG_SITE="http://www.broadcom.com"
|
||||||
PKG_URL="${DISTRO_SRC}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
PKG_URL="${DISTRO_SRC}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||||
|
@ -16,8 +16,8 @@ PKG_PATCH_DIRS="$LINUX"
|
|||||||
|
|
||||||
case "$LINUX" in
|
case "$LINUX" in
|
||||||
raspberrypi)
|
raspberrypi)
|
||||||
PKG_VERSION="3c860a6fd128e7cf1c39b3f51258a2a078d1a1a4" # 5.4.50
|
PKG_VERSION="cc069e10e5617515ccf9bcdf9d71e7bd11a94de2" # 5.4.58
|
||||||
PKG_SHA256="27bf43c2624acb156330b284f4704c0a85d75d76022c79b5157789511da7b04a"
|
PKG_SHA256="1b9091f9b6ac0f1d5cff3df5c760bebd6eb7edb89c14128f754f4c1f34ae07a9"
|
||||||
PKG_URL="https://github.com/raspberrypi/linux/archive/$PKG_VERSION.tar.gz"
|
PKG_URL="https://github.com/raspberrypi/linux/archive/$PKG_VERSION.tar.gz"
|
||||||
PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz"
|
PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz"
|
||||||
;;
|
;;
|
||||||
|
@ -0,0 +1,35 @@
|
|||||||
|
From 11c0cfc8ed33cda1435fc9a9efd8476514054842 Mon Sep 17 00:00:00 2001
|
||||||
|
From: popcornmix <popcornmix@gmail.com>
|
||||||
|
Date: Mon, 16 Mar 2020 20:38:37 +0000
|
||||||
|
Subject: [PATCH] vc4_hdmi: Reduce max pixel rate to hide 4k modes
|
||||||
|
|
||||||
|
vc4_hdmi: Increase pixel clock to 162MHz for 1920x1200@60
|
||||||
|
---
|
||||||
|
drivers/gpu/drm/vc4/vc4_hdmi.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||||
|
index 219964ff2f0e7..31d7565d2d904 100644
|
||||||
|
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||||
|
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||||
|
@@ -2322,7 +2322,7 @@ static const struct vc4_hdmi_variant bcm2835_variant = {
|
||||||
|
static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = {
|
||||||
|
.id = 0,
|
||||||
|
.audio_available = true,
|
||||||
|
- .max_pixel_clock = 297000000,
|
||||||
|
+ .max_pixel_clock = 162000000,
|
||||||
|
.cec_input_clock = 27000000,
|
||||||
|
.registers = vc5_hdmi_hdmi0_fields,
|
||||||
|
.num_registers = ARRAY_SIZE(vc5_hdmi_hdmi0_fields),
|
||||||
|
@@ -2350,7 +2350,7 @@ static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = {
|
||||||
|
static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = {
|
||||||
|
.id = 1,
|
||||||
|
.audio_available = true,
|
||||||
|
- .max_pixel_clock = 297000000,
|
||||||
|
+ .max_pixel_clock = 162000000,
|
||||||
|
.cec_input_clock = 27000000,
|
||||||
|
.registers = vc5_hdmi_hdmi1_fields,
|
||||||
|
.num_registers = ARRAY_SIZE(vc5_hdmi_hdmi1_fields),
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
@ -1,123 +0,0 @@
|
|||||||
From 1ae562e48904ef7584d7c12ea0e29e089928b79e Mon Sep 17 00:00:00 2001
|
|
||||||
From: popcornmix <popcornmix@gmail.com>
|
|
||||||
Date: Mon, 16 Mar 2020 20:38:37 +0000
|
|
||||||
Subject: [PATCH 1/3] vc4_hdmi: Reduce max pixel rate to hide 4k modes
|
|
||||||
|
|
||||||
vc4_hdmi: Increase pixel clock to 162MHz for 1920x1200@60
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/vc4/vc4_hdmi.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
||||||
index bce82f011d9fb..15946f8538898 100644
|
|
||||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
||||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
||||||
@@ -1907,7 +1907,7 @@ static const struct vc4_hdmi_variant bcm2835_variant = {
|
|
||||||
static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = {
|
|
||||||
.id = 0,
|
|
||||||
.audio_available = true,
|
|
||||||
- .max_pixel_clock = 297000000,
|
|
||||||
+ .max_pixel_clock = 162000000,
|
|
||||||
.cec_input_clock = 27000000,
|
|
||||||
.registers = vc5_hdmi_hdmi0_fields,
|
|
||||||
.num_registers = ARRAY_SIZE(vc5_hdmi_hdmi0_fields),
|
|
||||||
@@ -1935,7 +1935,7 @@ static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = {
|
|
||||||
static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = {
|
|
||||||
.id = 1,
|
|
||||||
.audio_available = true,
|
|
||||||
- .max_pixel_clock = 297000000,
|
|
||||||
+ .max_pixel_clock = 162000000,
|
|
||||||
.cec_input_clock = 27000000,
|
|
||||||
.registers = vc5_hdmi_hdmi1_fields,
|
|
||||||
.num_registers = ARRAY_SIZE(vc5_hdmi_hdmi1_fields),
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
||||||
|
|
||||||
From 589ce075d9117e4d5e6bbf09f90f29cce2b6d233 Mon Sep 17 00:00:00 2001
|
|
||||||
From: popcornmix <popcornmix@gmail.com>
|
|
||||||
Date: Tue, 10 Mar 2020 22:19:51 +0000
|
|
||||||
Subject: [PATCH 2/3] vc4_hdmi: Set channel mapping as expected by kodi
|
|
||||||
|
|
||||||
vc4_hdmi: Don't mangle channels for passthrough
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/vc4/vc4_hdmi.c | 10 ++++++++++
|
|
||||||
1 file changed, 10 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
||||||
index 15946f8538898..87836349d0982 100644
|
|
||||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
||||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
||||||
@@ -785,6 +785,10 @@ static u32 vc4_hdmi_channel_map(struct vc4_hdmi *vc4_hdmi, u32 channel_mask)
|
|
||||||
int i;
|
|
||||||
u32 channel_map = 0;
|
|
||||||
|
|
||||||
+ /* hack: return the mapping expected by kodi until we have a way of configuring this */
|
|
||||||
+ if (channel_mask == 0xff)
|
|
||||||
+ return 0xb13f88;
|
|
||||||
+
|
|
||||||
for (i = 0; i < 8; i++) {
|
|
||||||
if (channel_mask & BIT(i))
|
|
||||||
channel_map |= i << (3 * i);
|
|
||||||
@@ -797,6 +801,12 @@ static u32 vc5_hdmi_channel_map(struct vc4_hdmi *vc4_hdmi, u32 channel_mask)
|
|
||||||
int i;
|
|
||||||
u32 channel_map = 0;
|
|
||||||
|
|
||||||
+ /* hack: return the mapping expected by kodi until we have a way of configuring this */
|
|
||||||
+
|
|
||||||
+ if (!(vc4_hdmi->audio.iec_status[0] & IEC958_AES0_NONAUDIO) &&
|
|
||||||
+ vc4_hdmi->audio.channels == 8)
|
|
||||||
+ return 0x54237610;
|
|
||||||
+
|
|
||||||
for (i = 0; i < 8; i++) {
|
|
||||||
if (channel_mask & BIT(i))
|
|
||||||
channel_map |= i << (4 * i);
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
||||||
|
|
||||||
From f9c550eb6f339edd2b62bf285d617f752cd7f251 Mon Sep 17 00:00:00 2001
|
|
||||||
From: popcornmix <popcornmix@gmail.com>
|
|
||||||
Date: Tue, 10 Mar 2020 23:07:11 +0000
|
|
||||||
Subject: [PATCH 3/3] vc4_hdmi: Set channel_allocation to something plausible
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/vc4/vc4_hdmi.c | 15 +++++++++++++++
|
|
||||||
1 file changed, 15 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
||||||
index 87836349d0982..bd2ec74d6dc62 100644
|
|
||||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
||||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
||||||
@@ -339,6 +339,17 @@ static void vc4_hdmi_set_spd_infoframe(struct drm_encoder *encoder)
|
|
||||||
|
|
||||||
static void vc4_hdmi_set_audio_infoframe(struct drm_encoder *encoder)
|
|
||||||
{
|
|
||||||
+ static const u8 cea_map[] = {
|
|
||||||
+ 0xff, // 0
|
|
||||||
+ 0xff, // 1
|
|
||||||
+ 0x00, // 2.0
|
|
||||||
+ 0x01, // 2.1
|
|
||||||
+ 0x03, // 3.1
|
|
||||||
+ 0x09, // 4.1
|
|
||||||
+ 0x0b, // 5.1
|
|
||||||
+ 0x12, // 7.0
|
|
||||||
+ 0x13, // 7.1
|
|
||||||
+ };
|
|
||||||
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
|
|
||||||
union hdmi_infoframe frame;
|
|
||||||
int ret;
|
|
||||||
@@ -349,6 +360,10 @@ static void vc4_hdmi_set_audio_infoframe(struct drm_encoder *encoder)
|
|
||||||
frame.audio.sample_frequency = HDMI_AUDIO_SAMPLE_FREQUENCY_STREAM;
|
|
||||||
frame.audio.sample_size = HDMI_AUDIO_SAMPLE_SIZE_STREAM;
|
|
||||||
frame.audio.channels = vc4_hdmi->audio.channels;
|
|
||||||
+ if (frame.audio.channels < 2 || frame.audio.channels > 8)
|
|
||||||
+ DRM_ERROR("Unable to map channels: %d\n", frame.audio.channels);
|
|
||||||
+ else
|
|
||||||
+ frame.audio.channel_allocation = cea_map[frame.audio.channels];
|
|
||||||
|
|
||||||
vc4_hdmi_write_infoframe(encoder, &frame);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
@ -1,234 +0,0 @@
|
|||||||
From e4d9b04b973b2dbce7b42af95ea70d07da1c936d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
||||||
Date: Mon, 2 Mar 2020 12:09:38 -0300
|
|
||||||
Subject: [PATCH] perf bench: Share some global variables to fix build with gcc
|
|
||||||
10
|
|
||||||
|
|
||||||
Noticed with gcc 10 (fedora rawhide) that those variables were not being
|
|
||||||
declared as static, so end up with:
|
|
||||||
|
|
||||||
ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `end'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
|
|
||||||
ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `start'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
|
|
||||||
ld: /tmp/build/perf/bench/epoll-wait.o:/git/perf/tools/perf/bench/epoll-wait.c:93: multiple definition of `runtime'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
|
|
||||||
ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `end'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
|
|
||||||
ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `start'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
|
|
||||||
ld: /tmp/build/perf/bench/epoll-ctl.o:/git/perf/tools/perf/bench/epoll-ctl.c:38: multiple definition of `runtime'; /tmp/build/perf/bench/futex-hash.o:/git/perf/tools/perf/bench/futex-hash.c:40: first defined here
|
|
||||||
make[4]: *** [/git/perf/tools/build/Makefile.build:145: /tmp/build/perf/bench/perf-in.o] Error 1
|
|
||||||
|
|
||||||
Prefix those with bench__ and add them to bench/bench.h, so that we can
|
|
||||||
share those on the tools needing to access those variables from signal
|
|
||||||
handlers.
|
|
||||||
|
|
||||||
Acked-by: Thomas Gleixner <tglx@linutronix.de>
|
|
||||||
Cc: Adrian Hunter <adrian.hunter@intel.com>
|
|
||||||
Cc: Davidlohr Bueso <dave@stgolabs.net>
|
|
||||||
Cc: Jiri Olsa <jolsa@kernel.org>
|
|
||||||
Cc: Namhyung Kim <namhyung@kernel.org>
|
|
||||||
Link: http://lore.kernel.org/lkml/20200303155811.GD13702@kernel.org
|
|
||||||
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
||||||
---
|
|
||||||
tools/perf/bench/bench.h | 4 ++++
|
|
||||||
tools/perf/bench/epoll-ctl.c | 7 +++----
|
|
||||||
tools/perf/bench/epoll-wait.c | 11 +++++------
|
|
||||||
tools/perf/bench/futex-hash.c | 12 ++++++------
|
|
||||||
tools/perf/bench/futex-lock-pi.c | 11 +++++------
|
|
||||||
5 files changed, 23 insertions(+), 22 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tools/perf/bench/bench.h b/tools/perf/bench/bench.h
|
|
||||||
index fddb3ced9db6..4aa6de1aa67d 100644
|
|
||||||
--- a/tools/perf/bench/bench.h
|
|
||||||
+++ b/tools/perf/bench/bench.h
|
|
||||||
@@ -2,6 +2,10 @@
|
|
||||||
#ifndef BENCH_H
|
|
||||||
#define BENCH_H
|
|
||||||
|
|
||||||
+#include <sys/time.h>
|
|
||||||
+
|
|
||||||
+extern struct timeval bench__start, bench__end, bench__runtime;
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* The madvise transparent hugepage constants were added in glibc
|
|
||||||
* 2.13. For compatibility with older versions of glibc, define these
|
|
||||||
diff --git a/tools/perf/bench/epoll-ctl.c b/tools/perf/bench/epoll-ctl.c
|
|
||||||
index bb617e568841..a7526c05df38 100644
|
|
||||||
--- a/tools/perf/bench/epoll-ctl.c
|
|
||||||
+++ b/tools/perf/bench/epoll-ctl.c
|
|
||||||
@@ -35,7 +35,6 @@
|
|
||||||
|
|
||||||
static unsigned int nthreads = 0;
|
|
||||||
static unsigned int nsecs = 8;
|
|
||||||
-struct timeval start, end, runtime;
|
|
||||||
static bool done, __verbose, randomize;
|
|
||||||
|
|
||||||
/*
|
|
||||||
@@ -94,8 +93,8 @@ static void toggle_done(int sig __maybe_unused,
|
|
||||||
{
|
|
||||||
/* inform all threads that we're done for the day */
|
|
||||||
done = true;
|
|
||||||
- gettimeofday(&end, NULL);
|
|
||||||
- timersub(&end, &start, &runtime);
|
|
||||||
+ gettimeofday(&bench__end, NULL);
|
|
||||||
+ timersub(&bench__end, &bench__start, &bench__runtime);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void nest_epollfd(void)
|
|
||||||
@@ -361,7 +360,7 @@ int bench_epoll_ctl(int argc, const char **argv)
|
|
||||||
|
|
||||||
threads_starting = nthreads;
|
|
||||||
|
|
||||||
- gettimeofday(&start, NULL);
|
|
||||||
+ gettimeofday(&bench__start, NULL);
|
|
||||||
|
|
||||||
do_threads(worker, cpu);
|
|
||||||
|
|
||||||
diff --git a/tools/perf/bench/epoll-wait.c b/tools/perf/bench/epoll-wait.c
|
|
||||||
index 7af694437f4e..d1c5cb526b9f 100644
|
|
||||||
--- a/tools/perf/bench/epoll-wait.c
|
|
||||||
+++ b/tools/perf/bench/epoll-wait.c
|
|
||||||
@@ -90,7 +90,6 @@
|
|
||||||
|
|
||||||
static unsigned int nthreads = 0;
|
|
||||||
static unsigned int nsecs = 8;
|
|
||||||
-struct timeval start, end, runtime;
|
|
||||||
static bool wdone, done, __verbose, randomize, nonblocking;
|
|
||||||
|
|
||||||
/*
|
|
||||||
@@ -276,8 +275,8 @@ static void toggle_done(int sig __maybe_unused,
|
|
||||||
{
|
|
||||||
/* inform all threads that we're done for the day */
|
|
||||||
done = true;
|
|
||||||
- gettimeofday(&end, NULL);
|
|
||||||
- timersub(&end, &start, &runtime);
|
|
||||||
+ gettimeofday(&bench__end, NULL);
|
|
||||||
+ timersub(&bench__end, &bench__start, &bench__runtime);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void print_summary(void)
|
|
||||||
@@ -287,7 +286,7 @@ static void print_summary(void)
|
|
||||||
|
|
||||||
printf("\nAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
|
|
||||||
avg, rel_stddev_stats(stddev, avg),
|
|
||||||
- (int) runtime.tv_sec);
|
|
||||||
+ (int)bench__runtime.tv_sec);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int do_threads(struct worker *worker, struct perf_cpu_map *cpu)
|
|
||||||
@@ -479,7 +478,7 @@ int bench_epoll_wait(int argc, const char **argv)
|
|
||||||
|
|
||||||
threads_starting = nthreads;
|
|
||||||
|
|
||||||
- gettimeofday(&start, NULL);
|
|
||||||
+ gettimeofday(&bench__start, NULL);
|
|
||||||
|
|
||||||
do_threads(worker, cpu);
|
|
||||||
|
|
||||||
@@ -519,7 +518,7 @@ int bench_epoll_wait(int argc, const char **argv)
|
|
||||||
qsort(worker, nthreads, sizeof(struct worker), cmpworker);
|
|
||||||
|
|
||||||
for (i = 0; i < nthreads; i++) {
|
|
||||||
- unsigned long t = worker[i].ops/runtime.tv_sec;
|
|
||||||
+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
|
|
||||||
|
|
||||||
update_stats(&throughput_stats, t);
|
|
||||||
|
|
||||||
diff --git a/tools/perf/bench/futex-hash.c b/tools/perf/bench/futex-hash.c
|
|
||||||
index 8ba0c3330a9a..21776862e940 100644
|
|
||||||
--- a/tools/perf/bench/futex-hash.c
|
|
||||||
+++ b/tools/perf/bench/futex-hash.c
|
|
||||||
@@ -37,7 +37,7 @@ static unsigned int nfutexes = 1024;
|
|
||||||
static bool fshared = false, done = false, silent = false;
|
|
||||||
static int futex_flag = 0;
|
|
||||||
|
|
||||||
-struct timeval start, end, runtime;
|
|
||||||
+struct timeval bench__start, bench__end, bench__runtime;
|
|
||||||
static pthread_mutex_t thread_lock;
|
|
||||||
static unsigned int threads_starting;
|
|
||||||
static struct stats throughput_stats;
|
|
||||||
@@ -103,8 +103,8 @@ static void toggle_done(int sig __maybe_unused,
|
|
||||||
{
|
|
||||||
/* inform all threads that we're done for the day */
|
|
||||||
done = true;
|
|
||||||
- gettimeofday(&end, NULL);
|
|
||||||
- timersub(&end, &start, &runtime);
|
|
||||||
+ gettimeofday(&bench__end, NULL);
|
|
||||||
+ timersub(&bench__end, &bench__start, &bench__runtime);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void print_summary(void)
|
|
||||||
@@ -114,7 +114,7 @@ static void print_summary(void)
|
|
||||||
|
|
||||||
printf("%sAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
|
|
||||||
!silent ? "\n" : "", avg, rel_stddev_stats(stddev, avg),
|
|
||||||
- (int) runtime.tv_sec);
|
|
||||||
+ (int)bench__runtime.tv_sec);
|
|
||||||
}
|
|
||||||
|
|
||||||
int bench_futex_hash(int argc, const char **argv)
|
|
||||||
@@ -161,7 +161,7 @@ int bench_futex_hash(int argc, const char **argv)
|
|
||||||
|
|
||||||
threads_starting = nthreads;
|
|
||||||
pthread_attr_init(&thread_attr);
|
|
||||||
- gettimeofday(&start, NULL);
|
|
||||||
+ gettimeofday(&bench__start, NULL);
|
|
||||||
for (i = 0; i < nthreads; i++) {
|
|
||||||
worker[i].tid = i;
|
|
||||||
worker[i].futex = calloc(nfutexes, sizeof(*worker[i].futex));
|
|
||||||
@@ -204,7 +204,7 @@ int bench_futex_hash(int argc, const char **argv)
|
|
||||||
pthread_mutex_destroy(&thread_lock);
|
|
||||||
|
|
||||||
for (i = 0; i < nthreads; i++) {
|
|
||||||
- unsigned long t = worker[i].ops/runtime.tv_sec;
|
|
||||||
+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
|
|
||||||
update_stats(&throughput_stats, t);
|
|
||||||
if (!silent) {
|
|
||||||
if (nfutexes == 1)
|
|
||||||
diff --git a/tools/perf/bench/futex-lock-pi.c b/tools/perf/bench/futex-lock-pi.c
|
|
||||||
index d0cae8125423..30d97121dc4f 100644
|
|
||||||
--- a/tools/perf/bench/futex-lock-pi.c
|
|
||||||
+++ b/tools/perf/bench/futex-lock-pi.c
|
|
||||||
@@ -37,7 +37,6 @@ static bool silent = false, multi = false;
|
|
||||||
static bool done = false, fshared = false;
|
|
||||||
static unsigned int nthreads = 0;
|
|
||||||
static int futex_flag = 0;
|
|
||||||
-struct timeval start, end, runtime;
|
|
||||||
static pthread_mutex_t thread_lock;
|
|
||||||
static unsigned int threads_starting;
|
|
||||||
static struct stats throughput_stats;
|
|
||||||
@@ -64,7 +63,7 @@ static void print_summary(void)
|
|
||||||
|
|
||||||
printf("%sAveraged %ld operations/sec (+- %.2f%%), total secs = %d\n",
|
|
||||||
!silent ? "\n" : "", avg, rel_stddev_stats(stddev, avg),
|
|
||||||
- (int) runtime.tv_sec);
|
|
||||||
+ (int)bench__runtime.tv_sec);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void toggle_done(int sig __maybe_unused,
|
|
||||||
@@ -73,8 +72,8 @@ static void toggle_done(int sig __maybe_unused,
|
|
||||||
{
|
|
||||||
/* inform all threads that we're done for the day */
|
|
||||||
done = true;
|
|
||||||
- gettimeofday(&end, NULL);
|
|
||||||
- timersub(&end, &start, &runtime);
|
|
||||||
+ gettimeofday(&bench__end, NULL);
|
|
||||||
+ timersub(&bench__end, &bench__start, &bench__runtime);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void *workerfn(void *arg)
|
|
||||||
@@ -185,7 +184,7 @@ int bench_futex_lock_pi(int argc, const char **argv)
|
|
||||||
|
|
||||||
threads_starting = nthreads;
|
|
||||||
pthread_attr_init(&thread_attr);
|
|
||||||
- gettimeofday(&start, NULL);
|
|
||||||
+ gettimeofday(&bench__start, NULL);
|
|
||||||
|
|
||||||
create_threads(worker, thread_attr, cpu);
|
|
||||||
pthread_attr_destroy(&thread_attr);
|
|
||||||
@@ -211,7 +210,7 @@ int bench_futex_lock_pi(int argc, const char **argv)
|
|
||||||
pthread_mutex_destroy(&thread_lock);
|
|
||||||
|
|
||||||
for (i = 0; i < nthreads; i++) {
|
|
||||||
- unsigned long t = worker[i].ops/runtime.tv_sec;
|
|
||||||
+ unsigned long t = worker[i].ops / bench__runtime.tv_sec;
|
|
||||||
|
|
||||||
update_stats(&throughput_stats, t);
|
|
||||||
if (!silent)
|
|
@ -1,37 +0,0 @@
|
|||||||
From cff20b3151ccab690715cb6cf0f5da5cccb32adf Mon Sep 17 00:00:00 2001
|
|
||||||
From: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
||||||
Date: Mon, 2 Mar 2020 11:13:19 -0300
|
|
||||||
Subject: [PATCH] perf tests bp_account: Make global variable static
|
|
||||||
|
|
||||||
To fix the build with newer gccs, that without this patch exit with:
|
|
||||||
|
|
||||||
LD /tmp/build/perf/tests/perf-in.o
|
|
||||||
ld: /tmp/build/perf/tests/bp_account.o:/git/perf/tools/perf/tests/bp_account.c:22: multiple definition of `the_var'; /tmp/build/perf/tests/bp_signal.o:/git/perf/tools/perf/tests/bp_signal.c:38: first defined here
|
|
||||||
make[4]: *** [/git/perf/tools/build/Makefile.build:145: /tmp/build/perf/tests/perf-in.o] Error 1
|
|
||||||
|
|
||||||
First noticed in fedora:rawhide/32 with:
|
|
||||||
|
|
||||||
[perfbuilder@a5ff49d6e6e4 ~]$ gcc --version
|
|
||||||
gcc (GCC) 10.0.1 20200216 (Red Hat 10.0.1-0.8)
|
|
||||||
|
|
||||||
Reported-by: Jiri Olsa <jolsa@kernel.org>
|
|
||||||
Cc: Adrian Hunter <adrian.hunter@intel.com>
|
|
||||||
Cc: Namhyung Kim <namhyung@kernel.org>
|
|
||||||
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
||||||
---
|
|
||||||
tools/perf/tests/bp_account.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tools/perf/tests/bp_account.c b/tools/perf/tests/bp_account.c
|
|
||||||
index d0b935356274..489b50604cf2 100644
|
|
||||||
--- a/tools/perf/tests/bp_account.c
|
|
||||||
+++ b/tools/perf/tests/bp_account.c
|
|
||||||
@@ -19,7 +19,7 @@
|
|
||||||
#include "../perf-sys.h"
|
|
||||||
#include "cloexec.h"
|
|
||||||
|
|
||||||
-volatile long the_var;
|
|
||||||
+static volatile long the_var;
|
|
||||||
|
|
||||||
static noinline int test_function(void)
|
|
||||||
{
|
|
@ -3,8 +3,8 @@
|
|||||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="bcm2835-bootloader"
|
PKG_NAME="bcm2835-bootloader"
|
||||||
PKG_VERSION="66fc5eaac3d0af1d5a7ffa616086cbfaefd72e98"
|
PKG_VERSION="f293685f683c48b1872beeb38c2f7da1f46141a0"
|
||||||
PKG_SHA256="fe7fe713409120768c37dbbe02a7a06c0e808b0e60dad09ea054d7006947b76d"
|
PKG_SHA256="cf72421d38c65317a49f1f0387df86e78b0b83e8738ac4a58651c3fb8cac86ca"
|
||||||
PKG_ARCH="arm"
|
PKG_ARCH="arm"
|
||||||
PKG_LICENSE="nonfree"
|
PKG_LICENSE="nonfree"
|
||||||
PKG_SITE="http://www.broadcom.com"
|
PKG_SITE="http://www.broadcom.com"
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="rpi-eeprom"
|
PKG_NAME="rpi-eeprom"
|
||||||
PKG_VERSION="befe05b42a2a69fcbf2a5ec0ac4a8e7085c543f7"
|
PKG_VERSION="0e7da7ecd84cdf7b65d6fc8d43446aee665187dc"
|
||||||
PKG_SHA256="99880d1d51d229091d63c9c0e42033c757cf5847120aee4e01993443edb2560c"
|
PKG_SHA256="d33d29f377217909f3fd4e41a8bdeeed0c2c5ce828947aaf21f593dbab2c9521"
|
||||||
PKG_ARCH="arm"
|
PKG_ARCH="arm"
|
||||||
PKG_LICENSE="BSD-3/custom"
|
PKG_LICENSE="BSD-3/custom"
|
||||||
PKG_SITE="https://github.com/raspberrypi/rpi-eeprom"
|
PKG_SITE="https://github.com/raspberrypi/rpi-eeprom"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/arm 5.4.50 Kernel Configuration
|
# Linux/arm 5.4.58 Kernel Configuration
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1355,7 +1355,6 @@ CONFIG_SCSI_DMA=y
|
|||||||
CONFIG_BLK_DEV_SD=y
|
CONFIG_BLK_DEV_SD=y
|
||||||
# CONFIG_CHR_DEV_ST is not set
|
# CONFIG_CHR_DEV_ST is not set
|
||||||
CONFIG_BLK_DEV_SR=y
|
CONFIG_BLK_DEV_SR=y
|
||||||
# CONFIG_BLK_DEV_SR_VENDOR is not set
|
|
||||||
# CONFIG_CHR_DEV_SG is not set
|
# CONFIG_CHR_DEV_SG is not set
|
||||||
# CONFIG_CHR_DEV_SCH is not set
|
# CONFIG_CHR_DEV_SCH is not set
|
||||||
# CONFIG_SCSI_CONSTANTS is not set
|
# CONFIG_SCSI_CONSTANTS is not set
|
||||||
@ -4102,6 +4101,7 @@ CONFIG_LEDS_TRIGGER_INPUT=y
|
|||||||
# CONFIG_LEDS_TRIGGER_NETDEV is not set
|
# CONFIG_LEDS_TRIGGER_NETDEV is not set
|
||||||
# CONFIG_LEDS_TRIGGER_PATTERN is not set
|
# CONFIG_LEDS_TRIGGER_PATTERN is not set
|
||||||
# CONFIG_LEDS_TRIGGER_AUDIO is not set
|
# CONFIG_LEDS_TRIGGER_AUDIO is not set
|
||||||
|
CONFIG_LEDS_TRIGGER_ACTPWR=y
|
||||||
# CONFIG_ACCESSIBILITY is not set
|
# CONFIG_ACCESSIBILITY is not set
|
||||||
# CONFIG_INFINIBAND is not set
|
# CONFIG_INFINIBAND is not set
|
||||||
CONFIG_EDAC_ATOMIC_SCRUB=y
|
CONFIG_EDAC_ATOMIC_SCRUB=y
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/arm 5.4.50 Kernel Configuration
|
# Linux/arm 5.4.58 Kernel Configuration
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1478,7 +1478,6 @@ CONFIG_SCSI_DMA=y
|
|||||||
CONFIG_BLK_DEV_SD=y
|
CONFIG_BLK_DEV_SD=y
|
||||||
# CONFIG_CHR_DEV_ST is not set
|
# CONFIG_CHR_DEV_ST is not set
|
||||||
CONFIG_BLK_DEV_SR=y
|
CONFIG_BLK_DEV_SR=y
|
||||||
# CONFIG_BLK_DEV_SR_VENDOR is not set
|
|
||||||
# CONFIG_CHR_DEV_SG is not set
|
# CONFIG_CHR_DEV_SG is not set
|
||||||
# CONFIG_CHR_DEV_SCH is not set
|
# CONFIG_CHR_DEV_SCH is not set
|
||||||
# CONFIG_SCSI_CONSTANTS is not set
|
# CONFIG_SCSI_CONSTANTS is not set
|
||||||
@ -4235,6 +4234,7 @@ CONFIG_LEDS_TRIGGER_INPUT=y
|
|||||||
# CONFIG_LEDS_TRIGGER_NETDEV is not set
|
# CONFIG_LEDS_TRIGGER_NETDEV is not set
|
||||||
# CONFIG_LEDS_TRIGGER_PATTERN is not set
|
# CONFIG_LEDS_TRIGGER_PATTERN is not set
|
||||||
# CONFIG_LEDS_TRIGGER_AUDIO is not set
|
# CONFIG_LEDS_TRIGGER_AUDIO is not set
|
||||||
|
CONFIG_LEDS_TRIGGER_ACTPWR=y
|
||||||
# CONFIG_ACCESSIBILITY is not set
|
# CONFIG_ACCESSIBILITY is not set
|
||||||
# CONFIG_INFINIBAND is not set
|
# CONFIG_INFINIBAND is not set
|
||||||
CONFIG_EDAC_ATOMIC_SCRUB=y
|
CONFIG_EDAC_ATOMIC_SCRUB=y
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/arm 5.4.50 Kernel Configuration
|
# Linux/arm 5.4.58 Kernel Configuration
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1569,7 +1569,6 @@ CONFIG_SCSI_DMA=y
|
|||||||
CONFIG_BLK_DEV_SD=y
|
CONFIG_BLK_DEV_SD=y
|
||||||
# CONFIG_CHR_DEV_ST is not set
|
# CONFIG_CHR_DEV_ST is not set
|
||||||
CONFIG_BLK_DEV_SR=y
|
CONFIG_BLK_DEV_SR=y
|
||||||
# CONFIG_BLK_DEV_SR_VENDOR is not set
|
|
||||||
# CONFIG_CHR_DEV_SG is not set
|
# CONFIG_CHR_DEV_SG is not set
|
||||||
# CONFIG_CHR_DEV_SCH is not set
|
# CONFIG_CHR_DEV_SCH is not set
|
||||||
# CONFIG_SCSI_CONSTANTS is not set
|
# CONFIG_SCSI_CONSTANTS is not set
|
||||||
@ -4847,6 +4846,7 @@ CONFIG_LEDS_TRIGGER_INPUT=y
|
|||||||
# CONFIG_LEDS_TRIGGER_NETDEV is not set
|
# CONFIG_LEDS_TRIGGER_NETDEV is not set
|
||||||
# CONFIG_LEDS_TRIGGER_PATTERN is not set
|
# CONFIG_LEDS_TRIGGER_PATTERN is not set
|
||||||
# CONFIG_LEDS_TRIGGER_AUDIO is not set
|
# CONFIG_LEDS_TRIGGER_AUDIO is not set
|
||||||
|
CONFIG_LEDS_TRIGGER_ACTPWR=y
|
||||||
# CONFIG_ACCESSIBILITY is not set
|
# CONFIG_ACCESSIBILITY is not set
|
||||||
# CONFIG_INFINIBAND is not set
|
# CONFIG_INFINIBAND is not set
|
||||||
CONFIG_EDAC_ATOMIC_SCRUB=y
|
CONFIG_EDAC_ATOMIC_SCRUB=y
|
||||||
|
Loading…
x
Reference in New Issue
Block a user