Skip to content

Commit

Permalink
[media] s5p-fimc: Add support for sensors with multiple pads
Browse files Browse the repository at this point in the history
Some sensors can have more than one pad (case of S5C73M3).
In such cases FIMC assumes the last pad of the sensor is
the source pad.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Andrzej Hajda authored and Mauro Carvalho Chehab committed Dec 21, 2012
1 parent 6319d6a commit 1c9f5bd
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
6 changes: 4 additions & 2 deletions drivers/media/platform/s5p-fimc/fimc-capture.c
Original file line number Diff line number Diff line change
Expand Up @@ -884,14 +884,16 @@ static int fimc_get_sensor_frame_desc(struct v4l2_subdev *sensor,
{
struct v4l2_mbus_frame_desc fd;
int i, ret;
int pad;

for (i = 0; i < num_planes; i++)
fd.entry[i].length = plane_fmt[i].sizeimage;

pad = sensor->entity.num_pads - 1;
if (try)
ret = v4l2_subdev_call(sensor, pad, set_frame_desc, 0, &fd);
ret = v4l2_subdev_call(sensor, pad, set_frame_desc, pad, &fd);
else
ret = v4l2_subdev_call(sensor, pad, get_frame_desc, 0, &fd);
ret = v4l2_subdev_call(sensor, pad, get_frame_desc, pad, &fd);

if (ret < 0)
return ret;
Expand Down
3 changes: 2 additions & 1 deletion drivers/media/platform/s5p-fimc/fimc-mdevice.c
Original file line number Diff line number Diff line change
Expand Up @@ -659,7 +659,8 @@ static int fimc_md_create_links(struct fimc_md *fmd)
"but s5p-csis module is not loaded!\n"))
return -EINVAL;

ret = media_entity_create_link(&sensor->entity, 0,
pad = sensor->entity.num_pads - 1;
ret = media_entity_create_link(&sensor->entity, pad,
&csis->entity, CSIS_PAD_SINK,
MEDIA_LNK_FL_IMMUTABLE |
MEDIA_LNK_FL_ENABLED);
Expand Down

0 comments on commit 1c9f5bd

Please sign in to comment.