Skip to content

Commit

Permalink
[media] exynos4-is: Set valid initial format on FIMC.n subdevs
Browse files Browse the repository at this point in the history
Ensure there are valid initial image formats on the FIMC.n subdev pads.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Sylwester Nawrocki authored and Mauro Carvalho Chehab committed Jun 28, 2013
1 parent 9494573 commit 3ad8624
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
19 changes: 17 additions & 2 deletions drivers/media/platform/exynos4-is/fimc-capture.c
Original file line number Diff line number Diff line change
Expand Up @@ -1722,8 +1722,8 @@ static int fimc_capture_set_default_format(struct fimc_dev *fimc)
struct v4l2_format fmt = {
.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE,
.fmt.pix_mp = {
.width = 640,
.height = 480,
.width = FIMC_DEFAULT_WIDTH,
.height = FIMC_DEFAULT_HEIGHT,
.pixelformat = V4L2_PIX_FMT_YUYV,
.field = V4L2_FIELD_NONE,
.colorspace = V4L2_COLORSPACE_JPEG,
Expand All @@ -1741,6 +1741,7 @@ static int fimc_register_capture_device(struct fimc_dev *fimc,
struct vb2_queue *q = &fimc->vid_cap.vbq;
struct fimc_ctx *ctx;
struct fimc_vid_cap *vid_cap;
struct fimc_fmt *fmt;
int ret = -ENOMEM;

ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
Expand Down Expand Up @@ -1788,6 +1789,20 @@ static int fimc_register_capture_device(struct fimc_dev *fimc,
if (ret)
goto err_free_ctx;

/* Default format configuration */
fmt = fimc_find_format(NULL, NULL, FMT_FLAGS_CAM, 0);
vid_cap->ci_fmt.width = FIMC_DEFAULT_WIDTH;
vid_cap->ci_fmt.height = FIMC_DEFAULT_HEIGHT;
vid_cap->ci_fmt.code = fmt->mbus_code;

ctx->s_frame.width = FIMC_DEFAULT_WIDTH;
ctx->s_frame.height = FIMC_DEFAULT_HEIGHT;
ctx->s_frame.fmt = fmt;

fmt = fimc_find_format(NULL, NULL, FMT_FLAGS_WRITEBACK, 0);
vid_cap->wb_fmt = vid_cap->ci_fmt;
vid_cap->wb_fmt.code = fmt->mbus_code;

vid_cap->vd_pad.flags = MEDIA_PAD_FL_SINK;
ret = media_entity_init(&vfd->entity, 1, &vid_cap->vd_pad, 0);
if (ret)
Expand Down
2 changes: 2 additions & 0 deletions drivers/media/platform/exynos4-is/fimc-core.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@
#define FIMC_DEF_MIN_SIZE 16
#define FIMC_DEF_HEIGHT_ALIGN 2
#define FIMC_DEF_HOR_OFFS_ALIGN 1
#define FIMC_DEFAULT_WIDTH 640
#define FIMC_DEFAULT_HEIGHT 480

/* indices to the clocks array */
enum {
Expand Down

0 comments on commit 3ad8624

Please sign in to comment.