summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/em28xx
AgeCommit message (Collapse)Author
2009-08-07em28xx: properly reports some em2710 chipsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> As reported by hermann pitton <hermann-pitton@arcor.de>, some devices has a different chip id for em2710 (likely the older ones): em28xx: New device @ 480 Mbps (eb1a:2710, interface 0, class 0) em28xx #0: Identified as EM2710/EM2750/EM2751 webcam grabber (card=22) em28xx #0: em28xx chip ID = 17 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-07em28xx: fix: some em2710 chips use a different vendor IDMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Thanks to hermann pitton <hermann-pitton@arcor.de> for pointing this new variation. Priority: normal Tested-by: hermann pitton <hermann-pitton@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-06em28xx: Allow changing fps on webcamsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> em28xx doesn't have temporal scaling. However, on webcams, sensors are capable of changing the output rate. So, VIDIOC_[G|S]_PARM ioctls should be passed to the sensor for it to properly set frame rate. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-04em28xx: fix: some webcams don't have audio inputsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-04em28xx: fix V4L2 API compliance: don't expose audio inputs for devices ↵Mauro Carvalho Chehab
without it From: Mauro Carvalho Chehab <mchehab@redhat.com> V4L2 API (chapter 1.5) states that: Drivers must implement all input ioctls when the device has one or more inputs, all output ioctls when the device has one or more outputs. When the device has any audio inputs or outputs the driver must set the V4L2_CAP_AUDIO flag in the struct v4l2_capability returned by the VIDIOC_QUERYCAP ioctl. So, devices without audio input should return -EINVAL. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-30em28xx: fix mutex inbalanceMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-29em28xx: fix audio VIDIOC_S_CTRL adjustments on devices without ac97Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Even devices without ac97 needs to call analog audio setup function, to properly set xclk and mute/unmute. Thanks to Angelo Cano <acano@fastmail.fm> for reporting and testing it. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-29em28xx: fix support for Plextor ConvertX PX-TV100UMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> This device uses msp34xx and uses 2.048 MHz frequency for I2S communication. Thanks to Angelo Cano <acano@fastmail.fm> for pointing the issues with this device and proposing an approach for fixing the issue. Priority: normal Tested-by: Angelo Cano <acano@fastmail.fm> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-19Stop defining I2C adapter IDs nobody usesMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> There is no point in defining I2C adapter IDs when no code is using them. As this field might go away in the future, stop using it when we don't need to. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-27mtv9v011: Add a missing chip version to the driverMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Some mt9v011 webcams report 0x8332 chip version, instead of 0x8243. From the revision history at the mt9v011 datasheet, it seems that the chip version has changed from the first release of the chip. Thanks-to hermann pitton <hermann-pitton@arcor.de> for pointing this to me, on his tests with a Silvercrest webcam. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-19em28xx-video: better implement ac97 control ioctlsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> In the past, some devices with saa711x had their parameters controlled directly inside em28xx driver, instead of using their proper module for it. Due to that, the ac97 controls were mixed with saa711x ones. Older patches removed all saa711x controls, but we still need to control ac97 devices on em28xx, since we don't have a separate v4l2 device for it. The proper way to address is to create a separate ac97 v4l2 device. While we don't have it, we should clean up the code to allow having a better view of what is part of em28xx core code and what's due to ac97 control inside it. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-19em28xx-video: rename ac97 audio controls to better document itMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> As em28xx chip has nothing to do with volume/mute controls, rename those controls to properly indicate that they control the companion AC97 chip that it is inside the boards with this chip. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-15merge: http://kernellabs.com/hg/~dheitmueller/hvr-900-tuning-fixMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-15merge: http://kernellabs.com/hg/~dheitmueller/pinnacle_hybrid_2881Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-15merge: http://kernellabs.com/hg/~dheitmueller/terratec-xs-mt352Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-14em28xx: set demod profile for Pinnacle Hybrid Pro 320eDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> The Pinnacle Hybrid Pro 320e was missing a demod config for the xc3028, which is required for digital tuning to work properly. Add the missing profile. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment. Priority: normal Cc: Andreas Lunderhage <lunderhage@home.se> Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-07-14em28xx: Make sure the tuner is initialized if generic empia USB id was usedDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> In cases where the device has a generic Empia USB ID, the call in the precard setup phase did not set the tuner GPIO. As a result, the tuner may not be taken out of reset before attempting initialization in the analog driver. This problem was not seen before with the EVGA inDtube, since that particular board has the analog GPIO setup to include taking the tuner out of reset. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment for the Pinnacle 320e. Priority: normal Cc: Andreas Lunderhage <lunderhage@home.se> Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-07-14em28xx: add support for mt9m001 webcamsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Thanks to Wally <wally@voosen.eu> for bringing the issue and helping with the tests. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-14em28xx: adjust vinmode/vinctl based on the stream input formatMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Depending on the video input format, vinmode/vinctl needs adjustments. For TV, this is not relevant, since the supported decoders output data at the same format. However, webcam sensors may have different formats, so, this needs to be adjusted based on the device. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-14em28xx: allow specifying sensor xtal frequencyMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> In order to properly estimate fps, mt9v011 sensor driver needs to know what is the used frequency on the sensor cristal. Adds the proper fields and initialization code for specifying the cristal frequency. Also, based on experimentation, it was noticed that the Silvercrest is outputing data at 7 fps. This means that it should be using a 6.3 MHz cristal. This information needs to be double checked later, by opening the device. Anyway, by using this value for xtal, at least now we have the correct fps report. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-13em28xx: fix webcam scalingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> While trying to fix an mt9v001 webcam, I noticed that HSCALE/VSCALE do work with em28xx + webcam. The issue is that the scaling setup depends on the number of visible rows/cols of the input image. With mt9v011 (Silvercrest), the resolution is 640x480. So, the scaling is different from a normal TV image (720x480 on NTSC). This were causing a wrong scaling and a previous patch disabled scaling. As each sensor have their different resolution setting, the xres/yres should be adjusted accordingly with the input sensor. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-13em28xx: call sensor detection code for all webcam entriesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> With the previous approach, autodetection were working only for the two generic entries (em275x and em2820 unknown ones). So, if someone would try to force probing an specific device, the code would not properly run the autodetection code. With the new approach, the sensor autodetection will be run not only for the two generic entries, but also do webcam specific ones. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-12em28xx: fix typo in mt352 init sequence for Terratec Cinergy T XS USBDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> Andy walls pointed out that we were passing 0x5d to the TUNER_GO register, instead of 0x01. Set the register properly (note the code did still work with the incorrect value, so this does not address a regression). Thanks to Andy Walls for noticing the issue. Priority: normal Cc: Andy Walls <awalls@radix.net> Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-07-12em28xx: make tuning work for Terratec Cinergy T XS USB (mt352 variant)Devin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> The Terratec Cinergy T XS USB can have either a zl10353 or an mt352. Add support for the MT352 variant. Thanks to Jelle de Jong for providing a unit to test/debug with. Priority: normal Cc: Jelle de Jong <jelledejong@powercraft.nl> Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-07-12em28xx: fix tuning problem in HVR-900 (R1)Devin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> When the change was introduced in the zl10353 for the i2c gate behavior, this broke the HVR-900 which was not behind a gate. Use a version of the zl10353 config profile that indicates the tuner is not behind such a gate. Without this patch the first tune succeeds, but subsequent tuning attempts will fail. The change also renames the terratec zl10353 profile I wrote to be more generic, since it is shared by the non-terratec device. Thanks to Michael Krufky for providing a HVR-900 and DVB-T environment to test with. Priority: high Cc: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-07-12em28xx: stop abusing of board->decoder for sensor informationMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Instead of using em28xx board decoder field for storing sensor information, let's use instead a separate field for it. Also, as sensors are currently autodetected, there's no need of having it at the boards description. So, move it to the main em28xx struct. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-12em28xx: detects sensors also with the generic em2750/2750 entryMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Webcams in general don't have eeprom. So, the sensor hint code should be called to properly detect what sensor is inside. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-12em28xx-cards: use is_webcam flag for devices that are known to be webcamsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> By having the webcam devices marked as such, it will help the em28xx driver to do the right thing on those devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-12em28xx: rename is_27xx to is_webcamMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Just renames the flag, to use a clearer name. Later patches will use this flag to properly set some drivers behaviors for webcams. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-08em28xx: set GPIO properly for Pinnacle Hybrid Pro analog supportDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> Set the GPIO properly for the analog side of the Pinnacle Hybrid Pro, or else the emp202 doesn't get detected properly. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-07-08em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881)Devin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> Setup the GPIOs properly and enable support for the DVB side of the Pinnacle Hybrid Pro USB stick. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment. Priority: normal Cc: Andreas Lunderhage <lunderhage@home.se> Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-07-05merge: http://www.linuxtv.org/hg/~dougsland/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-05em28xx, fix lock imbalanceDouglas Schilling Landgraf
From: Jiri Slaby <jirislaby@gmail.com> There is one omitted unlock in em28xx_usb_probe. Fix that. Priority: normal Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
2009-07-05em28xx: remove uneeded varsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-05em28xx: Add support for Gadmei UTV330+Mauro Carvalho Chehab
From: Zhenyu Wang <zhen78@gmail.com> em28xx: Add support for Gadmei UTV330+ Signed-off-by: Zhenyu Wang <zhen78@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-03em28xx: Add autodetection code for Silvercrest 1.3 mpixMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-03em28xx: Allow its usage with other different output formatsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Discovered the bug that were limiting the output format to just RGB565. Now, it is possible to output image at Bayer format (the original one, as generated by Silvercrest sensor, and two others), and also on YUY. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-02em28xx-video: fix VIDIOC_G_FMT and VIDIOC_ENUMFMT with webcamsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Webcams have different constraints than other v4l devices. This patch makes the format ioctls to behave better. It also fixes a bug at open() handler, that were always reseting resolution to the maximum available one. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-30merge: http://www.kernellabs.com/hg/~dheitmueller/em28xx-terratec-zl10353/Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-30merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-miscMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-30Remove a bogus codeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-30em28xx: add other video formatsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Add suppport for the teste RGB565 format (16 bits/pixel). Currently, webcam support works only at RGB565, at 640x480. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-29em28xx: add support for Silvercrest WebcamMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> This webcam uses a em2710 chipset, that identifies itself as em2820, plus a mt9v011 sensor, and a DY-301P lens. It needs a few different initializations than a normal em28xx device. Thanks to Hans de Goede <hdegoede@redhat.com> and Douglas Landgraf <dougsland@redhat.com> for providing the acces for the webcam during this weekend, I could make a patch for it while returning back from FISL/Fudcom LATAM 2009. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-26em28xx: enable new-style i2c API for kernels >= 2.6.26, not 2.6.22.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-06-22em28xx: Fix tuning for Terratec Cinergy T XS USB (zl10353 version)Devin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> Fix the code so that the zl10353 version of the Terratec Cinergy T XS USB starts working again. This includes fixing what must have been a typo in the GPIO definition for the digital side of the board, and setting of the disable_i2c_gate_ctrl property for the zl10353 config, so that the i2c bus doesn't get wedged the first time something tries to close the gate. Also, add a printk() making clear that the mt352 version still isn't supported. This issue is still being actively debugged, but in the meantime at least the dmesg output will show a very clear error... Thanks to Jelle de Jong for providing sample hardware to test with. Thanks to Simon Kenyon for testing various patches and providing SSH access to his environment so I could debug with access to a valid signal source. Priority: high Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Cc: Jelle de Jong <jelledejong@powercraft.nl> Cc: Simon Kenyon <simon@koala.ie>
2009-06-20em28xx: add Remote control support for EVGA inDtubeDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> Add an IR profile for the EVGA inDtube remote control (which is an NEC type remote) Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-06-18em28xx: add support for EVGA inDtubeDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> Add support for the EVGA inDtube. Both ATSC and analog side validated as fully functional. Thanks to Jake Crimmins from EVGA for providing the correct GPIO info. Thanks to Alan Hagge for doing all the device testing. Thanks to Greg Williamson for providing hardware for testing. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Cc: Jake Crimmins <jcrimmins@evga.com> Cc: Alan Hagge <ahagge@gmail.com> Cc: Greg Williamson <cheeseboy16@gmail.com>
2009-06-18em28xx: make sure the analog GPIOs are set if we used a card hintDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> In cases where the board had a default USB ID, we would not indentify the board until after the call to em28xx_set_mode(). As a result, for those boards the analog GPIOs were not being set before probing the i2c bus for devices (the probe would occur with the GPIOs being all high). Make a call to em28xx_set_mode() so that the GPIOs are set properly before probing the i2c bus for devices. This problem was detected with the EVGA inDtube, where the tvp5150 is not powered on unless GPIO1 is pulled low. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-06-16merge: http://kernellabs.com/hg/~dheitmueller/em28xx-no-audioMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-09em28xx: don't create audio device if not supportedDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> In cases where the device does not actually provide a USB audio class *or* vendor audio, do not load the driver that provides vendor audio support (such as the KWorld 2800d). Otherwise, the /dev/audio1 device file gets created and users get confused. Also, reworks the logic a bit so that we don't try to inspect the register content if the register read failed entirely. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>