From 10bc2ef852277cf8e9858f75cea9f55b482bf85b Mon Sep 17 00:00:00 2001 From: Ed Tanous Date: Thu, 6 Jun 2019 09:43:20 -0700 Subject: Update to internal 6-6-19 Signed-off-by: Ed Tanous --- ...d-remove-source-buffer-allocation-before-.patch | 40 ++++++++++++++++++---- ...d-fix-an-incorrect-timeout-checking-in-mo.patch | 30 ---------------- ...eed-add-a-workaround-to-fix-a-silicon-bug.patch | 26 +++++++------- .../recipes-kernel/linux/linux-aspeed_%.bbappend | 1 - 4 files changed, 47 insertions(+), 50 deletions(-) delete mode 100644 meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0061-media-aspeed-fix-an-incorrect-timeout-checking-in-mo.patch (limited to 'meta-openbmc-mods/meta-common/recipes-kernel/linux') diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0059-media-aspeed-remove-source-buffer-allocation-before-.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0059-media-aspeed-remove-source-buffer-allocation-before-.patch index e4161961e..41bf4fb55 100644 --- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0059-media-aspeed-remove-source-buffer-allocation-before-.patch +++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0059-media-aspeed-remove-source-buffer-allocation-before-.patch @@ -1,19 +1,19 @@ -From aa8f405609038693481bad4393d58f0c665569a6 Mon Sep 17 00:00:00 2001 +From 28aa61a720d2db812d66b2b59681ba184771ff3e Mon Sep 17 00:00:00 2001 From: Jae Hyun Yoo Date: Tue, 21 May 2019 16:00:28 -0700 -Subject: [PATCH 1/4] media: aspeed: remove source buffer allocation before - mode detection +Subject: [PATCH] media: aspeed: remove source buffer allocation before mode + detection Mode detection doesn't require source buffer allocation so this commit removes that. Signed-off-by: Jae Hyun Yoo --- - drivers/media/platform/aspeed-video.c | 21 --------------------- - 1 file changed, 21 deletions(-) + drivers/media/platform/aspeed-video.c | 37 +++++------------------------------ + 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c -index 1bb863b32836..ee1f87a08c7c 100644 +index 1bb863b32836..fed51fd22ce2 100644 --- a/drivers/media/platform/aspeed-video.c +++ b/drivers/media/platform/aspeed-video.c @@ -733,27 +733,6 @@ static void aspeed_video_get_resolution(struct aspeed_video *video) @@ -44,6 +44,32 @@ index 1bb863b32836..ee1f87a08c7c 100644 do { if (tries) { set_current_state(TASK_INTERRUPTIBLE); +@@ -873,20 +852,14 @@ static void aspeed_video_set_resolution(struct aspeed_video *video) + + size *= 4; + +- if (size == video->srcs[0].size / 2) { +- aspeed_video_write(video, VE_SRC1_ADDR, +- video->srcs[0].dma + size); +- } else if (size == video->srcs[0].size) { +- if (!aspeed_video_alloc_buf(video, &video->srcs[1], size)) +- goto err_mem; +- +- aspeed_video_write(video, VE_SRC1_ADDR, video->srcs[1].dma); +- } else { +- aspeed_video_free_buf(video, &video->srcs[0]); ++ if (size != video->srcs[0].size) { ++ if (video->srcs[0].size) ++ aspeed_video_free_buf(video, &video->srcs[0]); ++ if (video->srcs[1].size) ++ aspeed_video_free_buf(video, &video->srcs[1]); + + if (!aspeed_video_alloc_buf(video, &video->srcs[0], size)) + goto err_mem; +- + if (!aspeed_video_alloc_buf(video, &video->srcs[1], size)) + goto err_mem; + -- -2.21.0 +2.7.4 diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0061-media-aspeed-fix-an-incorrect-timeout-checking-in-mo.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0061-media-aspeed-fix-an-incorrect-timeout-checking-in-mo.patch deleted file mode 100644 index 7739d5214..000000000 --- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0061-media-aspeed-fix-an-incorrect-timeout-checking-in-mo.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 294391f66df034de8dc63ac2e78f3a00d14075d9 Mon Sep 17 00:00:00 2001 -From: Jae Hyun Yoo -Date: Thu, 23 May 2019 14:24:25 -0700 -Subject: [PATCH 3/4] media: aspeed: fix an incorrect timeout checking in mode - detection - -There is an incorrect timeout checking in mode detection logic so -it misses resolution detecting chances. This commit fixes the bug. - -Signed-off-by: Jae Hyun Yoo ---- - drivers/media/platform/aspeed-video.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c -index b8540cc7848d..da20e93f58d3 100644 ---- a/drivers/media/platform/aspeed-video.c -+++ b/drivers/media/platform/aspeed-video.c -@@ -737,7 +737,7 @@ static void aspeed_video_get_resolution(struct aspeed_video *video) - do { - if (tries) { - set_current_state(TASK_INTERRUPTIBLE); -- if (schedule_timeout(INVALID_RESOLUTION_DELAY)) -+ if (!schedule_timeout(INVALID_RESOLUTION_DELAY)) - return; - } - --- -2.21.0 - diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0062-media-aspeed-add-a-workaround-to-fix-a-silicon-bug.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0062-media-aspeed-add-a-workaround-to-fix-a-silicon-bug.patch index efa6f5023..a10963572 100644 --- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0062-media-aspeed-add-a-workaround-to-fix-a-silicon-bug.patch +++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0062-media-aspeed-add-a-workaround-to-fix-a-silicon-bug.patch @@ -1,7 +1,7 @@ -From 09ec380a1d6ae66b2a8124c8fdd984ff829b41d1 Mon Sep 17 00:00:00 2001 +From fa386f96691ed8501949daf5129667b72723a55e Mon Sep 17 00:00:00 2001 From: Jae Hyun Yoo Date: Thu, 23 May 2019 14:33:03 -0700 -Subject: [PATCH 4/4] media: aspeed: add a workaround to fix a silicon bug +Subject: [PATCH] media: aspeed: add a workaround to fix a silicon bug AST2500 silicon revision A1 and A2 have a silicon bug which causes extremly long capturing time on specific resolutions (1680 width). @@ -12,14 +12,14 @@ result will be the same. Signed-off-by: Jae Hyun Yoo --- - drivers/media/platform/aspeed-video.c | 26 +++++++++++++++++++------- - 1 file changed, 19 insertions(+), 7 deletions(-) + drivers/media/platform/aspeed-video.c | 28 +++++++++++++++++++++------- + 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c -index da20e93f58d3..c2d4a2e6f20f 100644 +index 67d6380d4ef3..f58f44eab588 100644 --- a/drivers/media/platform/aspeed-video.c +++ b/drivers/media/platform/aspeed-video.c -@@ -826,8 +826,27 @@ static void aspeed_video_set_resolution(struct aspeed_video *video) +@@ -826,8 +826,29 @@ static void aspeed_video_set_resolution(struct aspeed_video *video) struct v4l2_bt_timings *act = &video->active_timings; unsigned int size = act->width * act->height; @@ -29,9 +29,11 @@ index da20e93f58d3..c2d4a2e6f20f 100644 + if (video->active_timings.width == 1680) { + /* + * This is a workaround to fix a silicon bug on A1 and A2 -+ * revisions. Since it doesn't break capturing operation on A0 -+ * revision, use it for all revisions without checking the -+ * revision ID. ++ * revisions. Since it doesn't break capturing operation of ++ * other revisions, use it for all revisions without checking ++ * the revision ID. It picked 1728 which is a very next ++ * 64-pixels aligned value to 1680 to minimize memory bandwidth ++ * and to get better access speed from video engine. + */ + aspeed_video_write(video, VE_CAP_WINDOW, + 1728 << 16 | act->height); @@ -47,7 +49,7 @@ index da20e93f58d3..c2d4a2e6f20f 100644 /* Don't use direct mode below 1024 x 768 (irqs don't fire) */ if (size < DIRECT_FETCH_THRESHOLD) { aspeed_video_write(video, VE_TGS_0, -@@ -844,13 +863,6 @@ static void aspeed_video_set_resolution(struct aspeed_video *video) +@@ -844,13 +865,6 @@ static void aspeed_video_set_resolution(struct aspeed_video *video) aspeed_video_update(video, VE_CTRL, 0, VE_CTRL_DIRECT_FETCH); } @@ -60,7 +62,7 @@ index da20e93f58d3..c2d4a2e6f20f 100644 - size *= 4; - if (size == video->srcs[0].size / 2) { + if (size != video->srcs[0].size) { -- -2.21.0 +2.7.4 diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend index c5d48eb90..7ae4b5e64 100644 --- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend +++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend @@ -43,6 +43,5 @@ SRC_URI += " \ file://0058-i2c-aspeed-add-general-call-support.patch \ file://0059-media-aspeed-remove-source-buffer-allocation-before-.patch \ file://0060-media-aspeed-use-different-delays-for-triggering-VE-.patch \ - file://0061-media-aspeed-fix-an-incorrect-timeout-checking-in-mo.patch \ file://0062-media-aspeed-add-a-workaround-to-fix-a-silicon-bug.patch \ " -- cgit v1.2.3