- 31 1月, 2017 1 次提交
-
-
由 Shailendra Verma 提交于
Both functions initialize the file handle with v4l2_fh_init() and thus need to call clean up with v4l2_fh_exit() as appropriate. Fix it. Signed-off-by: NShailendra Verma <shailendra.v@samsung.com> Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 30 1月, 2017 1 次提交
-
-
由 Sakari Ailus 提交于
The function has a local variable that points to the media device; use that instead of finding the media device under the entity. Signed-off-by: NSakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 28 1月, 2017 1 次提交
-
-
由 Sakari Ailus 提交于
The media_entity_pipeline_start() and media_entity_pipeline_stop() functions are renamed as media_pipeline_start() and media_pipeline_stop(), respectively. The reason is two-fold: the pipeline struct is, rightly, already called media_pipeline (rather than media_entity_pipeline) and what this really is about is a pipeline. A pipeline consists of entities --- and, well, other objects embedded in these entities. As the pipeline object will be in the future moved from entities to pads in order to support multiple pipelines through a single entity, do the renaming now. Similarly, functions operating on struct media_entity_graph as well as the struct itself are renamed by dropping the "entity_" part from the prefix of the function family and the data structure. The graph traversal which is what the functions are about is not specifically about entities only and will operate on pads for the same reason as the media pipeline. The patch has been generated using the following command: git grep -l media_entity |xargs perl -i -pe ' s/media_entity_pipeline/media_pipeline/g; s/media_entity_graph/media_graph/g' And a few manual edits related to line start alignment and line wrapping. Signed-off-by: NSakari Ailus <sakari.ailus@linux.intel.com> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 24 8月, 2016 1 次提交
-
-
由 Hans Verkuil 提交于
Replace all calls to g/s_crop by calls to the get/set_selection pad ops. Remove the old g/s_crop video ops since they are now no longer used. The cropcap video op is now only used to pass pixelaspect information, and is only needed if the pixelaspect is not 1:1. Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 09 7月, 2016 2 次提交
-
-
由 Hans Verkuil 提交于
Make this a proper typed array. Drop the old allocate context code since that is no longer used. Note that the memops functions now get a struct device pointer instead of the struct device ** that was there initially (actually a void pointer to a struct containing only a struct device pointer). This code is now a lot cleaner. Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
-
由 Hans Verkuil 提交于
Stop using alloc_ctx and just fill in the device pointer. Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Mikhail Ulyanov <mikhail.ulyanov@cogentembedded.com> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 14 4月, 2016 1 次提交
-
-
由 Laurent Pinchart 提交于
All users of is_media_entity_v4l2_io() (the exynos4-is, omap3isp, davince_vpfe and omap4iss drivers and the v4l2-mc power management code) use the function to check whether entities are video_device instances, either to ensure they can cast the entity to a struct video_device, or to count the number of video nodes users. The purpose of the function is thus to identify whether the media entity instance is an instance of the video_device object, not to check whether it can perform I/O. Rename it accordingly, we will introduce a more specific is_media_entity_v4l2_io() check when needed. Signed-off-by: NLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Acked-by: NSakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 03 3月, 2016 1 次提交
-
-
由 Sakari Ailus 提交于
Power on devices represented by entities in the graph through the pipeline state using V4L2 graph PM operations instead of what was in the omap3isp driver. Signed-off-by: NSakari Ailus <sakari.ailus@linux.intel.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 25 1月, 2016 3 次提交
-
-
由 Lad, Prabhakar 提交于
use the vb2_buffer_state enum for assigning the state of the vb2 buffer, along side making isp_pipeline_state state variable local to the block. This fixes the following sparse warning as well: drivers/media/platform/omap3isp/ispvideo.c:497:35: warning: mixing different enum types drivers/media/platform/omap3isp/ispvideo.c:497:35: int enum isp_pipeline_state versus drivers/media/platform/omap3isp/ispvideo.c:497:35: int enum vb2_buffer_state Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Sakari Ailus 提交于
When the video buffer queue was stopped before the stream source was started in omap3isp_streamon(), the buffers were not returned back to videobuf2. Signed-off-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Sakari Ailus 提交于
Move the starting of the sensor from the VIDIOC_STREAMON handler to the videobuf2 queue op start_streaming. This avoids failing starting the stream after vb2_streamon() has already finished. Signed-off-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 11 1月, 2016 7 次提交
-
-
由 Sakari Ailus 提交于
Instead of using a bitmap directly in a driver, use the new media entity enumeration interface to perform the same. Signed-off-by: NSakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Sakari Ailus 提交于
The media graph walk requires initialisation and cleanup soon. Update the users to perform the soon necessary API calls. Signed-off-by: NSakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
With the MC next gen rework, what's left for media_entity_init() is to just initialize the PADs. However, certain devices, like a FLASH led/light doesn't have any input or output PAD. So, there's no reason why calling media_entity_init() would be mandatory. Also, despite its name, what this function actually does is to initialize the PADs data. So, rename it to media_entity_pads_init() in order to reflect that. The media entity actual init happens during entity register, at media_device_register_entity(). We should move init of num_links and num_backlinks to it. Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Instead of relying on media subtype, use the new macros to detect if an entity is a subdev or an A/V DMA entity. Please note that most drivers assume that there's just AV_DMA or V4L2 subdevs. This is not true anymore, as we've added MC support for DVB, and there are plans to add support for ALSA and FB/DRM too. Ok, on the current pipelines supported by those drivers, just V4L stuff are there, but, assuming that some day a pipeline that also works with other subsystems will ever added, it is better to add explicit checks for the AV_DMA stuff. Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Javier Martinez Canillas 提交于
The struct media_entity has a .parent field that stores a pointer to the parent struct media_device. But recently a media_gobj was embedded into the entities and since struct media_gojb already has a pointer to a struct media_device in the .mdev field, the .parent field becomes redundant and can be removed. This patch replaces all the usage of .parent by .graph_obj.mdev so that field will become unused and can be removed on a later patch. No functional changes. The transformation was made using the following coccinelle spatch: @@ struct media_entity *me; @@ - me->parent + me->graph_obj.mdev @@ struct media_entity *link; @@ - link->source->entity->parent + link->source->entity->graph_obj.mdev @@ struct exynos_video_entity *ve; @@ - ve->vdev.entity.parent + ve->vdev.entity.graph_obj.mdev Suggested-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com> Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Javier Martinez Canillas 提交于
Accessing media_entity ID should now use media_entity_id() macro to obtain the entity ID, as a next patch will remove the .id field from struct media_entity . So, get rid of it, otherwise the omap3isp driver will fail to build. Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Currently, media_entity_init() creates an array with the links, allocated at init time. It provides a parameter (extra_links) that would allocate more links than the current needs, but this is not used by any driver. As we want to be able to do dynamic link allocation/removal, we'll need to change the implementation of the links. So, before doing that, let's first remove that extra unused parameter, in order to cleanup the interface first. Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com> Acked-by: NSakari Ailus <sakari.ailus@linux.intel.com> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 18 12月, 2015 2 次提交
-
-
由 Junghak Sung 提交于
Move timestamp from struct vb2_v4l2_buffer to struct vb2_buffer for common use, and change its type to u64 in order to handling y2038 problem. This patch also includes all device drivers' changes related to this restructuring. Signed-off-by: NJunghak Sung <jh1009.sung@samsung.com> Signed-off-by: NGeunyoung Kim <nenggun.kim@samsung.com> Acked-by: NSeung-Woo Kim <sw0312.kim@samsung.com> Acked-by: NInki Dae <inki.dae@samsung.com> Signed-off-by: NHans Verkuil <hansverk@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Hans Verkuil 提交于
The queue_setup callback has a void pointer that is just for V4L2 and is the pointer to the v4l2_format struct that was passed to VIDIOC_CREATE_BUFS. The idea was that drivers would use the information from that struct to buffers suitable for the requested format. After the vb2 split series this pointer is now a void pointer, which is ugly, and the reality is that all existing drivers will effectively just look at the sizeimage field of v4l2_format. To make this more generic the queue_setup callback is changed: the void pointer is dropped, instead if the *num_planes argument is 0, then use the current format size, if it is non-zero, then it contains the number of requested planes and the sizes array contains the requested sizes. If either is unsupported, then return -EINVAL, otherwise use the requested size(s). Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 21 10月, 2015 1 次提交
-
-
由 Junghak Sung 提交于
Replace struct v4l2_format * with void * to make queue_setup() for common use. And then, modify all device drivers related with this change. Signed-off-by: NJunghak Sung <jh1009.sung@samsung.com> Signed-off-by: NGeunyoung Kim <nenggun.kim@samsung.com> Acked-by: NSeung-Woo Kim <sw0312.kim@samsung.com> Acked-by: NInki Dae <inki.dae@samsung.com> Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> [hans.verkuil@cisco.com: fix missing const in fimc-lite.c] Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 01 10月, 2015 1 次提交
-
-
由 Junghak Sung 提交于
Remove v4l2 stuff - v4l2_buf, v4l2_plane - from struct vb2_buffer. Add new member variables - bytesused, length, offset, userptr, fd, data_offset - to struct vb2_plane in order to cover all information of v4l2_plane. struct vb2_plane { <snip> unsigned int bytesused; unsigned int length; union { unsigned int offset; unsigned long userptr; int fd; } m; unsigned int data_offset; } Replace v4l2_buf with new member variables - index, type, memory - which are common fields for buffer management. struct vb2_buffer { <snip> unsigned int index; unsigned int type; unsigned int memory; unsigned int num_planes; struct vb2_plane planes[VIDEO_MAX_PLANES]; <snip> }; v4l2 specific fields - flags, field, timestamp, timecode, sequence - are moved to vb2_v4l2_buffer in videobuf2-v4l2.c struct vb2_v4l2_buffer { struct vb2_buffer vb2_buf; __u32 flags; __u32 field; struct timeval timestamp; struct v4l2_timecode timecode; __u32 sequence; }; Signed-off-by: NJunghak Sung <jh1009.sung@samsung.com> Signed-off-by: NGeunyoung Kim <nenggun.kim@samsung.com> Acked-by: NSeung-Woo Kim <sw0312.kim@samsung.com> Acked-by: NInki Dae <inki.dae@samsung.com> Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 17 8月, 2015 1 次提交
-
-
由 Laurent Pinchart 提交于
Platforms using the OMAP3 ISP have all switched to DT, drop platform data support. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 03 4月, 2015 4 次提交
-
-
由 Sakari Ailus 提交于
Only check for call platform data callback functions if there's platform data. Also take care of a few other cases where the NULL pdata pointer could have been accessed, and remove the check for NULL dev->platform_data pointer. Removing the check for NULL dev->platform_data isn't strictly needed by the DT support but there's no harm from that either: the device now can be used without sensors, for instance. Signed-off-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Laurent Pinchart 提交于
Replace the open-coded copy by a function call. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Lad, Prabhakar 提交于
There isn't a need to assign the state of vb2_buffer to active as this is already done by the core. Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Laurent Pinchart 提交于
videobuf2 has long been subject to AB-BA style deadlocks due to the queue lock and mmap_sem being taken in different orders for the mmap operation. The problem has been fixed by making this operation callable without taking the queue lock, using an mmap_lock internal to videobuf2. The omap3isp driver still calls the mmap operation with the queue lock held, resulting in a potential deadlock. As the operation can now be called without locking the queue, fix it. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 22 1月, 2015 1 次提交
-
-
由 Sakari Ailus 提交于
device_caps in struct v4l2_capability were inadequately set in VIDIOC_QUERYCAP. Fix this. Without this a WARN_ON in the v4l2 core is triggered. This WARN_ON was added for kernel 3.19 exactly to detect these situations. Signed-off-by: NSakari Ailus <sakari.ailus@iki.fi> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 15 11月, 2014 1 次提交
-
-
由 Boris BREZILLON 提交于
In order to have subsytem agnostic media bus format definitions we've moved media bus definition to include/uapi/linux/media-bus-format.h and prefixed values with MEDIA_BUS_FMT instead of V4L2_MBUS_FMT. Reference new definitions in all platform drivers. Signed-off-by: NBoris Brezillon <boris.brezillon@free-electrons.com> Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Acked-by: NSakari Ailus <sakari.ailus@linux.intel.com> Acked-by: NSekhar Nori <nsekhar@ti.com> Acked-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 22 8月, 2014 6 次提交
-
-
由 Laurent Pinchart 提交于
The CCDC can interleave fields into a single buffer when writing to memory. Support it. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
When the CCDC input is interlaced enable the alternate field order on the CCDC output video node. The field signal polarity is specified through platform data. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
The field order requested on the video node must match the field order at the connected subdevice source pad. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
If the requested field order is not supported default to progressive as we can't guess how the user will configure the pipeline later on. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
The isp_video_pix_to_mbus() and isp_video_mbus_to_pix() calls in isp_video_set_format() only access static fields of the isp_video structure. They don't need to be protected by a mutex. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
We don't want to modify all source files the day the FSF moves. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 25 5月, 2014 5 次提交
-
-
由 Laurent Pinchart 提交于
No functional changes. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
Replace the custom buffers queue implementation with a videobuf2 queue. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
When stopping a video stream the driver waits for ongoing DMA opeations to complete for the currently active buffer, but doesn't release the non-active queued buffers. This isn't a problem in most cases as the video device is usually closed after the stream is stopped, which will release all the buffers. However the problem would generate a warning when switching to videobuf2. Fix it by cancelling all buffers after DMA operations have completed. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
This prepares for the move to videobuf2. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
This prepares for the move to videobuf2. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NSakari Ailus <sakari.ailus@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-