[PATCH] dvb: flexcop: readme update
readme update Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Signed-off-by: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
59a7ad6c1e
commit
c6ee197ccf
|
@ -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
|
state of the new flexcop-driver set and some internals are written down here
|
||||||
too.
|
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
|
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.
|
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
|
Remark: flexcop-pci.c was a copy of skystar2.c, but every line has been
|
||||||
touched and rewritten.
|
touched and rewritten.
|
||||||
|
|
||||||
|
History & News
|
||||||
|
==============
|
||||||
|
2005-04-01 - correct USB ISOC transfers (thanks to Vadim Catana)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
General coding processing
|
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)
|
2) Search for errors in the leftover of flexcop-pci.c (partially done)
|
||||||
5a) add MAC address reading
|
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?
|
What to do in the near future?
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
(no special order here)
|
(no special order here)
|
||||||
|
|
||||||
|
|
||||||
5) USB driver
|
5) USB driver
|
||||||
5b) optimize isoc-transfer (submitting/killing isoc URBs when transfer is starting)
|
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
|
Testing changes
|
||||||
---------------
|
---------------
|
||||||
|
@ -118,7 +111,7 @@ item | mt352 | nxt2002 | stv0299 | mt312 | mt352 | nxt2002 | stv0299 | mt312
|
||||||
2) | O | N
|
2) | O | N
|
||||||
5a) | N | O
|
5a) | N | O
|
||||||
5b)* | N |
|
5b)* | N |
|
||||||
5c)* | N |
|
5c) | N | O
|
||||||
|
|
||||||
* - not done yet
|
* - not done yet
|
||||||
|
|
||||||
|
@ -155,17 +148,21 @@ working)
|
||||||
SOLUTION: also index 0 was affected, because net_translation is done for
|
SOLUTION: also index 0 was affected, because net_translation is done for
|
||||||
these indexes by default
|
these indexes by default
|
||||||
|
|
||||||
5b) isochronous transfer does only work in the first attempt (for the Sky2PC USB,
|
5b) isochronous transfer does only work in the first attempt (for the Sky2PC
|
||||||
Air2PC is working)
|
USB, Air2PC is working) SOLUTION: the flexcop was going asleep and never really
|
||||||
SOLUTION: the flexcop was going asleep and never really woke up again (don't
|
woke up again (don't know if this need fixes, see
|
||||||
know if this need fixes, see flexcop-fe-tuner.c:flexcop_sleep)
|
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
|
Improvements when rewriting (refactoring) is done
|
||||||
=================================================
|
=================================================
|
||||||
|
|
||||||
- split sleeping of the flexcop (misc_204.ACPI3_sig = 1;) from lnb_control
|
- split sleeping of the flexcop (misc_204.ACPI3_sig = 1;) from lnb_control
|
||||||
(enable sleeping for other demods than dvb-s)
|
(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
|
Debugging
|
||||||
---------
|
---------
|
||||||
|
@ -192,82 +189,6 @@ Sram destinations: accessing registers
|
||||||
Tuner/Demod: I2C bus
|
Tuner/Demod: I2C bus
|
||||||
DVB-stuff: can be written for common use
|
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)
|
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.
|
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.
|
||||||
|
|
Loading…
Reference in New Issue