aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/dvb/README.flexcop121
1 files changed, 21 insertions, 100 deletions
diff --git a/Documentation/dvb/README.flexcop b/Documentation/dvb/README.flexcop
index 8036faa..a50c70f 100644
--- a/Documentation/dvb/README.flexcop
+++ b/Documentation/dvb/README.flexcop
@@ -2,26 +2,20 @@ This README escorted the skystar2-driver rewriting procedure. It describes the
state of the new flexcop-driver set and some internals are written down here
too.
-How to do something in here?
-============================
-
-make -f Makefile.t
-make -C ../build-2.6
-./in.sh # load the drivers
-./rm.sh # unload the drivers
-
-Please read this file, if you want to contribute.
-
This document hopefully describes things about the flexcop and its
-device-offsprings. Goal is to write a easy-to-write and easy-to-read set of
+device-offsprings. Goal was to write an easy-to-write and easy-to-read set of
drivers based on the skystar2.c and other information.
-This directory is temporary. It is used for rewriting the skystar2.c and to
-create shared code, which then can be used by the usb box as well.
-
Remark: flexcop-pci.c was a copy of skystar2.c, but every line has been
touched and rewritten.
+History & News
+==============
+ 2005-04-01 - correct USB ISOC transfers (thanks to Vadim Catana)
+
+
+
+
General coding processing
=========================
@@ -81,16 +75,15 @@ non-static where possible, moved code to proper places)
2) Search for errors in the leftover of flexcop-pci.c (partially done)
5a) add MAC address reading
+5c) feeding of ISOC data to the software demux (format of the isochronous data
+and speed optimization, no real error) (thanks to Vadim Catana)
What to do in the near future?
--------------------------------------
(no special order here)
-
5) USB driver
5b) optimize isoc-transfer (submitting/killing isoc URBs when transfer is starting)
-5c) feeding of ISOC data to the software demux (format of the isochronous data
-and speed optimization, no real error)
Testing changes
---------------
@@ -118,7 +111,7 @@ item | mt352 | nxt2002 | stv0299 | mt312 | mt352 | nxt2002 | stv0299 | mt312
2) | O | N
5a) | N | O
5b)* | N |
-5c)* | N |
+5c) | N | O
* - not done yet
@@ -155,17 +148,21 @@ working)
SOLUTION: also index 0 was affected, because net_translation is done for
these indexes by default
-5b) isochronous transfer does only work in the first attempt (for the Sky2PC USB,
-Air2PC is working)
-SOLUTION: the flexcop was going asleep and never really woke up again (don't
-know if this need fixes, see flexcop-fe-tuner.c:flexcop_sleep)
+5b) isochronous transfer does only work in the first attempt (for the Sky2PC
+USB, Air2PC is working) SOLUTION: the flexcop was going asleep and never really
+woke up again (don't know if this need fixes, see
+flexcop-fe-tuner.c:flexcop_sleep)
+
+NEWS: when the driver is loaded and unloaded and loaded again (w/o doing
+anything in the while the driver is loaded the first time), no transfers take
+place anymore.
Improvements when rewriting (refactoring) is done
=================================================
- split sleeping of the flexcop (misc_204.ACPI3_sig = 1;) from lnb_control
(enable sleeping for other demods than dvb-s)
-- add support for CableStar (stv0297 Microtune 203x/ALPS)
+- add support for CableStar (stv0297 Microtune 203x/ALPS) (almost done, incompatibilities with the Nexus-CA)
Debugging
---------
@@ -192,82 +189,6 @@ Sram destinations: accessing registers
Tuner/Demod: I2C bus
DVB-stuff: can be written for common use
-Restrictions:
-============
-
-We need to create a bus-specific-struct and a flexcop-struct.
-
-bus-specific-struct:
-
-struct flexcop_pci
-...
-
-struct flexcop_usb
-...
-
-
-struct flexcop_device {
- void *bus_specific; /* container for bus-specific struct */
-...
-}
-
-PCI i2c can read/write max 4 bytes at a time, USB can more
-
-Functions
-=========
-
-Syntax
-------
-
-- Flexcop functions will be called "flexcop(_[a-z0-9]+)+" and exported as such
- if needed.
-- Flexcop-device functions will be called "flexcop_device(_[a-z0-9]+)+" and
- exported as such if needed.
-- Both will be compiled to b2c2-flexcop.ko and their source can be found in the
- flexcop*.[hc]
-
-Callbacks and exports
----------------------
-
-Bus-specific functions will be given as callbacks (function pointers) to the
-flexcop-module. (within the flexcop_device-struct)
-
-Initialization process
-======================
-
-b2c2-flexcop.ko is loaded
-b2c2-flexcop-<bus>.ko is loaded
-
-suppose a device is found:
-malloc flexcop and the bus-specific variables (via flexcop_device_malloc)
-fill the bus-specific variable
-fill the flexcop variable (especially the bus-specific callbacks)
-bus-specific initialization
- - ...
-do the common initialization (via flexcop_device_initialize)
- - reset the card
- - determine flexcop type (II, IIB, III)
- - hw_filters (bus dependent)
- - 0x204
- - set sram size
- - create the dvb-stuff
- - create i2c stuff
- - frontend-initialization
-done
-bus specific:
- - media_destination (this and the following 3 are bus specific)
- - cai_dest
- - cao_dest
- - net_destination
-
-Bugs fixed while rewriting the driver
-=====================================
-
-- EEPROM access (to read the MAC address) was fixed to death some time last
- year. (fixed here and in skystar2.c) (Bjarne, this was the piece of code
- (fix-chipaddr) we were wondering about)
-
-
Acknowledgements (just for the rewriting part)
================
@@ -281,4 +202,4 @@ Boleslaw Ciesielski for pointing out a problem with firmware loader.
Vadim Catana for correcting the USB transfer.
-comments, critics and ideas to linux-dvb@linuxtv.org or patrick.boettcher@desy.de
+comments, critics and ideas to linux-dvb@linuxtv.org.