From 8254b2369ae338a6cec5a3c1d83b66888459710d Mon Sep 17 00:00:00 2001 From: Khang Nguyen Date: Tue, 31 Mar 2020 10:20:20 +0900 Subject: rcar-gen3: weston: Backport fix patch for Weston crashes issue This backports the fix from [1]: Without universal plane, the weston crashes with null pointer access in set_gbm_format function because that function called before output enable function. By changing timing to set color format for primary plane in this case, this issue fixes. [1]: https://cgit.freedesktop.org/wayland/weston/commit/?id=51048463dae4ace13776bb77675316007083a6ee Signed-off-by: Khang Nguyen Signed-off-by: Takamitsu Honda Change-Id: Ia09b3f5bc0bf41b22b2210e2eea56913b4264761 --- ...timing-to-set-color-format-for-primary-pl.patch | 49 ++++++++++++++++++++++ .../recipes-graphics/wayland/weston_%.bbappend | 6 +++ 2 files changed, 55 insertions(+) create mode 100644 meta-rcar-gen3/recipes-graphics/wayland/weston/0001-drm-change-timing-to-set-color-format-for-primary-pl.patch (limited to 'meta-rcar-gen3/recipes-graphics/wayland') diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-drm-change-timing-to-set-color-format-for-primary-pl.patch b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-drm-change-timing-to-set-color-format-for-primary-pl.patch new file mode 100644 index 0000000..2c797df --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston/0001-drm-change-timing-to-set-color-format-for-primary-pl.patch @@ -0,0 +1,49 @@ +From 51048463dae4ace13776bb77675316007083a6ee Mon Sep 17 00:00:00 2001 +From: Tomohito Esaki +Date: Mon, 30 Mar 2020 17:10:54 +0900 +Subject: [PATCH] drm: change timing to set color format for primary plane + without universal plane + +Without universal plane, the weston crashes with null pointer access in +set_gbm_format function because that function called before output +enable function. By changing timing to set color format for primary +plane in this case, this issue fixes. + +Signed-off-by: Tomohito Esaki +--- + libweston/backend-drm/drm.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c +index 3c5ca65..2aea82f 100644 +--- a/libweston/backend-drm/drm.c ++++ b/libweston/backend-drm/drm.c +@@ -1389,12 +1389,6 @@ drm_output_set_gbm_format(struct weston_output *base, + + if (parse_gbm_format(gbm_format, b->gbm_format, &output->gbm_format) == -1) + output->gbm_format = b->gbm_format; +- +- /* Without universal planes, we can't discover which formats are +- * supported by the primary plane; we just hope that the GBM format +- * works. */ +- if (!b->universal_planes) +- output->scanout_plane->formats[0].format = output->gbm_format; + } + + static void +@@ -1626,6 +1620,12 @@ drm_output_init_crtc(struct drm_output *output, drmModeRes *resources) + goto err_crtc; + } + ++ /* Without universal planes, we can't discover which formats are ++ * supported by the primary plane; we just hope that the GBM format ++ * works. */ ++ if (!b->universal_planes) ++ output->scanout_plane->formats[0].format = output->gbm_format; ++ + /* Failing to find a cursor plane is not fatal, as we'll fall back + * to software cursor. */ + output->cursor_plane = +-- +2.7.4 + diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend b/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend index 4fab566..c2f75af 100644 --- a/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend +++ b/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend @@ -1,6 +1,12 @@ require include/gles-control.inc require include/multimedia-control.inc +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append_rcar-gen3 = " \ + file://0001-drm-change-timing-to-set-color-format-for-primary-pl.patch \ +" + PACKAGECONFIG_remove_virtclass-multilib-lib32 = "launch" DEPENDS_append_rcar-gen3 = " \ -- cgit 1.2.3-korg