summaryrefslogtreecommitdiff
path: root/drivers/media
AgeCommit message (Collapse)Author
2014-04-25Merge remote-tracking branch 'remotes/fsl-linux-sdk/imx_3.10.31_1.1.0_alpha' ↵Ke Qinghua
into imx_3.10.y_android
2014-04-24ENGR00301281 media: mxc vout: set input resolution back after PP check/processLiu Ying
In VDOA PP mode, the input resolution would be changed to be VDOA's output for PP to use as its input resolution to go on to do resizing or color space conversion. The input resolution will be different from the original one when VDOA input cropping is enabled. And, this finally causes a wrong input resolution being used if the users do rotation by calling the S_CTRL ioctrl in runtime. In order to fix this issue, this patch sets the original input resolution back after PP task check and process. The issue can be reproduced by the following command line(enable VDOA mode in the gst plugin configuration file first): gplay AVC_MP30_854x356_23.976_679_AACLC_44.1_96_2_TRON_LEGACY.flv (Enter 't 90' to change to rotate 90 degrees in runtime.) In this case, VDOA input cropping(854x356 -> 848x352) is enabled because VDOA input resolution should align to macro block size. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit 4c732ad69265d8e441e6c15a2e87f5aeef234624)
2014-04-21ENGR00300059 On 3.10.17 kernel, Camera can't preview in most resolutionsFang Hui
when queue buffer, just compare input size with cam->v2f.fmt.pix.sizeimage, don't with PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage). Signed-off-by: Fang Hui <b31070@freescale.com>
2014-04-17ENGR00307014-06 vadc: Enable vadc functionSandor Yu
Enable vadc function. That can work at PAL 720x576 and NTSC 720x480 mode. Signed-off-by: Sandor Yu <R01008@freescale.com>
2014-04-17ENGR00307014-03 v4l2 capture: support for vadcSandor Yu
-Add v4l2 capture ioctl VIDIOC_S_INPUT, VIDIOC_G_INPUT,VIDIOC_ENUMINPUT, VIDIOC_S_STD,VIDIOC_G_STD support. -Add NTSC, PAL format define. -Add parameter cam_input_fmt to save camera sensor format. Signed-off-by: Sandor Yu <R01008@freescale.com>
2014-04-17ENGR00307014-02 csi: update csi driver to support vadcSandor Yu
-Add csi control register 18 define. -Add csi_tvdec_enable and csi_deinterlace_mode for vadc. -Add csi_set_32bit_imagpara function to support YUV444 format. Signed-off-by: Sandor Yu <R01008@freescale.com>
2014-04-16ENGR00304418 [V4l2][PXP] Add some rotation cases support for V4L app.Fancy Fang
Some V4L2 apps require that playing rotated fullscreen video on the screen. In recent PXP driver, this is not supported yet. So this patch adds it on through combining rotation and resize together. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2014-04-16ENGR00301270 [V4L2 Capture] PXP V4L2 output can't report absolute physical ↵Fancy Fang
address. Add absolute physical address report by V4L2 driver after this buffer has been mapped, which is requested by some multimedia applications. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2014-04-16ENGR00305067-2 media: v4l2: mxc pxp output: Weaken fb id checkLiu Ying
This patch uses strncmp() to replace strcmp() to weaken framebuffer id check so that the mxs framebuffer driver may use different names for standalone framebuffers. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-04-16ENGR00300658-6 csi: imx6sx: add clock handling in driverRobby Cai
According to IC team, DCIC1 clock is used in the IPSYNC for CSI1 and DCIC2 clock is used in the IPSYNC for the CSI2. So dcic clock is needed for CSI. The display axi clock is a clock gating newly added on imx6sx. It needs to be enabled for lcdif/pxp/csi/pcie to work. CSI clock seems to be implemented different other than other SoCs. It needs also to be enabled before access the registers, otherwise the system will hang. Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00300658-4 csi: imx6sx: add CSI_ENABLE bit control in driverRobby Cai
on imx6sx, a new bit CSI_ENABLE is added in IC design. This patch adds this support for CSI control. Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00303663 mxc v4l2 capture: Don't return error if we cannot get mipi csi2Liu Ying
The mipi csi2 code is ugly present in the capture pipeline setup/disable routions with '#ifdef CONFIG_MXC_MIPI_CSI2/#endif' protected. Whenever it finds mipi_csi2_info is not gotten correctly, it will return error to callers. This breaks the normally routines in which mipi csi2 is not used and mipi csi2 driver is disabled in its devicetree node(but with the Kconfig CONFIG_MXC_MIPI_CSI2 defined). A real example is the capture feature on the MX6 Sabreauto platforms. We have only parallel CSI input on it and the mipi csi2 driver is disabled in its devicetree node but with the Kconfig CONFIG_MXC_MIPI_CSI2 defined. So, a reasonable choice at present is not to return error if mipi_csi2_info cannot be gotten, though we could eventually re-organize the capture code for a better total solution in the future. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-04-16ENGR00243315-4 MXC V4L2 Capture:Improve debug info for s_stdLiu Ying
commit f8e1a3bb62eecf93a31a51c4dbe08a0214fa1d57 introduced an annoying kernel log by changing a pure debug info to error level. This patch reverts that change. Conflicts: drivers/media/video/mxc/capture/mxc_v4l2_capture.c Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit 289cc885ae097bbf9849cb266679a2969e5c39a9)
2014-04-16ENGR00243315-3 MXC V4L2 Capture:Remove unnecessary mclk settingLiu Ying
commit f8e1a3bb62eecf93a31a51c4dbe08a0214fa1d57 added a hard coding for csi_parma.mclk setting to 27MHz. The comment added by that commit is totally wrong by telling that csi_param.mclk would be a kind of 'pixel clock' set in 'csi_data_dest' register. This patch removes the unnecessary mclk setting for csi_param.mclk variable, since it is only valid for CSI test mode. Conflicts: drivers/media/video/mxc/capture/mxc_v4l2_capture.c Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit 5fed1e3fde2d63c80f414f204734d35ceecef561)
2014-04-16ENGR00299224 ov5640 mipi: support internal enum_frameintervals ioctrlLiu Ying
This patch adds internal v4l2 enum_frameintervals ioctrl support for the ov5640 mipi camera driver. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-04-16ENGR00299214 mxc v4l2 capture: support VIDIOC_ENUM_FRAMEINTERVALS ioctlLiu Ying
This patch adds VIDIOC_ENUM_FRAMEINTERVALS ioctl support for the mxc v4l2 capture driver. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-04-16ENGR00293132-2 pxp/v4l2: restore smem_start for framebuffer even exit abnormallyRobby Cai
Previously, the framebuffer for UI display may only be restored after STREAMOFF ioctl is called. But sometimes the application may exit abnormally (without call STREAMOFF) for some reason. Now restore previously-saved smem_start in release function to make sure it's set correctly, to avoid some video frame remain. Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00293132-1 pxp/v4l2: change memory alloc policy for PxP output bufferRobby Cai
In previous implementation, the memory allocation/free for PxP output buffer is done each time v4l2 output device is opened/closed. This is not necessary and may cause memory fragmentation issue after running many many times. Now we re-allocate the memory for it only if the existing memory size is not sufficent for new case. Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00291843 V4L2_PXP: fix a dangling pointer accessing issueFancy Fang
After dynamically alloc/free tx descriptors enabled, the descriptors will be freed in PXP ISR which happens before pxp_buf_free() is called. Signed-off-by: Fancy Fang <B47543@freescale.com>
2014-04-16ENGR00291111 mxc vout:Restore when new config failsLiu Ying
Users may call VIDIOC_S_CTRL and VIDIOC_S_CROP ioctrls to change rotation and cropping settings when streaming. The driver should restore the original settings if new configuration fails, otherwise, it might break the present pipeline. This patch fixes the issue which can be reproduced by this test case with a 1080P HDMI primary display: gplay Mpeg4_SP1_480x260_24_1200_aac_48_128_2_terminator3.mp4 Type 't' to set rotation to 90. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-04-16ENGR00290635-1 mxc vout:Fix a build warningLiu Ying
This patch fixes the following build warning by allocating a block of virtual memory to cache an instance of the structure mxc_vout_output instead of using the stack frame. drivers/media/platform/mxc/output/mxc_vout.c: In function ‘mxc_vidioc_s_crop’: drivers/media/platform/mxc/output/mxc_vout.c:1529:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=] Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-04-16ENGR00289648 mx6sl: v4l2 output: Add UYVY format as input format for v4l2Robby Cai
This feature is easy for gstreamer to pipeline v4lsrc and v4lsink, since camera output format can be set as UYVY in v4l2 capture driver, and PxP will do the CSC from UYVY to RGB565 in v4l2 output driver for LCD display. Signed-off-by: Robby Cai <R63905@freescale.com> (cherry picked from commit d8f47ca83385f3e96ce457f35b69c4a7ac733a6e)
2014-04-16ENGR00289436 - [V4L2 Capture] Build warning on mxc_v4l2_capture.cOliver Brown
Need to remove the following warning: warning: array subscript is above array bounds Summary of changes: Moved MXC_SENSOR_NUM definition to mxc_v4l2_capture.h. all_sensors[] now uses MXC_SENSOR_NUM in definition. MXC_SENSOR_NUM is now used for bounds checking the array. Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
2014-04-16ENGR00279204-2 mxc vout: reconfig overlay fb correctlyLiu Ying
The overlay framebuffer's position and resolution are set with two different APIs. They depend on each other to make sure the overlay framebuffer window will not go out of the background framebuffer window. Potentially, this causes the overlay framebuffer's position or resolution of the current video pipeline be impacted by the settings of the last time. To setup the overlay fb from scratch correctly, this patch takes the following steps: - blank framebuffer - set framebuffer position to the starting point - reconfigure framebuffer - set framebuffer position to a specific point - unblank framebuffer This procedure applies to non-overlay framebuffers as well. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-04-16ENGR00279204-1 mxc vout: reconfig fb when necessaryLiu Ying
Users may call VIDIOC_S_CTRL or VIDIOC_S_CROP ioctrls to update streaming parameters on-the-fly after video has been streamed on, such as for rotation/output resolution/overlay output position change. Any unnecessary frame buffer reconfiguration would cause a pair of frame buffer blank/unblank events happen and even makes the background framebuffer show up for a short period of time if the video is rendered on an overlay framebuffer. This patch compares the last time video output pipe line settings with the current ones to determine whether frame buffer reconfiguration is necessary or not. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-04-16ENGR00280140 pxp/v4l2: restore the display content after video playback finishesRobby Cai
After finish video playback, the last frame remains on the display. It's because the UI display start address (smem_start) has been changed when do video playback but not changed back again after the playback finishes. From the function call point of view, pxp_set_fbinfo() // pxp->fb.base tracks right addr for UI framebuffer pxp_show_buf(toshow) // smem_start changed to v4l2 display addr pxp_set_fbinfo() // pxp->fb.base changed to v4l2 display addr pxp_show_buf(not toshow) // smem_start still equal to v4l2 display addr // for pan_display This patch fixes it by calling pxp_set_fbinfo once in open function. Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00280663-3 mxc vout: handle downsize ratio overflowLiu Ying
This patch handles downsize ratio overflow error by doing input cropping with 8 pixel step. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-04-16ENGR00280115 videobuf-dma-contig: make mmapped video buffer bufferableLiu Ying
This patch makes mmapped video buffers bufferable so that software decoders may render the video buffers efficiently. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-04-16ENGR00279413 pxp/v4l2: get the right framebuffer start address at run timeRobby Cai
Previously the driver gets the framebuffer start address at probe time. But this address might be changed if the framebuffer drivers re-allocate the frame buffers due to the application changes the yres_virtual. As a result, some garbage data can be observed on display. This patch adjusts the way to detect the start address at run time to fix this problem. Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00279401 mxc v4l2 capture: use flush_work instead of flush_work_syncLiu Ying
Since commit 43829731d (workqueue: deprecate flush[_delayed]_work_sync()), flush_work() should be used instead of flush_work_sync(). Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-04-16ENGR00279226 media: ov5642: correct io_regulator sanity checkLiu Ying
The following commit introduced a wrong sanity check for the io_regulator which is intended to be got from device tree. a364635a535705a8c16df49ff9bc7b9362b083ec This patch corrects the sanity check. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit a0ff4d112dcd8a71547f2b95731f2fedb21a77e4)
2014-04-16ENGR00278667-1 [mxc_v4l2_capture]: Add adv7180 driver in 3.10.9 KernelOliver Brown
Copied file from 3.5.7 Kernel commit de6459732a23402cbe520812bf4202299330fd68 Author: Oliver Brown <oliver.brown@freescale.com> Date: Mon Jun 24 16:41:17 2013 -0500 Added missing call to clk_disable_unprepare() in adv7180_probe. Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
2014-04-16ENGR00278665-1 [mxc_v4l2_capture]: Add ov5640_mipi driver filesOliver Brown
Copied file from 3.5.7 Kernel: commit 0682e12bf9a3b5085fe5dd70574fe856340894d0 Author: Liu Ying <Ying.Liu@freescale.com> Date: Thu May 16 12:02:14 2013 +0800 -Added function and file name to some error messages that are in multiple places. -Added calls to clk_prepare_enable() and clk_disable_unprepare() in ov5640_probe() to manage the sensor clock. -Added missing sanity check for "io_regulator" -Fixed several whitespace errors Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
2014-04-16ENGR00279087-2 csi_v4l2_capture: move int_dev_init() to open functionRobby Cai
By later initialization for camera dev (to call int_dev_init), the driver works well whether the master (csi_v4l2_capture) or the slave (ov5640) has been attached first. In this way, the driver can stick to the philosophy for the V4L2_INT_DEVICE framework (the attach sequence shouldn't matter). The following way to insert modules should work: $ insmod fsl_csi.ko $ insmod ov5640_camera.ko $ insmod csi_v4l2_capture.ko or, $ insmod fsl_csi.ko $ insmod csi_v4l2_capture.ko $ insmod ov5640_camera.ko Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00279087-1 camera: enable mclk before read the camera IDRobby Cai
When the camera driver is built as module and done 'insmod' command, the camera will not be detected. The error message is as follows. $ insmod ov5640_camera.ko ov5640 2-003c: cannot get io voltage ov5640_read_reg:write reg error:reg=300a camera ov5640 is not found The reason is the mclk need to be enabled before read camera registers. This patch fixes it. To balance the usecount for the mclk, we need disable the mclk afterwards. Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00278666-1 [mxc_v4l2_capture]: Add ov5642 driver files in 3.10.9 KernelOliver Brown
Copied file from 3.5.7 Kernel: commit 0682e12bf9a3b5085fe5dd70574fe856340894d0 Author: Liu Ying <Ying.Liu@freescale.com> Date: Thu May 16 12:02:14 2013 +0800 -Added calls to clk_prepare_enable() and clk_disable_unprepare() in ov5642_probe() to manage the sensor clock. -Fixed whitespace errors Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
2014-04-16ENGR00278970 fix build error when build capture driver as moduleRobby Cai
fix error for 'make modules': ENROR: "csi_dmareq_rff_enable" [drivers/media/platform/mxc/capture/csi_v4l2_capture.ko] undefined! ERROR: "csi_dmareq_rff_disable" [drivers/media/platform/mxc/capture/csi_v4l2_capture.ko] undefined! ERROR: "csi_regbase" [drivers/media/platform/mxc/capture/csi_v4l2_capture.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00278663-1 [mxc_v4l2_capture]: Add IPU v4l2 capture driver filesOliver Brown
Copied files from commit 0339bfd7164324c5c0208cf6467ef244f714c43a Author: Liu Ying <Ying.Liu@freescale.com> Date: Wed Sep 4 13:21:21 2013 +0800 -Added function and file names to error messages that are similar -Changed mxc_v4l_open to use clk_prepare_enable() -Changed mxc_v4l_open to use clk_disable_unprepare() Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
2014-04-16ENGR00275034-3 camera: ov5640: port the driver from 3.5.7Robby Cai
from commit 9293d3aaef4886eae9a500f0dabdcd2b679422b4 and commit cb1d78fc935fa00be03ae1a7b66477ad518a09dc, branch imx_3.5.7 This patch also does - use module_i2c_driver() instead of module_init/exit. - set the regulator reference pointer to NULL if it's not found in DT. Otherwise call regulator_enable/disable() on it will cause dump since the codes only check the regulator against NULL before the call and it's not NULL but still invalid. - drop gpo regulator definition and operations since it's of no use Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00275034-1 media: Add CSI/CSI v4l2 capture driver supportRobby Cai
- change the includes <asm/uaccess.h> to <linux/uaccess.h> <mach/ipu-v3.h> to <linux/ipu-v3.h> <mach/dma.h> to <linux/platform_data/dma-imx.h> - add an extra parameter for device_prep_slave_sg() as the prototype's changed. - drop csi_mclk_recalc() func since there's no divider in CSI module - drop deprecated __devinit, __devexit and __devexit_p - use module_platform_driver() - use of_match_table() - replace ioremap() with devm_ioremap() - replace clk_get() with devm_clk_get() - replace clk_enable/disable() with clk_prepare_enable/clk_disable_unprepare() - add check for no camera attached on board - drop function csi_mclk_enable(), csi_mclk_enable() in fsl_csi.c, and move clock enable/disable to csi_v4l2_capture.c Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00275033-1 mx6sl: pxp/v4l: port v4l2 output driver to 3.10Robby Cai
port v4l2 output driver to 3.10 kernel - replace .ioctl with .unlocked_ioctl - add .vfl_dir flag - VFL_DIR_TX (newly introduced) for video_device - drop __devinit, __devexit, __exit and __exit_p - replace mxc_elcdif_frame_addr_setup() with pxp_show_buf(), where pan_display be called due to the adoption of mxsfb.c from community - change the fb id to be compared due to use new mxsfb.c - mark the s_crop() and s_fbuf() third parameter const - move local fbi variable to struct pxps - use module_platform_driver() Signed-off-by: Robby Cai <R63905@freescale.com>
2014-04-16ENGR00273974-1 media: port mxc vout driver from 3.5.7 to 3.10Liu Ying
This is porting mxc vout driver from imx_3.5.7 kernel to imx_3.10 kernel. * Put the driver in drivers/media/platform/ directory instead of drivers/media/video/ directory, since the later one is renamed to the former one in 3.10 kernel. * Change the ipu-v3.h header file from <mach/ipu-v3.h> to <linux/ipu-v3.h>. * Change the mxc_vidioc_s_crop() function's implementation since the definition of the vidioc_s_crop() function is modified to make the last argument be constant. * Set vfl_dir to be VFL_DIR_TX since the ioctrl validity checks are improved in 3.10 kernel. * Remove 'defaut y' setting for VIDEO_MXC_OUTPUT and VIDEO_MXC_IPU_OUTPUT Kconfigs. They may be configured by kernel default configure or by user. * Make VIDEO_MXC_OUTPUT Kconfig depend on FB_MXC Kconfig since we need framebuffers to be rendered. * Make VIDEO_MXC_IPU_OUTPUT Kconfig be tristate. * Split <linux/mxc_v4l2.h> header file up into include/linux/ and include/uapi/linux/ directories so that the userspace may include the mxc_v4l2.h header file. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2014-02-20mxl111sf: Fix compile when CONFIG_DVB_USB_MXL111SF is unsetDave Jones
commit 13e1b87c986100169b0695aeb26970943665eda9 upstream. Fix the following build error: drivers/media/usb/dvb-usb-v2/ mxl111sf-tuner.h:72:9: error: expected ‘;’, ‘,’ or ‘)’ before ‘struct’ struct mxl111sf_tuner_config *cfg) Signed-off-by: Dave Jones <davej@fedoraproject.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-20af9035: add ID [2040:f900] Hauppauge WinTV-MiniStick 2Antti Palosaari
commit f2e4c5e004691dfe37d0e4b363296f28abdb9bc7 upstream. Add USB ID [2040:f900] for Hauppauge WinTV-MiniStick 2. Device is build upon IT9135 chipset. Tested-by: Stefan Becker <schtefan@gmx.net> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-13m88rs2000: set symbol rate accuratelyMalcolm Priestley
commit dd4491dfb9eb4fa3bfa7dc73ba989e69fbce2e10 upstream. Current setting of symbol rate is not very actuate causing loss of lock. Covert temp to u64 and use mclk to calculate from big number. Calculate symbol rate by dividing symbol rate by 1000 times 1 << 24 and dividing sum by mclk. Add other symbol rate settings to function registers 0xa0-0xa3. In set_frontend add changes to register 0xf1 this must be done prior call to fe_reset. Register 0x00 doesn't need a second write of 0x1 Applied after patch m88rs2000: add m88rs2000_set_carrieroffset Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-13m88rs2000: add m88rs2000_set_carrieroffsetMalcolm Priestley
commit 06af15d1b6f45c60358feab88004472e5428f01c upstream. Set the carrier offset correctly using the default mclk values. Add function m88rs2000_get_mclk to calculate the mclk value against crystal frequency which will later be used for other functions. Add function m88rs2000_set_carrieroffset to calculate and set the offset value. variable offset becomes a signed value. Register 0x86 is set the appropriate value according to remainder value of frequency % 192857 calculation as shown. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-13dib8000: fix regression with dib807xOlivier Grenie
commit d67350f8c4e67f5eba627e1fd111f16257ca9c95 upstream. Commit 173a64cb3fcf broke support for some dib807x versions. Fix it by providing backward compatibility with the older versions. [mkrufky@linuxtv.org: conflict handling and CodingStyle fixes] Signed-off-by: Olivier Grenie <olivier.grenie@parrot.com> Acked-by: Patrick Boettcher <pboettcher@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-13nxt200x: increase write buffer sizeMauro Carvalho Chehab
commit fa1e1de6bb679f2c86da3311bbafee7eaf78f125 upstream. The buffer size on nxt200x is not enough: ... > Dec 20 10:52:04 rich kernel: [ 31.747949] nxt200x: nxt200x_writebytes: i2c wr reg=002c: len=255 is too big! ... Increase it to 256 bytes. Reported-by: Rich Freeman <rich0@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-13media: s5p_mfc: remove s5p_mfc_get_node_type() functionMarek Szyprowski
commit b80cb8dc4162bc954cc71efec192ed89f2061573 upstream. s5p_mfc_get_node_type() relies on get_index() helper function, which in turn relies on video_device index numbers assigned on driver registration. All this code is not really needed, because there is already access to respective video_device structures via common s5p_mfc_dev structure. This fixes the issues introduced by patch 1056e4388b0454917a512618c8416a98628fc9ce ("v4l2-dev: Fix race condition on __video_register_device"), which has been merged in v3.12-rc1. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-13dib8000: make 32 bits read atomicMauro Carvalho Chehab
commit 5ac64ba12aca3bef18e61c866583155a3bbf81c4 upstream. As the dvb-frontend kthread can be called anytime, it can race with some get status ioctl. So, it seems better to avoid one to race with the other while reading a 32 bits register. I can't see any other reason for having a mutex there at I2C, except to provide such kind of protection, as the I2C core already has a mutex to protect I2C transfers. Note: instead of this approach, it could eventually remove the dib8000 specific mutex for it, and either group the 4 ops into one xfer or to manually control the I2C mutex. The main advantage of the current approach is that the changes are smaller and more puntual. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Acked-by: Patrick Boettcher <pboettcher@kernellabs.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>