From b3e49987c5706612ee342c685dea799be596df6a Mon Sep 17 00:00:00 2001 From: Naoto Yamaguchi Date: Sun, 23 Apr 2023 20:25:45 +0900 Subject: Enable drm-lease support at psplash The upstream version of psplash is supporting fb based splash screen. On the other hand, drm lease infrastructure is not support fb. This patch enable drm-lease support at psplash. This work contributed by Hiroyuki Ishii at CES2023 demo development. Bug-AGL: SPEC-4766 Change-Id: I50b382c7f8ca4b46a8fb06fd649d0cfa49800c6d Signed-off-by: Naoto Yamaguchi --- ....c-Allocate-resources-only-for-the-first-.patch | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 meta-agl-drm-lease/recipes-core/psplash/files/0014-psplash-drm.c-Allocate-resources-only-for-the-first-.patch (limited to 'meta-agl-drm-lease/recipes-core/psplash/files/0014-psplash-drm.c-Allocate-resources-only-for-the-first-.patch') diff --git a/meta-agl-drm-lease/recipes-core/psplash/files/0014-psplash-drm.c-Allocate-resources-only-for-the-first-.patch b/meta-agl-drm-lease/recipes-core/psplash/files/0014-psplash-drm.c-Allocate-resources-only-for-the-first-.patch new file mode 100644 index 00000000..28b1014b --- /dev/null +++ b/meta-agl-drm-lease/recipes-core/psplash/files/0014-psplash-drm.c-Allocate-resources-only-for-the-first-.patch @@ -0,0 +1,46 @@ +From 7423f166c8899b84448f68739d5293f19f8dfd06 Mon Sep 17 00:00:00 2001 +From: Vasyl Vavrychuk +Date: Mon, 25 Apr 2022 10:59:53 +0300 +Subject: [PATCH 14/17] psplash-drm.c: Allocate resources only for the first + connector + +Since splash screen is shown only on the first scanout, there is no need +to allocate resources for next connectors. + +drm-backend backport from: +https://patchwork.yoctoproject.org/project/yocto/cover/20220425075954.10427-1-vasyl.vavrychuk@opensynergy.com/ + +Signed-off-by: Vasyl Vavrychuk +--- + psplash-drm.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/psplash-drm.c b/psplash-drm.c +index 2468cf1..5e56286 100644 +--- a/psplash-drm.c ++++ b/psplash-drm.c +@@ -39,6 +39,8 @@ + #include + #include "psplash-drm.h" + ++#define MIN(a,b) ((a) < (b) ? (a) : (b)) ++ + struct modeset_dev; + static int modeset_find_crtc(int fd, drmModeRes *res, drmModeConnector *conn, + struct modeset_dev *dev); +@@ -196,8 +198,10 @@ static int modeset_prepare(int fd) + return -errno; + } + +- /* iterate all connectors */ +- for (i = 0; i < res->count_connectors; ++i) { ++ /* ~iterate all connectors~ - Use first connector if present. It is ++ optimization related workaround since psplash supports drawing splash ++ screen on one scanout anyway. */ ++ for (i = 0; i < MIN(res->count_connectors, 1); ++i) { + /* get information for each connector */ + conn = drmModeGetConnector(fd, res->connectors[i]); + if (!conn) { +-- +2.25.1 + -- cgit 1.2.3-korg