DRM: bump to 2.4.110

Signed-off-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
This commit is contained in:
Christophe Priouzeau 2022-05-02 11:57:43 +02:00
parent c71ef8c31c
commit 53c63ca90e
5 changed files with 95 additions and 97 deletions

View File

@ -1,7 +1,7 @@
From 6e2b3424b4d9d58c7bb5d3cef4d7762e3817d554 Mon Sep 17 00:00:00 2001 From 93a5788758bf97e1017c34fbda54e1e66f301f32 Mon Sep 17 00:00:00 2001
From: Christophe Priouzeau <christophe.priouzeau@st.com> From: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Date: Thu, 7 Nov 2019 14:32:28 +0100 Date: Thu, 9 Sep 2021 14:26:39 +0200
Subject: [PATCH 1/2] tests/modetest: automatic configuration Subject: [PATCH 1/4] tests/modetest: automatic configuration
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
@ -15,19 +15,19 @@ Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
1 file changed, 52 insertions(+), 2 deletions(-) 1 file changed, 52 insertions(+), 2 deletions(-)
diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c
index e66be66..018338c 100644 index 2c83bd0..f11095b 100644
--- a/tests/modetest/modetest.c --- a/tests/modetest/modetest.c
+++ b/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c
@@ -1811,7 +1811,7 @@ static void parse_fill_patterns(char *arg) @@ -1990,7 +1990,7 @@ static void parse_fill_patterns(char *arg)
static void usage(char *name) static void usage(char *name)
{ {
- fprintf(stderr, "usage: %s [-acDdefMPpsCvw]\n", name); - fprintf(stderr, "usage: %s [-acDdefMPpsCvrw]\n", name);
+ fprintf(stderr, "usage: %s [-acDdefMPpsCvwA]\n", name); + fprintf(stderr, "usage: %s [-acDdefMPpsCvrwA]\n", name);
fprintf(stderr, "\n Query options:\n\n"); fprintf(stderr, "\n Query options:\n\n");
fprintf(stderr, "\t-c\tlist connectors\n"); fprintf(stderr, "\t-c\tlist connectors\n");
@@ -1832,6 +1832,7 @@ static void usage(char *name) @@ -2012,12 +2012,13 @@ static void usage(char *name)
fprintf(stderr, "\t-d\tdrop master after mode set\n"); fprintf(stderr, "\t-d\tdrop master after mode set\n");
fprintf(stderr, "\t-M module\tuse the given driver\n"); fprintf(stderr, "\t-M module\tuse the given driver\n");
fprintf(stderr, "\t-D device\tuse the given device\n"); fprintf(stderr, "\t-D device\tuse the given device\n");
@ -35,16 +35,14 @@ index e66be66..018338c 100644
fprintf(stderr, "\n\tDefault is to dump all info.\n"); fprintf(stderr, "\n\tDefault is to dump all info.\n");
exit(0); exit(0);
@@ -1890,7 +1891,7 @@ static int pipe_resolve_connectors(struct device *dev, struct pipe_arg *pipe)
return 0;
} }
-static char optstr[] = "acdD:efF:M:P:ps:Cvw:"; -static char optstr[] = "acdD:efF:M:P:ps:Cvrw:";
+static char optstr[] = "acdD:efF:M:P:ps:Cvw:A"; +static char optstr[] = "acdD:efF:M:P:ps:Cvrw:A";
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
@@ -1911,6 +1912,7 @@ int main(int argc, char **argv) @@ -2039,6 +2040,7 @@ int main(int argc, char **argv)
struct plane_arg *plane_args = NULL; struct plane_arg *plane_args = NULL;
struct property_arg *prop_args = NULL; struct property_arg *prop_args = NULL;
unsigned int args = 0; unsigned int args = 0;
@ -52,7 +50,7 @@ index e66be66..018338c 100644
int ret; int ret;
memset(&dev, 0, sizeof dev); memset(&dev, 0, sizeof dev);
@@ -1999,12 +2001,18 @@ int main(int argc, char **argv) @@ -2133,12 +2135,18 @@ int main(int argc, char **argv)
prop_count++; prop_count++;
break; break;
@ -68,58 +66,58 @@ index e66be66..018338c 100644
+ if (auto_configuration) + if (auto_configuration)
+ use_atomic = false; + use_atomic = false;
+ +
if (!args || (args == 1 && use_atomic)) /* Dump all the details when no* arguments are provided. */
if (!args)
encoders = connectors = crtcs = planes = framebuffers = 1; encoders = connectors = crtcs = planes = framebuffers = 1;
@@ -2201,6 +2209,48 @@ int main(int argc, char **argv)
@@ -2042,6 +2050,48 @@ int main(int argc, char **argv) return 1;
return 1; }
}
+#define connector_status_connected 1 +#define connector_status_connected 1
+ if (auto_configuration) { + if (auto_configuration) {
+ struct resources *resources = dev.resources; + struct resources *resources = dev.resources;
+ drmModeConnector *connector; + drmModeConnector *connector;
+ char auto_arg[32]; + char auto_arg[32];
+ int j; + int j;
+ +
+ if (!resources->res->count_connectors || + if (!resources->count_connectors ||
+ !resources->res->count_crtcs) { + !resources->count_crtcs) {
+ fprintf(stderr, "Cannot find connector or crtc\n"); + fprintf(stderr, "Cannot find connector or crtc\n");
+ return 1; + return 1;
+ } + }
+ +
+ for (j = 0; j < resources->res->count_connectors; j++) { + for (j = 0; j < resources->count_connectors; j++) {
+ connector = resources->connectors[j].connector; + connector = resources->connectors[j].connector;
+ if(connector->connection == connector_status_connected) + if(connector->connection == connector_status_connected)
+ break; + break;
+ } + }
+ +
+ if (!connector->count_modes) { + if (!connector->count_modes) {
+ fprintf(stderr, "Cannot find mode\n"); + fprintf(stderr, "Cannot find mode\n");
+ return 1; + return 1;
+ } + }
+ +
+ snprintf(auto_arg, sizeof(auto_arg) - 1, "%d@%d:%s-%d@%s\n", + snprintf(auto_arg, sizeof(auto_arg) - 1, "%d@%d:%s-%d@%s\n",
+ connector->connector_id, resources->res->crtcs[0], + connector->connector_id, resources->crtcs[0].crtc->crtc_id,
+ connector->modes[0].name, connector->modes[0].vrefresh, + connector->modes[0].name, connector->modes[0].vrefresh,
+ "XR24"); + "XR24");
+ +
+ pipe_args = realloc(pipe_args, sizeof *pipe_args); + pipe_args = realloc(pipe_args, sizeof *pipe_args);
+ if (pipe_args == NULL) { + if (pipe_args == NULL) {
+ fprintf(stderr, "memory allocation failed\n"); + fprintf(stderr, "memory allocation failed\n");
+ return 2; + return 2;
+ } + }
+ memset(&pipe_args[count], 0, sizeof(*pipe_args)); + memset(&pipe_args[count], 0, sizeof(*pipe_args));
+ +
+ if (parse_connector(&pipe_args[count], auto_arg) < 0) + if (parse_connector(&pipe_args[count], auto_arg) < 0)
+ return 3; + return 3;
+ /* fix to one plane without atomic */ + /* fix to one plane without atomic */
+ count = 1; + count = 1;
+ } + }
+ +
for (i = 0; i < count; i++) { if (set_preferred || count)
if (pipe_resolve_connectors(&dev, &pipe_args[i]) < 0) { set_mode(&dev, pipe_args, count);
free_resources(dev.resources);
-- --
2.17.1 2.25.1

View File

@ -1,7 +1,7 @@
From 7810d0d375c6fce64de5f63429ddd5a00cc25a29 Mon Sep 17 00:00:00 2001 From 925e1dc00b00ed0e3fb965d4899398bdbb4967a7 Mon Sep 17 00:00:00 2001
From: Christophe Priouzeau <christophe.priouzeau@st.com> From: Christophe Priouzeau <christophe.priouzeau@st.com>
Date: Thu, 7 Nov 2019 14:32:54 +0100 Date: Thu, 7 Nov 2019 14:32:54 +0100
Subject: [PATCH 2/2] tests/util: smtpe: increase alpha to middle band Subject: [PATCH 2/4] tests/util: smtpe: increase alpha to middle band
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
@ -19,7 +19,7 @@ Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
1 file changed, 7 insertions(+), 7 deletions(-) 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/tests/util/pattern.c b/tests/util/pattern.c diff --git a/tests/util/pattern.c b/tests/util/pattern.c
index 42a0e5c..cfa8c6e 100644 index 158c0b1..a4eae23 100644
--- a/tests/util/pattern.c --- a/tests/util/pattern.c
+++ b/tests/util/pattern.c +++ b/tests/util/pattern.c
@@ -373,13 +373,13 @@ static void fill_smpte_rgb16(const struct util_rgb_info *rgb, void *mem, @@ -373,13 +373,13 @@ static void fill_smpte_rgb16(const struct util_rgb_info *rgb, void *mem,
@ -44,5 +44,5 @@ index 42a0e5c..cfa8c6e 100644
const uint16_t colors_bottom[] = { const uint16_t colors_bottom[] = {
MAKE_RGBA(rgb, 0, 33, 76, 255), /* in-phase */ MAKE_RGBA(rgb, 0, 33, 76, 255), /* in-phase */
-- --
2.17.1 2.25.1

View File

@ -1,43 +1,42 @@
From 76dfcf7ed090a6cdeda86aa566fa7b653925d01d Mon Sep 17 00:00:00 2001 From 1b17b5034c4854bbff5954f8712c1c6cf8b39db3 Mon Sep 17 00:00:00 2001
From: Yannick Fertre <yannick.fertre@st.com> From: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Date: Fri, 24 Apr 2020 15:31:23 +0200 Date: Thu, 9 Sep 2021 14:54:22 +0200
Subject: [PATCH 1/2] tests/modetest: set property in atomic mode Subject: [PATCH 3/4] tests/modetest: set property in atomic mode
In atomic mode, the additional properties must be done after In atomic mode, the additional properties must be done after
call of functions atomic_set_mode & atomic_set_planes. call of functions atomic_set_mode & atomic_set_planes.
Signed-off-by: Yannick Fertre <yannick.fertre@st.com> Signed-off-by: Yannick Fertre <yannick.fertre@st.com>
--- ---
tests/modetest/modetest.c | 9 +++++++-- tests/modetest/modetest.c | 8 ++++++++
1 file changed, 7 insertions(+), 2 deletions(-) 1 file changed, 8 insertions(+)
diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c
index 018338c..26cd9d6 100644 index f11095b..215f2ab 100644
--- a/tests/modetest/modetest.c --- a/tests/modetest/modetest.c
+++ b/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c
@@ -2108,8 +2108,10 @@ int main(int argc, char **argv) @@ -2197,6 +2197,11 @@ int main(int argc, char **argv)
dump_resource(&dev, planes); for (i = 0; i < prop_count; ++i)
dump_resource(&dev, framebuffers); set_property(&dev, &prop_args[i]);
- for (i = 0; i < prop_count; ++i)
- set_property(&dev, &prop_args[i]);
+ if (!dev.use_atomic) { + if (!dev.use_atomic) {
+ for (i = 0; i < prop_count; ++i) + for (i = 0; i < prop_count; ++i)
+ set_property(&dev, &prop_args[i]); + set_property(&dev, &prop_args[i]);
+ } + }
+
if (dev.use_atomic) { if (dev.use_atomic) {
dev.req = drmModeAtomicAlloc(); dev.req = drmModeAtomicAlloc();
@@ -2126,6 +2128,9 @@ int main(int argc, char **argv)
atomic_set_mode(&dev, pipe_args, count); @@ -2281,6 +2286,9 @@ int main(int argc, char **argv)
atomic_set_planes(&dev, plane_args, plane_count, false); if (count)
atomic_clear_mode(&dev, pipe_args, count);
+ for (i = 0; i < prop_count; ++i) + for (i = 0; i < prop_count; ++i)
+ set_property(&dev, &prop_args[i]); + set_property(&dev, &prop_args[i]);
+ +
ret = drmModeAtomicCommit(dev.fd, dev.req, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL); ret = drmModeAtomicCommit(dev.fd, dev.req, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
if (ret) { if (ret)
fprintf(stderr, "Atomic Commit failed [1]\n"); fprintf(stderr, "Atomic Commit failed\n");
-- --
2.7.4 2.25.1

View File

@ -1,24 +1,24 @@
From 250a5ae2a5caa28911deb1028143d0c9ea4fdf88 Mon Sep 17 00:00:00 2001 From a98a8c35b0ad2cd9c3f357eb2ed4143c37e4c333 Mon Sep 17 00:00:00 2001
From: Yannick Fertre <yannick.fertre@st.com> From: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Date: Fri, 24 Apr 2020 15:41:17 +0200 Date: Thu, 9 Sep 2021 14:56:46 +0200
Subject: [PATCH 2/2] tests/modetest: close crtc Subject: [PATCH 4/4] tests/modetest: close crtc
To test several configuration of crtc, it must be closed at the end To test several configuration of crtc, it must be closed at the end
of modetest test (with/without atomic mode). of modetest test (with/without atomic mode).
Signed-off-by: Yannick Fertre <yannick.fertre@st.com> Signed-off-by: Yannick Fertre <yannick.fertre@st.com>
--- ---
tests/modetest/modetest.c | 8 ++++++++ tests/modetest/modetest.c | 9 +++++++++
1 file changed, 8 insertions(+) 1 file changed, 9 insertions(+)
diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c
index 26cd9d6..7094762 100644 index 215f2ab..7c92702 100644
--- a/tests/modetest/modetest.c --- a/tests/modetest/modetest.c
+++ b/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c
@@ -2182,6 +2182,10 @@ int main(int argc, char **argv) @@ -2295,6 +2295,10 @@ int main(int argc, char **argv)
}
atomic_clear_FB(&dev, plane_args, plane_count); if (plane_count)
atomic_clear_FB(&dev, plane_args, plane_count);
+ +
+ for (i = 0; i < count; i++) + for (i = 0; i < count; i++)
+ drmModeSetCrtc(dev.fd, dev.resources->crtcs[i].crtc->crtc_id, + drmModeSetCrtc(dev.fd, dev.resources->crtcs[i].crtc->crtc_id,
@ -26,17 +26,18 @@ index 26cd9d6..7094762 100644
} }
drmModeAtomicFree(dev.req); drmModeAtomicFree(dev.req);
@@ -2220,6 +2224,10 @@ int main(int argc, char **argv) @@ -2333,6 +2337,11 @@ int main(int argc, char **argv)
if (count) if (set_preferred || count)
clear_mode(&dev); clear_mode(&dev);
+ +
+ for (i = 0; i < count; i++) + for (i = 0; i < count; i++)
+ drmModeSetCrtc(dev.fd, dev.resources->crtcs[i].crtc->crtc_id, + drmModeSetCrtc(dev.fd, dev.resources->crtcs[i].crtc->crtc_id,
+ 0, 0, 0, 0, 0, NULL); + 0, 0, 0, 0, 0, NULL);
+
} }
} }
-- --
2.7.4 2.25.1

View File

@ -1,9 +1,9 @@
# We don't want etnaviv drm package # We don't want etnaviv drm package
EXTRA_OECONF_remove_stm32mpcommon += "--enable-etnaviv-experimental-api" PACKAGECONFIG = "libkms install-test-programs"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/:" FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/:"
SRC_URI_append_stm32mpcommon = " \ SRC_URI:append:stm32mpcommon = " \
file://0001-tests-modetest-automatic-configuration.patch \ file://0001-tests-modetest-automatic-configuration.patch \
file://0002-tests-util-smtpe-increase-alpha-to-middle-band.patch \ file://0002-tests-util-smtpe-increase-alpha-to-middle-band.patch \
file://0003-tests-modetest-set-property-in-atomic-mode.patch \ file://0003-tests-modetest-set-property-in-atomic-mode.patch \