summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0062-media-aspeed-add-a-workaround-to-fix-a-silicon-bug.patch
diff options
context:
space:
mode:
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.patch68
1 files changed, 0 insertions, 68 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
deleted file mode 100644
index a10963572..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0062-media-aspeed-add-a-workaround-to-fix-a-silicon-bug.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-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] 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).
-To fix the bug, this commit adjusts the capturing window register
-setting to 1728 if detected width is 1680. The compression window
-register setting will be kept as the original width so output
-result will be the same.
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
----
- 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 67d6380d4ef3..f58f44eab588 100644
---- a/drivers/media/platform/aspeed-video.c
-+++ b/drivers/media/platform/aspeed-video.c
-@@ -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;
-
-+ /* Set capture/compression frame sizes */
- aspeed_video_calc_compressed_size(video, size);
-
-+ 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 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);
-+ size += (1728 - 1680) * video->active_timings.height;
-+ } else {
-+ aspeed_video_write(video, VE_CAP_WINDOW,
-+ act->width << 16 | act->height);
-+ }
-+ aspeed_video_write(video, VE_COMP_WINDOW,
-+ act->width << 16 | act->height);
-+ aspeed_video_write(video, VE_SRC_SCANLINE_OFFSET, act->width * 4);
-+
- /* 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 +865,6 @@ static void aspeed_video_set_resolution(struct aspeed_video *video)
- aspeed_video_update(video, VE_CTRL, 0, VE_CTRL_DIRECT_FETCH);
- }
-
-- /* Set capture/compression frame sizes */
-- aspeed_video_write(video, VE_CAP_WINDOW,
-- act->width << 16 | act->height);
-- aspeed_video_write(video, VE_COMP_WINDOW,
-- act->width << 16 | act->height);
-- aspeed_video_write(video, VE_SRC_SCANLINE_OFFSET, act->width * 4);
--
- size *= 4;
-
- if (size != video->srcs[0].size) {
---
-2.7.4
-