diff options
author | Ed Tanous <ed.tanous@intel.com> | 2019-06-07 06:59:15 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-07 06:59:15 +0300 |
commit | 5575b1d27fc222f973d96dc06af0f21ba7656f28 (patch) | |
tree | 6d29c0a7edc3769c9fbba0a3c6f6ed9ba10ba8ed /meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0062-media-aspeed-add-a-workaround-to-fix-a-silicon-bug.patch | |
parent | 4aa406adc1accd959bf64d299d750e8b2083ace3 (diff) | |
parent | 10bc2ef852277cf8e9858f75cea9f55b482bf85b (diff) | |
download | openbmc-5575b1d27fc222f973d96dc06af0f21ba7656f28.tar.xz |
Merge pull request #10 from Intel-BMC/update
Update
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0062-media-aspeed-add-a-workaround-to-fix-a-silicon-bug.patch')
-rw-r--r-- | meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0062-media-aspeed-add-a-workaround-to-fix-a-silicon-bug.patch | 26 |
1 files changed, 14 insertions, 12 deletions
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 <jae.hyun.yoo@linux.intel.com> 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 <jae.hyun.yoo@linux.intel.com> --- - 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 |