- 16 Aug, 2015 10 commits
-
-
Jan Kara authored
Convert vb2_vmalloc_get_userptr() to use frame vector infrastructure. When we are doing that there's no need to allocate page array and some code can be simplified. Tested-by:
Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by:
Jan Kara <jack@suse.cz> Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Jan Kara authored
Tested-by:
Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by:
Jan Kara <jack@suse.cz> Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Jan Kara authored
Provide simple helper functions to map virtual address range into an array of pfns / pages. Tested-by:
Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by:
Jan Kara <jack@suse.cz> Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Jan Kara authored
Convert omap_vout_uservirt_to_phys() to use get_vaddr_pfns() instead of hand made mapping of virtual address to physical address. Also the function leaked page reference from get_user_pages() so fix that by properly release the reference when omap_vout_buffer_release() is called. Signed-off-by:
Jan Kara <jack@suse.cz> [hans.verkuil@cisco.com: remove unused variable] Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Jan Kara authored
Provide new function get_vaddr_frames(). This function maps virtual addresses from given start and fills given array with page frame numbers of the corresponding pages. If given start belongs to a normal vma, the function grabs reference to each of the pages to pin them in memory. If start belongs to VM_IO | VM_PFNMAP vma, we don't touch page structures. Caller must make sure pfns aren't reused for anything else while he is using them. This function is created for various drivers to simplify handling of their buffers. Signed-off-by:
Jan Kara <jack@suse.cz> Acked-by:
Mel Gorman <mgorman@suse.de> Acked-by:
Vlastimil Babka <vbabka@suse.cz> Acked-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Jan Kara authored
Currently vb2 core acquires mmap_sem just around call to __qbuf_userptr(). However since commit f035eb4e (videobuf2: fix lockdep warning) it isn't necessary to acquire it so early as we no longer have to drop queue mutex before acquiring mmap_sem. So push acquisition of mmap_sem down into .get_userptr memop so that the semaphore is acquired for a shorter time and it is clearer what it is needed for. Note that we also need mmap_sem in .put_userptr memop since that ends up calling vb2_put_vma() which calls vma->vm_ops->close() which should be called with mmap_sem held. However we didn't hold mmap_sem in some code paths anyway (e.g. when called via vb2_ioctl_reqbufs() -> __vb2_queue_free() -> vb2_dma_sg_put_userptr()) and getting mmap_sem in put_userptr() introduces a lock inversion with queue->mmap_lock in the above mentioned call path. Luckily this whole locking mess will get resolved once we convert videobuf2 core to the new mm helper which avoids the need for mmap_sem in .put_userptr memop altogether. Signed-off-by:
Jan Kara <jack@suse.cz> Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
sr030pc30_get_fmt() can only succeed if both info->curr_win and info->curr_fmt are not NULL. If one of those vars are null, the curent code would call: ret = sr030pc30_set_params(sd); If the curr_win is null, it will return -EINVAL, as it would be expected. However, if curr_fmt is NULL, the function won't set it. The code will then try to read from it: mf->code = info->curr_fmt->code; mf->colorspace = info->curr_fmt->colorspace; with obviouly won't work. This got reported by smatch: drivers/media/i2c/sr030pc30.c:505 sr030pc30_get_fmt() error: we previously assumed 'info->curr_win' could be null (see line 499) drivers/media/i2c/sr030pc30.c:507 sr030pc30_get_fmt() error: we previously assumed 'info->curr_fmt' could be null (see line 499) Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
Why to store the chosed values for prediv, postdiv and mult if those won't be used? drivers/media/i2c/ov2659.c: In function 'ov2659_pll_calc_params': drivers/media/i2c/ov2659.c:912:35: warning: variable 's_mult' set but not used [-Wunused-but-set-variable] u32 s_prediv = 1, s_postdiv = 1, s_mult = 1; ^ drivers/media/i2c/ov2659.c:912:20: warning: variable 's_postdiv' set but not used [-Wunused-but-set-variable] u32 s_prediv = 1, s_postdiv = 1, s_mult = 1; ^ drivers/media/i2c/ov2659.c:912:6: warning: variable 's_prediv' set but not used [-Wunused-but-set-variable] u32 s_prediv = 1, s_postdiv = 1, s_mult = 1; ^ This is likely some leftover from some past change. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
drivers/media/i2c/ov9650.c:1439 ov965x_detect_sensor() warn: inconsistent indenting Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
drivers/media/i2c/tc358743.c:148:19: warning: Variable length array is used. As the maximum size is 1026, we can't use dynamic var, as it would otherwise spend 1056 bytes of the stack at i2c_wr() function. So, allocate a buffer with the allowed maximum size together with the state var. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com> Acked-by:
Mats Randgaard <matrandg@cisco.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 11 Aug, 2015 30 commits
-
-
Mauro Carvalho Chehab authored
While this is the first DVB platform drivers, let's keep the Kconfig options well organized, adding it on its own DVB menu. Of course, it should depend on MEDIA_DIGITAL_TV_SUPPORT, as this enables all DVB-related menus. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
Otherwise, it will break on 32 bits archs. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
compiling on some archs fail with: drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:540:8: error: implicit declaration of function ‘pinctrl_select_state’ [-Werror=implicit-function-declaration] ret = pinctrl_select_state(fei->pinctrl, tsin->pstate); That's due the need of including pinctrl.h header and because CONFIG_PINCTRL needs to be true. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Shraddha Barke authored
This patch introduces the use of the function usb_endpoint_type. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) + usb_endpoint_type(epd) Signed-off-by:
Shraddha Barke <shraddha.6596@gmail.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
pradheep authored
This patche removes the extra braces found in drivers/staging/media/lirc/lirc_imon.c to fix the warning thrown by checkpatch.pl Signed-off-by:
Pradheep Shrinivasan <pradheep.sh@gmail.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Zahari Doychev authored
The buffers with zero payload are now dumped in coda_fill_bitstream and not passed to coda_bitstream_queue. This avoids unnecessary fifo addition and buffer sequence counter increment. Signed-off-by:
Zahari Doychev <zahari.doychev@linux.com> Acked-by:
Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Javier Martinez Canillas authored
The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by:
Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Javier Martinez Canillas authored
The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by:
Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
As reported by smatch: drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:365 find_channel() error: buffer overflow 'fei->channel_data' 8 <= 63 It seems that a cut-and-paste type of error occurred here: the channel_data array size is C8SECTPFE_MAX_TSIN_CHAN, and not C8SECTPFE_MAXCHANNEL. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
While it won't work, it is good to allow it to build with COMPILE_TEST, as we can check if other patches would break compilation for this driver. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Peter Griffin authored
Add the new c8sectpfe demux driver to the STi section of the MAINTAINERS file. Signed-off-by:
Peter Griffin <peter.griffin@linaro.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Peter Griffin authored
This patch adds the Kconfig and Makefile for the c8sectpfe driver so it will be built. It also selects additional demodulator and tuners which are required by the supported NIM cards. Signed-off-by:
Peter Griffin <peter.griffin@linaro.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Peter Griffin authored
Some basic debugfs support to dump the IP registers. Further statistics could easily be added in the future for example for each enabled tsin channel we could expose number of corrupt packets received etc. Signed-off-by:
Peter Griffin <peter.griffin@linaro.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Peter Griffin authored
This patch adds support for the following 2 NIM cards: - 1) B2100A (2x stv0367 demods & 2x NXP tda18212 tuners) 2) STV0903-6110NIM (stv0903 demod + 6110 tuner, lnb24) A NIM card is a cold plugable expansion card which usually features a demodulator / tuner combination. Signed-off-by:
Peter Griffin <peter.griffin@linaro.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Peter Griffin authored
These functions are used by the core code for creating the LDVB devices and adapter. Addtionally some older SoC's (and potentially newer ones) have different frontend HW which would allow those devices to be easily supported in the future by keeping the code specific to the IP separate from the more generic code. Signed-off-by:
Peter Griffin <peter.griffin@linaro.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Peter Griffin authored
This patch adds support for the c8sectpfe input HW found on STiH407/410 SoC's. It currently supports the TS input block, memdma engine and hw PID filtering blocks of the C8SECTPFE subsystem. The driver creates one LinuxDVB adapter, and a demux/dvr/frontend set of devices for each tsin channel which is specificed in the DT. It has been tested with multiple tsin channels tuned, locked, and grabbing TS simultaneously. Signed-off-by:
Peter Griffin <peter.griffin@linaro.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Peter Griffin authored
This patch adds in the required DT node for the c8sectpfe Linux DVB demux driver which allows the tsin channels to be used on an upstream kernel. Signed-off-by:
Peter Griffin <peter.griffin@linaro.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Peter Griffin authored
This patch adds the DT bindings documentation for the c8sectpfe LinuxDVB demux driver whose IP is in the STiH407 family silicon SoC's. Signed-off-by:
Peter Griffin <peter.griffin@linaro.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Joe Perches authored
Convert the struct dvb_pll_desc uses to const and change the "entries" fixed array size from 12 to [] It saves a couple KB overall and remove ~5KB of data. $ size drivers/media/dvb-frontends/dvb-pll.o* text data bss dec hex filename 8520 1552 2120 12192 2fa0 drivers/media/dvb-frontends/dvb-pll.o.new 5624 6363 2120 14107 371b drivers/media/dvb-frontends/dvb-pll.o.old [PG] Patch taken from https://lkml.org/lkml/2015/6/24/721 with commit message updated. Signed-off-by:
Joe Perches <joe@perches.com> Signed-off-by:
Peter Griffin <peter.griffin@linaro.org> Reviewed-by:
Michael Ira Krufky <m.krufky@samsung.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Peter Griffin authored
The B2100A dvb NIM card from ST has 2x stv0367 demodulators and 2x TDA18212 silicon tuners, with a 16Mhz crystal. To get this working properly with the upstream driver we need to add support for the 16Mhz reference clock. Signed-off-by:
Peter Griffin <peter.griffin@linaro.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Peter Griffin authored
When using stv0367 demodulator with STi STB platforms, we can have easily have four or more stv0367 demods running in the system at one time. As typically the b2120 reference design ships with a b2004a daughter board, which can accept two dvb NIM cards, and each b2100A NIM has 2x stv0367 demods and 2x NXPs tuner on it. In such circumstances it is useful to print the i2c address on error messages to know which one is failing due to I2C issues. Signed-off-by:
Peter Griffin <peter.griffin@linaro.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
The Linux stack is short; we need to be able to count the number of bytes used at stack on each function. So, we don't like to use variable-length arrays, as complained by smatch: drivers/media/dvb-frontends/horus3a.c:57:19: warning: Variable length array is used. The max usecase of the driver seems to be 10 bytes + 1 for the register. So, let's be safe and allocate 11 bytes for the write buffer. This should be enough to cover all cases. If not, let's print an error message. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
The Linux stack is short; we need to be able to count the number of bytes used at stack on each function. So, we don't like to use variable-length arrays, as complained by smatch: drivers/media/dvb-frontends/horus3a.c:57:19: warning: Variable length array is used. The max usecase of the driver seems to be 5 bytes + 1 for the register. So, let's be safe and allocate 6 bytes for the write buffer. This should be enough to cover all cases. If not, let's print an error message. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
The Linux stack is short; we need to be able to count the number of bytes used at stack on each function. So, we don't like to use variable-length arrays, as complained by smatch: drivers/media/dvb-frontends/cxd2841er.c:205:19: warning: Variable length array is used. The max usecase of the driver seems to be 15 bytes + 1 for the register. So, let's be safe and allocate 17 bytes for the write buffer. This should be enough to cover all cases. If not, let's print an error message. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Kozlov Sergey authored
Add NetUP Dual Universal CI PCIe board driver. The board has - two CI slots - two I2C adapters - SPI master bus for accessing flash memory containing FPGA firmware No changes required. Signed-off-by:
Kozlov Sergey <serjk@netup.ru> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
drivers/media/dvb-frontends/cxd2841er.c:992:5: warning: no previous prototype for 'cxd2841er_get_carrier_offset_t2' [-Wmissing-prototypes] int cxd2841er_get_carrier_offset_t2( ^ drivers/media/dvb-frontends/cxd2841er.c:1032:5: warning: no previous prototype for 'cxd2841er_get_carrier_offset_c' [-Wmissing-prototypes] int cxd2841er_get_carrier_offset_c( ^ drivers/media/dvb-frontends/cxd2841er.c:1360:5: warning: no previous prototype for 'cxd2841er_read_snr_t2' [-Wmissing-prototypes] int cxd2841er_read_snr_t2(struct cxd2841er_priv *priv, u32 *snr) ^ Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Kozlov Sergey authored
Add DVB-C/T/T2/S/S2 demodulator frontend driver Sony CXD2841ER chip. Signed-off-by:
Kozlov Sergey <serjk@netup.ru> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Kozlov Sergey authored
Add DVB SEC frontend driver for STM LNBH25PQR chip. [mchehab@osg.samsung.com: fix merge conflict: fe_sec_voltage_t should not be used in kernelspace anymore. instead, it should use enum fe_sec_voltage] Signed-off-by:
Kozlov Sergey <serjk@netup.ru> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Kozlov Sergey authored
Add DVB-T/T2/C frontend driver for Sony Ascot2e (CXD2861ER) chip. Signed-off-by:
Kozlov Sergey <serjk@netup.ru> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Kozlov Sergey authored
Add DVB-S/S2 frontend driver for Sony Horus3A (CXD2832AER) chip Signed-off-by:
Kozlov Sergey <serjk@netup.ru> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-