From: Thierry Escande <thierry.escande@collabora.com>
To: Andrzej Pietrasiewicz <andrzej.p@samsung.com>,
Jacek Anaszewski <jacek.anaszewski@gmail.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v2 6/6] [media] s5p-jpeg: Add stream error handling for Exynos5420
Date: Mon, 12 Jun 2017 19:13:25 +0200 [thread overview]
Message-ID: <1497287605-20074-7-git-send-email-thierry.escande@collabora.com> (raw)
In-Reply-To: <1497287605-20074-1-git-send-email-thierry.escande@collabora.com>
From: henryhsu <henryhsu@chromium.org>
On Exynos5420, the STREAM_STAT bit raised on the JPGINTST register means
there is a syntax error or an unrecoverable error on compressed file
when ERR_INT_EN is set to 1.
Fix this case and report BUF_STATE_ERROR to videobuf2.
Signed-off-by: Henry-Ruey Hsu <henryhsu@chromium.org>
Signed-off-by: Thierry Escande <thierry.escande@collabora.com>
---
drivers/media/platform/s5p-jpeg/jpeg-core.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c
index 3d90a63..1a07a82 100644
--- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
+++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
@@ -2790,6 +2790,7 @@ static irqreturn_t exynos3250_jpeg_irq(int irq, void *dev_id)
unsigned long payload_size = 0;
enum vb2_buffer_state state = VB2_BUF_STATE_DONE;
bool interrupt_timeout = false;
+ bool stream_error = false;
u32 irq_status;
spin_lock(&jpeg->slock);
@@ -2806,6 +2807,11 @@ static irqreturn_t exynos3250_jpeg_irq(int irq, void *dev_id)
jpeg->irq_status |= irq_status;
+ if (irq_status & EXYNOS3250_STREAM_STAT) {
+ stream_error = true;
+ dev_err(jpeg->dev, "Syntax error or unrecoverable error occurred.\n");
+ }
+
curr_ctx = v4l2_m2m_get_curr_priv(jpeg->m2m_dev);
if (!curr_ctx)
@@ -2822,7 +2828,7 @@ static irqreturn_t exynos3250_jpeg_irq(int irq, void *dev_id)
EXYNOS3250_RDMA_DONE |
EXYNOS3250_RESULT_STAT))
payload_size = exynos3250_jpeg_compressed_size(jpeg->regs);
- else if (interrupt_timeout)
+ else if (interrupt_timeout || stream_error)
state = VB2_BUF_STATE_ERROR;
else
goto exit_unlock;
--
2.7.4
next prev parent reply other threads:[~2017-06-12 17:15 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-12 17:13 [PATCH v2 0/6] [media] s5p-jpeg: Various fixes and improvements Thierry Escande
2017-06-12 17:13 ` [PATCH v2 1/6] [media] s5p-jpeg: Reset the Codec before doing a soft reset Thierry Escande
2017-06-21 8:00 ` Andrzej Pietrasiewicz
2017-06-12 17:13 ` [PATCH v2 2/6] [media] s5p-jpeg: Call jpeg_bound_align_image after qbuf Thierry Escande
2017-06-12 17:13 ` [PATCH v2 3/6] [media] s5p-jpeg: Correct WARN_ON statement for checking subsampling Thierry Escande
2017-06-12 17:13 ` [PATCH v2 4/6] [media] s5p-jpeg: Decode 4:1:1 chroma subsampling format Thierry Escande
2017-06-20 11:57 ` Andrzej Pietrasiewicz
2017-06-12 17:13 ` [PATCH v2 5/6] [media] s5p-jpeg: Add support for resolution change event Thierry Escande
2017-06-16 15:38 ` Andrzej Pietrasiewicz
2017-06-19 13:50 ` Thierry Escande
2017-06-20 10:51 ` Andrzej Pietrasiewicz
2017-06-20 14:08 ` Thierry Escande
2017-06-12 17:13 ` Thierry Escande [this message]
2017-06-16 15:30 ` [PATCH v2 6/6] [media] s5p-jpeg: Add stream error handling for Exynos5420 Andrzej Pietrasiewicz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1497287605-20074-7-git-send-email-thierry.escande@collabora.com \
--to=thierry.escande@collabora.com \
--cc=andrzej.p@samsung.com \
--cc=jacek.anaszewski@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®