aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
Commit message (Collapse)AuthorAge
...
* | [media] soc_camera: use vb2_ops_wait_prepare/finish helperLad, Prabhakar2015-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch drops driver specific wait_prepare() and wait_finish() callbacks from vb2_ops and instead uses the the helpers vb2_ops_wait_prepare/finish() provided by the vb2 core, the lock member of the queue needs to be initalized to a mutex so that vb2 helpers vb2_ops_wait_prepare/finish() can make use of it. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Cc: Josh Wu <josh.wu@atmel.com> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: simplify check in coda_buf_queuePhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | | | Now that the bitstream buffer is only allocated for the BIT decoder case, we can use bitstream.size to check for bitstream ringbuffer operation. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: allocate bitstream ringbuffer only for BIT decoderPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | | | The BIT encoder does not use a per-context bitstream ringbuffer as it encodes directly into the videobuf2 capture queue's buffers. Avoid allocation of the bitstream ringbuffer for encoder contexts. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: add support for contexts that do not use the BIT processorPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | In preparation for CODA9 JPEG support, allow contexts that control hardware units directly, without the BIT processor. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: free context buffers under buffer mutexPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | | | Make sure the buffer_mutex lock is taken in coda_bit_release while coda_free_framebuffers and coda_free_context_buffers are called. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: make seq_end_work optionalPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | In preparation for CODA9 JPEG support, which doesn't have to call SEQ_END on the BIT processor. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: switch BIT decoder source queue to vmallocPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | | | Since we have to copy from input buffers into the bitstream ringbuffer with the CPU, there is no need for contiguous DMA buffers on the decoder input side. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: add coda_estimate_sizeimage and use it in set_defaultsPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | Call coda_estimate_sizeimage from both try_fmt and set_defaults to avoid this v4l2-compliance warning on the h.264 decoder video device: G_FMT: 1920x1088, 32315559, 1, 1920, 1048576, 3, 0, 0, feedcafe TRY/S_FMT: 1920x1088, 32315559, 1, 1920, 3133440, 3, 0, 0, feedcafe fail: v4l2-test-formats.cpp(948): Video Capture: S_FMT(G_FMT) != G_FMT Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: don't ever use subsampling ping-pong buffers as reconstructed ↵Philipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | | | | | | | reference buffers On i.MX6, two subsampling ping-pong buffers are used for motion estimation and deblocking They should not be counted as framebuffers, or they will be also used to store reconstructed frames, causing visible artifacts in P-frames. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: issue seq_end_work during stop_streamingPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | | | This patch queues seq_end_work and flushes the queue during stop_streaming and clears the ctx->initialized flag. This allows to start streaming again after stopping streaming without releasing the context. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: remove unused isequence, reset qsequence in stop_streamingPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | The isequence counter is never used, qsequence counts the buffers queued into the bit decoder bitstream ringbuffer. It needs to be reset in stop_streaming. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: fix width validity check when starting to decodeMarkus Pargmann2015-02-02
| | | | | | | | | | | | | | | | | | Compare rounded up width to fit into bytesperline. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: clear RET_DEC_PIC_SUCCESS flag in prepare_decodePhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | To make sure a set RET_DEC_PIC_SUCCESS flag is not a leftover from a previous successful run, clear it in prepare_decode. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: initialize SRAM on probePhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | Zeroing the SRAM on probe helps with debugging SRAM contents. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: properly clear f_cap in coda_s_fmt_vid_outPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | Properly zero the structure on the stack before using it. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: fix try_fmt_vid_out colorspace settingPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | v4l2-compliance complains about invalid colorspace settings being accepted on the output side. This patch only allows REC709 and JPEG. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: fix job_ready debug reporting for bitstream decodingPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | | | | | Clarify whether job_ready returns false because the context is on hold, waiting for new input buffers, whether there are not enough input buffers to fill two into the bitstream, or whether there is not enough data in the bitstream buffer for the bitstream reader hardware to read a whole frame. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: adjust sequence offset after unexpected decoded frameLucas Stach2015-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If userspace doesn't properly separate the bitstream input into individual frames (which may happen for example on slightly corrupted streams) the CODA hardware may decode more frames than we expect. We already log an error in this case, but it's also necessary to adjust the sequence offset. Otherwise we spam the log with a sequence number mismatch on every frame frame after the unexpected one. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: move meta out of paddingPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | | | Handle an empty buffer metadata list without crashing. This can happen if the decoder is fed a broken stream, or multiple compressed frames in a single queued buffer. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: remove context debugfs entry lastPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | Do not remove the per-context debugfs directory before the per-buffer debugfs entries contained therein. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] coda: fix encoder rate control parameter masksPhilipp Zabel2015-02-02
| | | | | | | | | | | | | | | | | | This patch fixes the ENC_SEQ_RC_PARA initial delay and bitrate masks. These bit fields are 15 bit wide, not 7 bit. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] s5p-mfc: remove unnecessary version.h inclusionFabian Frederick2015-02-02
| | | | | | | | | | | | | | | | Based on versioncheck. Signed-off-by: Fabian Frederick <fabf@skynet.be> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] s5p-g2d: remove unnecessary version.h inclusionFabian Frederick2015-02-02
| | | | | | | | | | | | | | | | Based on versioncheck. Signed-off-by: Fabian Frederick <fabf@skynet.be> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] s5p-mfc-dec: Don't use encoder stop commandNicolas Dufresne2015-02-02
| | | | | | | | | | | | | | | | | | | | The decoder should handle V4L2_DEC_CMD_STOP to trigger drain, but it currently expecting V4L2_ENC_CMD_STOP. Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Acked-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] s5p-mfc-v6+: Use display_delay_enable CIDNicolas Dufresne2015-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MFC driver has two controls, DISPLAY_DELAY and DISPLAY_DELAY_ENABLE that allow forcing the decoder to return a decoded frame sooner regardless of the order. The added support for firmware version 6 and higher was not taking into account the DISPLAY_DELAY_ENABLE boolean. Instead it had a comment stating that DISPLAY_DELAY should be set to a negative value to disable it. This is not possible since the control range is from 0 to 65535. This feature was also supposed to be disabled by default in order to produce frames in display order. Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Acked-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2157: change firmware variable name and typeAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | Rename firmware variable from fw_file to fw_name and change its type from u8 to const char as request_firmware() input is. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2157: print chip versionAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | Print chip version once using log level into when init() is called. Remove cold/warm state printing as those are not very useful. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2157: print firmware versionAntti Palosaari2015-01-29
| | | | | | | | | | | | | | Firmware version could be printed similarly than si2168 driver does. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2157: add own goto label for kfree() on probe errorAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | Use own goto label for error case mem free is needed, even kfree could be called with NULL. I think it is better to have it, even not required. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2157: trivial ID table changesAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | - Rename ID table. - Remove magic numbers from ID table driver data field. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2157: change firmware download error handlingAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | | | | | Rename firmare download error path goto label. Remove firmware NULL set as NULL value is not needed anymore, due to recent change which started using goto labels for firmware error handling. Cc: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2157: carry pointer to client instead of state in tuner_privAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | | | Carry struct i2c_client pointer in tuner_priv. This driver is I2C driver, which is represented as a struct i2c_client, so better to carry this top level structure for each routine in order to unify things. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2157: simplify si2157_cmd_execute() error pathAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | Remove if () from firmware command error path as there should not be any error prone conditional logic there. Use goto labels instead. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2157: rename device state variable from 's' to 'dev'Antti Palosaari2015-01-29
| | | | | | | | | | | | | | | | | | 'dev' is likely most common name in kernel for structure containing device state instance, so rename it in order to keep things consistent. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: change firmware variable name and typeAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | Rename firmware variable from fw_file to fw_name and change its type from u8 to const char as request_firmware() input defines. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: print chip versionAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Print chip version once using log level into when init() is called. Remove cold/warm state printing as those are not very useful. old printing: si2168 6-0064: found a 'Silicon Labs Si2168' in cold state si2168 6-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw' si2168 6-0064: firmware version: 4.0.11 si2168 6-0064: found a 'Silicon Labs Si2168' in warm state new printing: si2168 6-0064: found a 'Silicon Labs Si2168-B40' si2168 6-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw' si2168 6-0064: firmware version: 4.0.11 Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: remove unneeded fw variable initializationAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | | | | | | | commit 034e1ec0ce299b9e90056793dcb3187e7add6b62 si2168: One function call less in si2168_init() after error detection That commit added goto label for error path to release firmware, but forgets to remove variable NULL set. Remove those now. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: enhance firmware download routineAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | | | | | | | All known old firmware firmware formats are downloaded using 8 byte chunks. Reject firmware if it could not be divided to 8 byte chunks and because of that we could simplify some calculations. Now both supported firmware download routines are rather similar. Cc: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: add own goto label for kzalloc failureAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | | | Use own label for kzalloc failure in which does not call kfree(). kfree() could be called with NULL, but it is still better to have own label which skips unnecessary kfree(). Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: change stream id debug log formatterAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | Change formatter from signed to unsigned as stream_id is 32bit unsigned variable. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: change firmware version print from debug to infoAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | | | Even firmware version is not needed to know, it is still interesting and useful to know some cases. Due to that increase its printing to info log level. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: rename few thingsAntti Palosaari2015-01-29
| | | | | | | | | | | | | | Rename some goto labels and more. No functionality changes. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: simplify si2168_cmd_execute() error pathAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | Remove if () from firmware command error path as there should not be any error prone conditional logic there. Use goto labels instead. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: get rid of own struct i2c_client pointerAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | We don't need that anymore as same pointer is passed to each routine via struct dvb_frontend private field. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: carry pointer to client instead of stateAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | | | | | | | Carry struct i2c_client pointer inside struct dvb_frontend private pointer. This driver is I2C driver, which is represented as a struct i2c_client, so better to carry this top level structure for each routine in order to unify things. This allows further simplification. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: rename device state variable from 's' to 'dev'Antti Palosaari2015-01-29
| | | | | | | | | | | | | | | | 'dev' is most common name in kernel for structure containing device state instance, so rename it. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] si2168: define symbol rate limitsAntti Palosaari2015-01-29
| | | | | | | | | | | | | | | | | | | | | | w_scan complains about missing symbol rate limits: This dvb driver is *buggy*: the symbol rate limits are undefined - please report to linuxtv.org Chip supports 1 to 7.2 MSymbol/s on DVB-C. Cc: stable@vger.kernel.org Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] lgdt3305: add support for fixed tp clock modeMichael Ira Krufky2015-01-29
| | | | | | | | | | | | | | | | | | Add support for controlling TP clock mode for VSB and QAM annex-B/C mode. Gated clock mode is the default value, and does not support QAM annex-C. The patch enables setting this control to fixed clock mode. Signed-off-by: Michael Ira Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] lgdt3305: we only need to pass state into lgdt3305_mpeg_mode_polarity()Michael Ira Krufky2015-01-29
| | | | | | | | | | | | | | | | Simplify the code a little bit by removing some uneeded arguments to lgdt3305_mpeg_mode_polarity(). Signed-off-by: Michael Ira Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* | [media] gspca_vc032x: Fix wrong bytesperlineLuca Bonissi2015-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I found a problem on vc032x gspca usb webcam subdriver: "bytesperline" property is wrong for YUYV and YVYU formats. With recent v4l-utils library (>=0.9.1), that uses "bytesperline" for pixel format conversion, the result is a wrong jerky image. Patch tested on my laptop (USB webcam Logitech Orbicam 046d:0892). BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=91181 Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>