Commit 206003b1 authored by Dafna Hirschfeld's avatar Dafna Hirschfeld Committed by Mauro Carvalho Chehab

media: staging: rkisp1: rsz: set default format if the given format is not RKISP1_ISP_SD_SRC

When setting the sink format of the 'rkisp1_resizer'
the format should be supported by 'rkisp1_isp' on
the video source pad. This patch checks this condition
and sets the format to default if the condition is false.

Fixes: 56e3b29f "media: staging: rkisp1: add streaming paths"
Signed-off-by: default avatarDafna Hirschfeld <dafna.hirschfeld@collabora.com>
Reviewed-by: default avatarTomasz Figa <tfiga@chromium.org>
Acked-by: default avatarHelen Koike <helen.koike@collabora.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent c247818a
...@@ -22,6 +22,9 @@ ...@@ -22,6 +22,9 @@
#include "rkisp1-regs.h" #include "rkisp1-regs.h"
#include "uapi/rkisp1-config.h" #include "uapi/rkisp1-config.h"
#define RKISP1_ISP_SD_SRC BIT(0)
#define RKISP1_ISP_SD_SINK BIT(1)
#define RKISP1_ISP_MAX_WIDTH 4032 #define RKISP1_ISP_MAX_WIDTH 4032
#define RKISP1_ISP_MAX_HEIGHT 3024 #define RKISP1_ISP_MAX_HEIGHT 3024
#define RKISP1_ISP_MIN_WIDTH 32 #define RKISP1_ISP_MIN_WIDTH 32
......
...@@ -23,9 +23,6 @@ ...@@ -23,9 +23,6 @@
#define RKISP1_ISP_DEV_NAME RKISP1_DRIVER_NAME "_isp" #define RKISP1_ISP_DEV_NAME RKISP1_DRIVER_NAME "_isp"
#define RKISP1_ISP_SD_SRC BIT(0)
#define RKISP1_ISP_SD_SINK BIT(1)
/* /*
* NOTE: MIPI controller and input MUX are also configured in this file. * NOTE: MIPI controller and input MUX are also configured in this file.
* This is because ISP Subdev describes not only ISP submodule (input size, * This is because ISP Subdev describes not only ISP submodule (input size,
......
...@@ -542,7 +542,7 @@ static void rkisp1_rsz_set_sink_fmt(struct rkisp1_resizer *rsz, ...@@ -542,7 +542,7 @@ static void rkisp1_rsz_set_sink_fmt(struct rkisp1_resizer *rsz,
which); which);
sink_fmt->code = format->code; sink_fmt->code = format->code;
mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code); mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code);
if (!mbus_info) { if (!mbus_info || !(mbus_info->direction & RKISP1_ISP_SD_SRC)) {
sink_fmt->code = RKISP1_DEF_FMT; sink_fmt->code = RKISP1_DEF_FMT;
mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code); mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment