summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch46
1 files changed, 40 insertions, 6 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch
index f8c44ea96..1d8b722de 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch
@@ -1,22 +1,56 @@
-From 9ca66177376464ce7c1bbe95c392c4509331ad74 Mon Sep 17 00:00:00 2001
+From 1765cb18bacff9d1f48b833f44da198a09f7d5cb Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Tue, 26 Nov 2019 16:39:16 -0800
Subject: [PATCH] media: aspeed: add aspeed,ast2600-video-engine compatible
string
This commit adds "aspeed,ast2600-video-engine" compatible string
-to support AST2600 video engine H/W.
+to support AST2600 video engine H/W. Also. it adds G6 specific
+register handling flow.
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- drivers/media/platform/aspeed-video.c | 1 +
- 1 file changed, 1 insertion(+)
+ drivers/media/platform/aspeed-video.c | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c
-index 0473f31..5fa48d3 100644
+index db45502774b1..fe70ad408375 100644
--- a/drivers/media/platform/aspeed-video.c
+++ b/drivers/media/platform/aspeed-video.c
-@@ -1717,6 +1717,7 @@ static int aspeed_video_remove(struct platform_device *pdev)
+@@ -72,8 +72,8 @@
+ #define VE_SEQ_CTRL_CAP_BUSY BIT(16)
+ #define VE_SEQ_CTRL_COMP_BUSY BIT(18)
+
+-#ifdef CONFIG_MACH_ASPEED_G5
+-#define VE_SEQ_CTRL_JPEG_MODE BIT(13) /* AST2500 */
++#if defined(CONFIG_MACH_ASPEED_G5) || defined(CONFIG_MACH_ASPEED_G6)
++#define VE_SEQ_CTRL_JPEG_MODE BIT(13) /* AST2500/2600 */
+ #else
+ #define VE_SEQ_CTRL_JPEG_MODE BIT(8) /* AST2400 */
+ #endif /* CONFIG_MACH_ASPEED_G5 */
+@@ -135,6 +135,12 @@
+
+ #define VE_OFFSET_COMP_STREAM 0x078
+
++#ifdef CONFIG_MACH_ASPEED_G6
++#define VE_JPEG_COMP_SIZE_READ_BACK 0x084 /* AST2600 */
++#else
++#define VE_JPEG_COMP_SIZE_READ_BACK VE_OFFSET_COMP_STREAM
++#endif
++
+ #define VE_SRC_LR_EDGE_DET 0x090
+ #define VE_SRC_LR_EDGE_DET_LEFT GENMASK(11, 0)
+ #define VE_SRC_LR_EDGE_DET_NO_V BIT(12)
+@@ -572,7 +578,7 @@ static irqreturn_t aspeed_video_irq(int irq, void *arg)
+ if (sts & VE_INTERRUPT_COMP_COMPLETE) {
+ struct aspeed_video_buffer *buf;
+ u32 frame_size = aspeed_video_read(video,
+- VE_OFFSET_COMP_STREAM);
++ VE_JPEG_COMP_SIZE_READ_BACK);
+
+ spin_lock(&video->lock);
+ clear_bit(VIDEO_FRAME_INPRG, &video->flags);
+@@ -1718,6 +1724,7 @@ static int aspeed_video_remove(struct platform_device *pdev)
static const struct of_device_id aspeed_video_of_match[] = {
{ .compatible = "aspeed,ast2400-video-engine" },
{ .compatible = "aspeed,ast2500-video-engine" },