summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/pvrusb2
AgeCommit message (Collapse)Author
2008-02-06pvrusb2: Allow digital streaming without encoder firmwareMike Isely
From: Mike Isely <isely@pobox.com> The encoder is not a part of the pipeline when in digital mode, so streaming is OK in this case even when the encoder's firmware is not loaded. Modify the driver core handling of this scenario to permit streaming. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: trace print cosmetic cleanup / improvementsMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Enhance core logic to also control digital streamingMike Isely
From: Mike Isely <isely@pobox.com> This is a major pvrusb2 change. The driver core has an algorithm that is used to cleanly sequence the changes needed to enable / disable video streaming. The algorithm had originally been written for analog streaming, but when in digital mode the pipeline is considerably different - for example the mpeg encoder is not used. These changes to the core logic implement correct pipeline control when in digital mode. Knowing which pipeline to handle and how to handle it is completely driven by the current input selection. So, in theory, to perform digital stream now all one has to do is switch input to dtv and start streaming as usual. Well, in theory. The reality is that digital tuner and demod control are still not in the driver core yet so until that is present there's nothing to actually stream. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Define digital control scheme device attributesMike Isely
From: Mike Isely <isely@pobox.com> Unlike analog control, control of the digital side is not nearly as uniform among different devices. So we have to specify the correct digital control scheme as a new device attribute. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: New functions for additional FX2 digital-related commandsMike Isely
From: Mike Isely <isely@pobox.com> This code is actually part of a larger set from Mike Krufky <mkrufky@linuxtv.org>, to support ATSC streaming from within the pvrusb2 driver. More to come... Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Fix oops possible when claiming a NULL streamMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: whitespace fixupMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: add function pvr2_hdw_cmd_powerdownMike Isely
From: Michael Krufky <mkrufky@linuxtv.org> Call pvr2_hdw_cmd_powerdown to power down the device Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Ensure that default input selection is actually validMike Isely
From: Mike Isely <isely@pobox.com> Previously the pvrusb2 driver just started with the default input to be "television". But if the device doesn't support an analog tuner then this default must be different. New logic here selects a reasonable default based on the actual valid set of available inputs. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Improve control validation for enumerationsMike Isely
From: Mike Isely <isely@pobox.com> When an enumeration control is changed, the pvrusb2 driver assumed that the enumeration values were continuous. That is no longer true; this change allows for properly input validation even when not all enumeration values are legal (which can happen with input selection based on what the hardware supports). Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Implement addition sysfs tracingMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: v4l2 implementation fixes for input selectionMike Isely
From: Mike Isely <isely@pobox.com> Now that the pvrusb2 driver can dynamically choose which inputs to make available depending on the hardware, the enumeration of input choices is no longer a contiguous range of integers. Unfortunately this causes a problem in the v4l2 implementation since the input enumeration requires continuity in the API. This change implements a mapping in order to preserve the v4l2 interface requirement. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Improve logic which handles input choice availabilityMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Account for dtv choice (a bit) in v4l2 implementationMike Isely
From: Mike Isely <isely@pobox.com> The v4l2 implementation in pvru2b2 must produce a sane answer when asked, when the input choice is set to dtv. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Dynamically control range of input selectionsMike Isely
From: Mike Isely <isely@pobox.com> This follows from defining the available inputs as device attributes. This change causes the driver to adjust its list of inputs based on those attributes. Now, for example, the FM radio will appear as a choice only if the hardware supports an FM radio. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: Define device attributes for all input modesMike Isely
From: Mike Isely <isely@pobox.com> Different devices support different input types. Up until now we've really been assuming that everyone has an analog tuner, an FM radio, composite, and s-video inputs. But as we add other devices, these assumptions are no longer true. The way to deal with this is to define the available inputs as additional device attributes, so that the driver can adjust its internal behavior accordingly. Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-03pvrusb2: add device attributes for fm radio and digital tunerMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2008-02-05backport kernel commit c84e6036ba7177a404cc860cb5a440e06fad92ddMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Original changelog: Author: Joe Perches <joe@perches.com> Date: Sun Feb 3 17:18:59 2008 +0200 drivers/media/: Spelling fixes kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-27[PATCH] static memoryDouglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@gmail.com> - Static memory is always initialized with 0. - Replaced in some cases C99 comments for /* */ Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
2008-01-13Kconfig: add missing selections for VIDEO_PVRUSB2Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> VIDEO_PVRUSB2 must select: VIDEO_SAA711X, VIDEO_CX25840, VIDEO_MSP3400, and VIDEO_WM8775 Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Acked-by: Mike Isely <isely@pobox.com>
2007-10-25pvrusb2: add support for Hauppauge WinTV PVR-USB2 Model 75xxxMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Create a device description and enable autodetection for Hauppauge WinTV PVR-USB2 Model 75xxx Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-12cx2341x: command argument should be u32 instead of int.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-12-10backout a backward compatibility patch that shouldn't go to masterMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> >> I recommend applying all except for the topmost patch: >> >> pvrusb2: Fix compilation for OnAir Creator config >> >> This is a backwards-compat patch that is not needed within the v4l-dvb >> repository nor the upstream kernel, but *is* needed within the pvrusb2 >> svn repository. >> > > Agreed. Just don't pull that. I will deal with the issue in svn later. > -Mike Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-12-08pvrusb2: Fix compilation for OnAir Creator configMike Isely
From: Mike Isely <isely@pobox.com> The OnAir creator configuration calls for a specific tuner type to be declared. However for some old kernels that tuner type was named differently. This change adapts to the older name, when present. Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-08pvrusb2: rework device descriptor layoutMike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 driver tries to keep all device specific attributes in a single data structure in one source file. This change further cleans up how that table is set up. We now try to group everything together for each specific device, and the number of symbols exported from this module has now been reduced to a single global. Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-08pvrusb2: Remove obsolete (and misleading) commentMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-08pvrusb2: Remove old obsolete CONFIG flags for pvrusb2 driver.Mike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-08pvrusb2: Device CONFIG flags for OnAir device supportMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-08pvrusb2: Implement experimental support for OnAir Creator and USB2 devicesMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-08pvrusb2: Mark Gotview hardware as having a cx2584x partMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-02pvrusb2: Recognize ATSC video standard bit valuesMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-02pvrusb2: minor rework for default video standard handlingMike Isely
From: Mike Isely <isely@pobox.com> pvrusb2: When a per-device-type default video standard is declared, handle it in such a way that it can be correctly and unambiguously reported in the system log. Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-02pvrusb2: Expand comment in device attributes description.Mike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-02pvrusb2: Remove use of volatile in pipeline control state machineMike Isely
From: Mike Isely <isely@pobox.com> pvrusb2: Eliminate use of volatile in pipeline control state variables. These were all cases of paranoia; upon further review the overall mechanism employed here should not require use of volatile. This had originally been done out of paranoia, and I have since been convinced that the paranoia is not required. Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-02pvrusb2: Remove use of volatile in command sequencerMike Isely
From: Mike Isely <isely@pobox.com> pvrusb2: Remove use of volatile for command sequencer; these variables are set by interrupt-context code and we check their state in such a manner that there should be no race conditions. This had originally been done out of paranoia, and I have since been convinced that the paranoia is not required. Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-02pvrusb2: Implement default standard selection based on device typeMike Isely
From: Mike Isely <isely@pobox.com> This adds a default video standard setting to the pvr2_device_desc structure for describing device types. With this change it is possible to set a reasonable default standard based on device type. Signed-off-by: Mike Isely <isely@pobox.com>
2007-12-02pvrusb2: Change division to bit-or for tveeprom standardsMike Isely
From: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-27pvrusb2: fix typo in commentsMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Firmware file name(s) for 24xxx devices Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-11-25pvrusb2: Enable support for "GOTVIEW USB2.0 DVD2" hardwareMike Isely
From: Mike Isely <isely@pobox.com> This changeset allows the pvrusb2 driver to operate a new device type ("GOTVIEW USB2.0 DVD2"). Changes amount to defining a new routing scheme for the device and adding appropriate table entries into pvrusb2-devattr.c. Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-25pvrusb2: Soften the crashed encoder warning messageMike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 driver has been successfully recovering from a crashed encoder now for over 2 years. I think it's time to reduce the perceived severity of the warning message. While I'd still very much like to stop these crashes, the recovery logic is solid enough that the problem is effectively benign. No point in panicing the users over it. Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-25pvrusb2: Use of virtual IR chip is a device-specific attributeMike Isely
From: Mike Isely <isely@pobox.com> For Hauppauge 24xxx devices, the IR receiver is a custom piece of logic that is very specific to the device. The pvrusb2 driver can virtualize this to make it look like a more normal IR receiver found in other Hauppauge devices. The decision of whether or not to enable this virtualization however is a device-specific attribute, thus this changeset. Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-25pvrusb2: Implement signal routing schemesMike Isely
From: Mike Isely <isely@pobox.com> The exact routing of video and audio signals within a device is a device-specific attribute. Hauppauge devices do it one way; other types of device may route things differently. Unfortunately it is rather impractical to define chip-specific routing at the device attribute level, so instead what happens here is that "schemes" are defined. Each chip level interface implements its part of a given scheme and the scheme as a whole is made into a device specific attribute controlled via a table entry in pvrusb2-devattr.c. The only scheme defined here is for Hauppauge devices, but clearly this opens the door for other possibilities to follow. Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-25pvrusb2: Existence of Hauppauge ROM is a device-specific attributeMike Isely
From: Mike Isely <isely@pobox.com> Arrange so that the pvrusb2 driver can optionally work without a Hauppauge ROM being present - which is fairly important for devices that happen to not come from Hauppauge. The expected existence of a Hauppauge ROM is now a device attribute. The tuner type is now also a device attribute, which is consulted if there is no ROM. Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-25pvrusb2: Miscellaneous tweaks for controlling tuner type and video standardMike Isely
From: Mike Isely <isely@pobox.com> Correctly mark when a tuner type is set. Report more faithfully information about known supported device video standards. Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-25pvrusb2: Implement functions to pass descriptive hardware infoMike Isely
From: Mike Isely <isely@pobox.com> Implement additional pvrusb2 device info table entries for a device identifier and a device description. Export this information via the driver's internal API. Make this information available via the sysfs driver interface. Also propagate this information into the v4l2 capability structure. An app can now retrieve and report a descriptive string about the particular type of hardware device it is operating. Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-25pvrusb2: Remove obsolete global hardware type enumerationMike Isely
From: Mike Isely <isely@pobox.com> Device-specific driver behavior is now defined by generic device characteristics rather than by specific device model information. With this change, the hardware type field can go away, thus this change. Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-25pvrusb2: Add pvrusb2-devattr.o to driver buildMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-25pvrusb2: Centralize device specific attributes into a single place.Mike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 driver currently supports two variants of the Hauppauge PVR USB2. However there are other hardware types potentially supportable, but the driver at the moment is not structured to make it easy to describe these minor variations. This changeset is the first set of changes to make such additional device support possible. Device attributes are held in several tables all contained within pvrusb2-devattr.c; all other device-specific driver behavior now derives from these tables. Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-25pvrusb2: Rework pipeline state controlMike Isely
From: Mike Isely <isely@pobox.com> This is a new implementation for video pipeline control within the pvrusb2 driver. Actual start/stop of the pipeline is moved to the driver's kernel thread. Pipeline stages are controlled autonomously based on surrounding pipeline or application control state. Kernel thread management is also cleaned up and moved into the internal control structure of the driver, solving a set up / tear down race along the way. Better failure recovery is implemented with this new control strategy. Also with this change comes better control of the cx23416 encoder, building on additional information learned about the peculiarities of controlling this part (this information was the original trigger for this rework). With this change, overall encoder stability should be considerably improved. Yes, this is a large change for this driver, but due to the nature of the feature being worked on, the changes are fairly pervasive and would be difficult to break into smaller pieces with any semblence of step-wise stability. Signed-off-by: Mike Isely <isely@pobox.com>
2007-11-02pvrusb2: Fix oops on module removalMike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 driver is tearing down its sysfs related pieces in the incorrect order. This leaves dangling pointers which causes the kernel device core to oops. The problem has been present virtually forever but became malignant with the changeover to the way of handling /sys/class. Fix is just to make sure we don't tear down the class structure until AFTER the driver instances are deregistered. Signed-off-by: Mike Isely <isely@pobox.com>