summaryrefslogtreecommitdiffstats
path: root/drivers/media (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'topic/omap3isp' of ↵Linus Torvalds2014-06-1319-1744/+456
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull OMAP3 updates from Mauro Carvalho Chehab: "Some driver improvements on OMAP3. This series depend on some iommu patches already merged" * 'topic/omap3isp' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (26 commits) [media] omap3isp: Rename isp_buffer isp_addr field to dma [media] omap3isp: Move to videobuf2 [media] v4l: vb2: Add a function to discard all DONE buffers [media] omap3isp: Cancel all queued buffers when stopping the video stream [media] omap3isp: Move buffer irqlist to isp_buffer structure [media] omap3isp: Move queue irqlock to isp_video structure [media] omap3isp: Move queue mutex to isp_video structure [media] omap3isp: queue: Don't build scatterlist for kernel buffer [media] omap3isp: Use the ARM DMA IOMMU-aware operations [media] omap3isp: queue: Use sg_alloc_table_from_pages() [media] omap3isp: queue: Map PFNMAP buffers to device [media] omap3isp: queue: Fix the dma_map_sg() return value check [media] omap3isp: queue: Allocate kernel buffers with dma_alloc_coherent [media] omap3isp: queue: Inline the ispmmu_v(un)map functions [media] omap3isp: queue: Merge the prepare and sglist functions [media] omap3isp: queue: Use sg_table structure [media] omap3isp: queue: Move IOMMU handling code to the queue [media] omap3isp: video: Set the buffer bytesused field at completion time [media] omap3isp: ccdc: Use the DMA API for FPC [media] omap3isp: ccdc: Use the DMA API for LSC ...
| * [media] omap3isp: Rename isp_buffer isp_addr field to dmaLaurent Pinchart2014-05-257-17/+17
| | | | | | | | | | | | | | | | No functional changes. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: Move to videobuf2Laurent Pinchart2014-05-255-1286/+108
| | | | | | | | | | | | | | | | Replace the custom buffers queue implementation with a videobuf2 queue. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] v4l: vb2: Add a function to discard all DONE buffersLaurent Pinchart2014-05-251-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When suspending a device while a video stream is active all buffers marked as done but not dequeued yet will be kept across suspend and given back to userspace after resume. This will result in outdated buffers being dequeued. Introduce a new vb2 function to mark all done buffers as erroneous instead, to be used by drivers at resume time. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: Cancel all queued buffers when stopping the video streamLaurent Pinchart2014-05-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: Move buffer irqlist to isp_buffer structureLaurent Pinchart2014-05-253-21/+22
| | | | | | | | | | | | | | | | This prepares for the move to videobuf2. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: Move queue irqlock to isp_video structureLaurent Pinchart2014-05-255-27/+19
| | | | | | | | | | | | | | | | This prepares for the move to videobuf2. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: Move queue mutex to isp_video structureLaurent Pinchart2014-05-254-91/+86
| | | | | | | | | | | | | | | | This prepares for the move to videobuf2. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: queue: Don't build scatterlist for kernel bufferLaurent Pinchart2014-05-252-25/+7
| | | | | | | | | | | | | | | | The scatterlist is not needed for those buffers, don't build it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: Use the ARM DMA IOMMU-aware operationsLaurent Pinchart2014-05-255-61/+89
| | | | | | | | | | | | | | | | | | | | Attach an ARM DMA I/O virtual address space to the ISP device. This switches to the IOMMU-aware ARM DMA backend, we can thus remove the explicit calls to the OMAP IOMMU map and unmap functions. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: queue: Use sg_alloc_table_from_pages()Laurent Pinchart2014-05-251-14/+2
| | | | | | | | | | | | | | | | | | Replace the custom implementation with a call to the scatterlist helper function. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: queue: Map PFNMAP buffers to deviceLaurent Pinchart2014-05-252-18/+23
| | | | | | | | | | | | | | | | | | | | | | Userspace PFNMAP buffers need to be mapped to the device like the userspace non-PFNMAP buffers in order for the DMA mapping implementation to create IOMMU mappings when we'll switch to the IOMMU-aware DMA mapping backend. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: queue: Fix the dma_map_sg() return value checkLaurent Pinchart2014-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | dma_map_sg() can merge sglist entries, and can thus return a number of mapped entries different than the original value. Don't consider this as an error. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: queue: Allocate kernel buffers with dma_alloc_coherentLaurent Pinchart2014-05-252-32/+27
| | | | | | | | | | | | | | | | And retrieve the related sg table using dma_get_sgtable(). Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: queue: Inline the ispmmu_v(un)map functionsLaurent Pinchart2014-05-251-32/+4
| | | | | | | | | | | | | | | | | | The ispmmu_vmap() and ispmmu_vunmap() functions are just wrappers around omap_iommu_vmap() and omap_iommu_vunmap(). Inline them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: queue: Merge the prepare and sglist functionsLaurent Pinchart2014-05-252-104/+69
| | | | | | | | | | | | | | | | | | | | In preparation for the switch to the DMA API merge the two functions that handle buffer preparation for the USERPTR cases (both page-backed and non page-backed memory). Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: queue: Use sg_table structureLaurent Pinchart2014-05-252-74/+40
| | | | | | | | | | | | | | | | | | Replace the sglen and sglist fields stored in the buffer structure with an sg_table. This allows using the sg table allocation helper function. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: queue: Move IOMMU handling code to the queueLaurent Pinchart2014-05-253-83/+78
| | | | | | | | | | | | | | | | | | | | As a preparation for the switch from the OMAP IOMMU API to the DMA API move all IOMMU handling code from the video node implementation to the buffers queue implementation. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: video: Set the buffer bytesused field at completion timeLaurent Pinchart2014-05-251-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | The v4l buffer bytesused field is a value that will be returned to userspace when the buffer gets dequeued. As such it doesn't need to be set early at buffer queue time. Move the assignment to buffer completion in the omap3isp_video_buffer_next() function to prepare for the video buffers queue refactoring. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: ccdc: Use the DMA API for FPCLaurent Pinchart2014-05-252-24/+35
| | | | | | | | | | | | | | | | | | | | Replace the OMAP-specific IOMMU API usage by the DMA API for FPC. The table is now allocated using dma_alloc_coherent() and the related sg table is retrieved using dma_get_sgtable() for sync operations. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: ccdc: Use the DMA API for LSCLaurent Pinchart2014-05-252-31/+29
| | | | | | | | | | | | | | | | | | | | Replace the OMAP-specific IOMMU API usage by the DMA API for LSC. The table is now allocated using dma_alloc_coherent() and the related sg table is retrieved using dma_get_sgtable() for sync operations. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: stat: Use the DMA APILaurent Pinchart2014-05-252-72/+53
| | | | | | | | | | | | | | | | | | | | Replace the OMAP-specific IOMMU API usage by the DMA API. All buffers are now allocated using dma_alloc_coherent() and the related sg table is retrieved using dma_get_sgtable() for sync operations. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: stat: Store sg table in ispstat_bufferLaurent Pinchart2014-05-252-11/+10
| | | | | | | | | | | | | | | | | | | | The driver stores the IOMMU mapped iovm struct pointer in the buffer structure but only needs the iovm sg table. Store the sg table instead to prepare the migration to the DMA API. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: stat: Merge dma_addr and iommu_addr fieldsLaurent Pinchart2014-05-254-15/+11
| | | | | | | | | | | | | | | | | | | | The fields store buffer addresses as seen from the device. The first one is used with an external DMA engine while the second one is used with the ISP DMA engine. As they're never used together, merge them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: stat: Share common code for buffer allocationLaurent Pinchart2014-05-251-60/+54
| | | | | | | | | | | | | | | | | | Move code common between the isp_stat_bufs_alloc_dma() and isp_stat_bufs_alloc_iommu() functions to isp_stat_bufs_alloc(). Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: stat: Remove impossible WARN_ONLaurent Pinchart2014-05-251-2/+0
| | | | | | | | | | | | | | | | | | | | | | The WARN_ON statements in the buffer allocation functions try to catch conditions where buffers would have already been allocated. As the buffers are explicitly freed right before being allocated this can't happen. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] omap3isp: stat: Rename IS_COHERENT_BUF to ISP_STAT_USES_DMAENGINELaurent Pinchart2014-05-251-7/+7
| | | | | | | | | | | | | | | | | | | | | | The macro is meant to test whether the statistics engine uses an external DMA engine to transfer data or supports DMA directly. As both cases will be supported by DMA coherent buffers rename the macro to ISP_STAT_USES_DMAENGINE for improved clarity. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| |
| \
*-. \ Merge branches 'topic/vsp1' and 'topic/adv76xx' of ↵Linus Torvalds2014-06-0619-530/+1718
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media into next Pull updates and DT support for media engines from Mauro Carvalho Chehab. For Analog Devices ADV7604 and the Renesas VSP1 video processing engines. * 'topic/vsp1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] v4l: vsp1: Add DT support [media] v4l: vsp1: Add DT bindings documentation [media] v4l: vsp1: Add BRU support [media] v4l: vsp1: Support multi-input entities [media] v4l: vsp1: uds: Enable scaling of alpha layer [media] v4l: vsp1: Remove unexisting rt clocks * 'topic/adv76xx' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (21 commits) [media] adv7604: Add LLC polarity configuration [media] adv7604: Set HPD GPIO direction to output [media] adv7604: Add endpoint properties to DT bindings [media] adv7604: Add DT support [media] adv7604: Specify the default input through platform data [media] adv7604: Support hot-plug detect control through a GPIO [media] adv7604: Sort headers alphabetically [media] adv7604: Replace *_and_or() functions with *_clr_set() [media] adv7604: Store I2C addresses and clients in arrays [media] adv7604: Inline the to_sd function [media] v4l: subdev: Remove deprecated video-level DV timings operations [media] adv7604: Remove deprecated video-level DV timings operations [media] adv7604: Add pad-level DV timings support [media] adv7604: Make output format configurable through pad format operations [media] adv7604: Add sink pads [media] adv7604: Remove subdev control handlers [media] adv7604: Add adv7611 support [media] adv7604: Cache register contents when reading multiple bits [media] adv7604: Add 16-bit read functions for CP and HDMI [media] adv7604: Don't put info string arrays on the stack ...
| | * | [media] adv7604: Add LLC polarity configurationLaurent Pinchart2014-05-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an inv_llc_pol field to platform data to control the clock polarity. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Set HPD GPIO direction to outputLaurent Pinchart2014-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The HPD GPIO is used as an output but its direction is never set. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Add endpoint properties to DT bindingsLaurent Pinchart2014-05-251-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for the hsync-active, vsync-active and pclk-sample properties to the DT bindings and control BT.656 mode implicitly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Add DT supportLaurent Pinchart2014-05-251-14/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Parse the device tree node to populate platform data. Only the ADV7611 is currently support with DT. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Specify the default input through platform dataLaurent Pinchart2014-05-251-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And set input routing when initializing the device. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Support hot-plug detect control through a GPIOLaurent Pinchart2014-05-251-4/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for optional GPIO-controlled HPD pins in addition to the ADV7604-specific hotplug notifier. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Sort headers alphabeticallyLaurent Pinchart2014-05-251-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This helps locating duplicates and inserting new headers. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Replace *_and_or() functions with *_clr_set()Laurent Pinchart2014-05-251-43/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The *_and_or() functions take an 'and' bitmask to be ANDed with the register value before ORing it with th 'or' bitmask. As the functions are used to mask and set bits selectively, this requires the caller to invert the 'and' bitmask and is thus error prone. Replace those functions with a *_clr_set() variant that takes a mask of bits to be cleared instead of a mask of bits to be kept. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Store I2C addresses and clients in arraysLaurent Pinchart2014-05-251-178/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows replacing duplicate code blocks by loops over the arrays. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Inline the to_sd functionLaurent Pinchart2014-05-251-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This one line function is called in a single location. Inline it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Remove deprecated video-level DV timings operationsLaurent Pinchart2014-05-251-26/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The video enum_dv_timings and dv_timings_cap operations are deprecated and unused. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Add pad-level DV timings supportLaurent Pinchart2014-05-251-4/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The video enum_dv_timings and dv_timings_cap operations are deprecated. Implement the pad-level version of those operations to prepare for the removal of the video version. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Make output format configurable through pad format operationsLaurent Pinchart2014-05-251-25/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the dummy video format operations by pad format operations that configure the output format. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Tested-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Add sink padsLaurent Pinchart2014-05-251-26/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ADV7604 has sink pads for its HDMI and analog inputs. Report them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Remove subdev control handlersLaurent Pinchart2014-05-251-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Control operations are handled by the control framework and the subdev control handlers are never called directly. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Add adv7611 supportLars-Peter Clausen2014-05-251-201/+518
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Analog Devices ADV7611 HDMI receiver. The adv7611 is quite similar to the adv7604. It has only one instead of four HDMI inputs and no analog frontend though. Also some register bits have been shuffled around, but large parts of their register maps are compatible. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Cache register contents when reading multiple bitsLaurent Pinchart2014-05-251-13/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When extracting multiple bits from a single register read the register once and extract the bits on the read value. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Add 16-bit read functions for CP and HDMILaurent Pinchart2014-05-251-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 16-bit registers are read through two 8-bit read operations. Factorize that common pattern into 16-bit read accessors to simplify the code. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Don't put info string arrays on the stackLars-Peter Clausen2014-05-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We do not want to modify the info string arrays ever, so no need to waste stack space for them. While we are at it also make them const. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| | * | [media] adv7604: Add support for asynchronous probingLars-Peter Clausen2014-05-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Register the device with the v4l2 asynchronous probing framework to support asynchronous instantiation systems such as DT. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * | | [media] v4l: vsp1: Add DT supportLaurent Pinchart2014-04-231-8/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement support for the VSP1 DT bindings in the VSP1 driver. The driver now first retrieves platform data either from the platform data pointer or by reading the device tree node, and then validates it regardless of the platform data source. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * | | [media] v4l: vsp1: Add BRU supportLaurent Pinchart2014-04-2313-5/+586
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Blend ROP Unit performs blending and ROP operations for up to four sources. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>