aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/bugfix-crash-during-Full-HD-playback.patch37
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.14.bb5
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas/bugfix-crash-during-Full-HD-playback.patch37
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bb5
4 files changed, 84 insertions, 0 deletions
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/bugfix-crash-during-Full-HD-playback.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/bugfix-crash-during-Full-HD-playback.patch
new file mode 100644
index 0000000..0d87d44
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/bugfix-crash-during-Full-HD-playback.patch
@@ -0,0 +1,37 @@
+From b4b3ac9b2bdd5c234251bcf9f843cb972f8c06cf Mon Sep 17 00:00:00 2001
+From: Vitaliy Vasylskyy <vitaliy.vasylskyy@globallogic.com>
+Date: Mon, 17 Dec 2018 15:36:17 +0200
+Subject: [PATCH] bugfix: crash during Full HD playback
+
+This fixes issue with kernel crash during Full HD playback.
+Loop variable was used twice by mistake, so only plane 0 was
+handled properly, and crash happened when plane 1 was in use.
+
+Jira-Id: ADM-2589
+
+Change-Id: I52b69906a10646f5a95220ebced8d3a437ccc89a
+Signed-off-by: Vitaliy Vasylskyy <vitaliy.vasylskyy@globallogic.com>
+---
+
+diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
+index db32c20..26309fe 100644
+--- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
++++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
+@@ -227,7 +227,7 @@
+ struct rcar_du_vsp_plane_state *rstate = to_rcar_vsp_plane_state(state);
+ struct rcar_du_vsp *vsp = to_rcar_vsp_plane(plane)->vsp;
+ struct rcar_du_device *rcdu = vsp->dev;
+- unsigned int i;
++ unsigned int i, j;
+ int ret;
+
+ /*
+@@ -260,7 +260,7 @@
+
+ src = gem->sgt->sgl;
+ dst = sgt->sgl;
+- for (i = 0; i < gem->sgt->orig_nents; ++i) {
++ for (j = 0; j < gem->sgt->orig_nents; ++j) {
+ sg_set_page(dst, sg_page(src), src->length,
+ src->offset);
+ src = sg_next(src);
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.14.bb b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.14.bb
index fdc8a2c..5205bb5 100644
--- a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.14.bb
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.14.bb
@@ -36,3 +36,8 @@ S = "${WORKDIR}/git"
SRC_URI_append = " \
file://0001-arm64-bpf-correct-broken-uapi-for-BPF_PROG_TYPE_PERF.patch \
"
+
+# W/A to fix kernel crash
+SRC_URI_append = " \
+ file://bugfix-crash-during-Full-HD-playback.patch \
+"
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/bugfix-crash-during-Full-HD-playback.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/bugfix-crash-during-Full-HD-playback.patch
new file mode 100644
index 0000000..0d87d44
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/bugfix-crash-during-Full-HD-playback.patch
@@ -0,0 +1,37 @@
+From b4b3ac9b2bdd5c234251bcf9f843cb972f8c06cf Mon Sep 17 00:00:00 2001
+From: Vitaliy Vasylskyy <vitaliy.vasylskyy@globallogic.com>
+Date: Mon, 17 Dec 2018 15:36:17 +0200
+Subject: [PATCH] bugfix: crash during Full HD playback
+
+This fixes issue with kernel crash during Full HD playback.
+Loop variable was used twice by mistake, so only plane 0 was
+handled properly, and crash happened when plane 1 was in use.
+
+Jira-Id: ADM-2589
+
+Change-Id: I52b69906a10646f5a95220ebced8d3a437ccc89a
+Signed-off-by: Vitaliy Vasylskyy <vitaliy.vasylskyy@globallogic.com>
+---
+
+diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
+index db32c20..26309fe 100644
+--- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
++++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
+@@ -227,7 +227,7 @@
+ struct rcar_du_vsp_plane_state *rstate = to_rcar_vsp_plane_state(state);
+ struct rcar_du_vsp *vsp = to_rcar_vsp_plane(plane)->vsp;
+ struct rcar_du_device *rcdu = vsp->dev;
+- unsigned int i;
++ unsigned int i, j;
+ int ret;
+
+ /*
+@@ -260,7 +260,7 @@
+
+ src = gem->sgt->sgl;
+ dst = sgt->sgl;
+- for (i = 0; i < gem->sgt->orig_nents; ++i) {
++ for (j = 0; j < gem->sgt->orig_nents; ++j) {
+ sg_set_page(dst, sg_page(src), src->length,
+ src->offset);
+ src = sg_next(src);
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bb b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bb
index f0aa4b8..2f7e14f 100644
--- a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bb
+++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bb
@@ -73,6 +73,11 @@ SRC_URI_append = " \
file://0001-arm64-bpf-correct-broken-uapi-for-BPF_PROG_TYPE_PERF.patch \
"
+# W/A to fix kernel crash
+SRC_URI_append = " \
+ file://bugfix-crash-during-Full-HD-playback.patch \
+"
+
do_download_firmware () {
install -m 755 ${WORKDIR}/r8a779x_usb3_v*.dlmem ${STAGING_KERNEL_DIR}/firmware
}