- 22 8月, 2014 40 次提交
-
-
由 Philipp Zabel 提交于
This patch moves the context buffer allocation into the context start_streaming callbacks. The context buffer and internal framebuffer cleanup is moved into the context release callback. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
This adds a helper function to consolidate three occurences where the bitstream parameter stream end flag is set during operation. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
In preparation for the split, move the AXI_SRAM_USE register access and the PIC_RUN command execution out of pic_run_work into prepare_encode/decode. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
Add a struct coda_context_ops that encapsulates context specific operations. This will simplify adding JPEG support in the future and helps to avoid exporting all functions individually when they move out of the main code file. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
These will have to be shared between multiple code files. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
The coda driver has grown significantly and will continue to grow. Move the coda driver into its own directory so it can be split. Rename coda.h to coda_regs.h as it contains the register defines. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
The format and codec lists and the ops structures are read-only. Mark them as const. Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
If the user provides an invalid format, let the decoder device default to h.264. Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
Let the decoder capture side and encoder output side only list uncompressed formats, and the decoder output and encoder capture side only list compressed formats. Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
Userspace has a hard time making sense of format enumerations on V4L2 mem2mem devices if there are restrictions on which input and output formats can be used together. Alleviate the problem by splitting the video4linux device into separate encoder and decoder devices which list only raw formats on one side and only encoded formats on the other side. With this patch, the instance type (encoder or decoder) is already determined by the open file operation. Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
As soon as the output queue is streaming, let try_fmt on the capture side only allow the frame size that was set on the output side. Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Michael Olbrich 提交于
coda_fill_bitstream() calls v4l2_m2m_buf_done() which is no longer allowed before streaming was started. Delay coda_fill_bitstream() until coda_start_streaming() and explicitly set 'start_streaming_called' before calling coda_fill_bitstream() Signed-off-by: NMichael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Michael Olbrich 提交于
Without this changing CODA_MAX_FRAME_SIZE to anything other than 0x100000 can break the bitstram handling Signed-off-by: NMichael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
Disallow USERPTR buffers, videobuf2-dma-contig doesn't support them. Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
This is a mem2mem driver, pure capture or output modes are not supported. Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
If no firmware was found and the coda module is unloaded, coda_runtime_resume will be called without an allocated code buffer. Do not call coda_hw_init in this case. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Philipp Zabel 提交于
Do not try to read the CODA960 GDI status register on CODA7541. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NKamil Debski <k.debski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
When updating the crop rectangle during streaming, the IRQ handler will reprogram the resizer after the current frame. A race condition currently exists between the set selection operation and the IRQ handler: if the set selection operation is called twice in a row and the IRQ handler runs only during the second call, it could reprogram the hardware with partially updated values. Use a spinlock to protect against that. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NSakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
The resizer_set_input_size() function prints a debugging message with the input width and height values. As the function is called from interrupt context, printing that message to the serial console could slow down the interrupt handler and cause it to miss the start of the next frame, causing image corruption. Fix this by reorganizing the resizer debug messages. The driver now prints the input size, the crop rectangle and the output size in the set selection handler instead of scattering debug messages in various places. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NSakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
There's no need to initialize local variables to zero when they're explicitly assigned another value right after. Remove the needless initializations. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NSakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
As the CCDC doesn't generate interrupts when stopped in BT.656 mode, restart it immediately when the next buffer after an underrun is queued instead of relying on the interrupt handler to restart the CCDC. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
When the CCDC is already stopped due to a buffer underrun, the stop state machine won't advance in BT.656 mode as no interrupt are generated by the stopped CCDC in that mode. Handle this case explicitly in the ccdc_disable() function. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
In BT.656 mode the synchronization signals are generated by the CCDC from the embedded sync codes. The VD0 and VD1 interrupts are thus only triggered when the CCDC is enabled, unlike external sync mode where the line counter runs even when the CCDC is stopped. We can't disable the CCDC at VD1 time, as no VD0 interrupt would be generated for a short frame, which would result in the CCDC being stopped and no VD interrupt generated anymore. The CCDC is stopped from the VD0 interrupt handler instead for BT.656. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
We will stop using VD1 in BT.656 mode, move frame number increment to the VD0 interrupt handler. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
Use a local variable to avoid the duplicate spin_unlock_irqrestore() call. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
There's no need for a double underscore in the function name, remove it. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
Checking that the captured field corresponds to the last required field depending on the requested field order before completing the buffer isn't enough. When the first field at stream start corresponds to the last required field, this would result in returning an interlaced buffer containing a single field. Fix this by keeping track of the fields captured in the buffer, and make sure that both fields are present for alternate field orders. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
The video port doesn't support YUV formats. Disable it when the CCDC sink pad format is set to YUV instead of leaving it enabled and relying on downstream modules not to process data they receive from the video port. Experiments showed that this fixes some of the CCDC failures to stop, especially in BT.656 mode. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: NEnrico Butera <ebutera@users.sourceforge.net> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Laurent Pinchart 提交于
Query the CCDC input media bus type from the subdev connected to the CCDC sink pad and configure the CCDC accordingly to support BT.656 synchronization. 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 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 提交于
Instead of using goto statements to a single line return, return the correct value immediately. 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 提交于
Assign the format variable to the sink pad format earlier and use it instead of accessing the sink pad format directly from the ISP structure. 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>
-
由 Laurent Pinchart 提交于
Record the value returned by subdevs from s_stream(0) and handle stop failures when an error occurs. 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 must match between the source and sink pads, or the sink pad field order must be NONE. This allows connecting an interlaced source to a bridge that has no hardware support for interlaced formats. 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>
-
由 Sakari Ailus 提交于
Add support for the V4L2_CID_TEST_PATTERN control. When the solid colour mode is selected, additional controls become available for setting the solid four solid colour components. Signed-off-by: NSakari Ailus <sakari.ailus@linux.intel.com> Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-