diff options
author | Tan Nguyen <tan.nguyen.wh@rvc.renesas.com> | 2019-01-29 15:41:03 +0700 |
---|---|---|
committer | Thuy Tran <thuy.tran.xh@renesas.com> | 2019-02-28 09:43:53 +0700 |
commit | ee2c656b3eb98bc426ffb27e4d3d1479de7028d9 (patch) | |
tree | 09015f9c6858240c141020127177b28233173487 /meta-rcar-gen3/recipes-kernel | |
parent | b6d684825226e4e4d0d9f7a4a92721df9730dc81 (diff) |
rcar-gen3: linux-renesas: WORKAROUND to fix kernel crash
This commit applies a patch to fix kernel crash during FULL HD playback.
Signed-off-by: Tan Nguyen <tan.nguyen.wh@rvc.renesas.com>
Signed-off-by: Takamitsu Honda <takamitsu.honda.pv@renesas.com>
Diffstat (limited to 'meta-rcar-gen3/recipes-kernel')
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 } |