driver: major rewrite, with carrier dma-ops and other things
This is a major change, work of Michel Arruat, then re-committed as a
single commit by Alessandro. The original development happened mainly
on the SVEC carrier, and support for SPEC (PCI) was added back at a
later time. I (Alessandro) chose to pick individual changes one at
a time, for better documentation and later "git blame", up to this point.
Now, this is a big commit that completely changes the driver,
mainly in the following places:
- split carrier-specific from generic code, like the TDC driver is now
(this is mainly the dma-specific and irq-specific code)
- use of SDB to get base addresses (with new fmc-util file)
- use the VIC core to manage interrupts, relying on carrier support
- change the field-desc table for the better
- add carrier-specific init, reset, exit
- split irq and adc-specific stuff out of zio-drv.c
- DMA data and interrupt is now different: the timestamp is at end-of-data,
thus we don't have the "trigger-happened" interrupt any more
- use a work queue for interrupt management, instead of a tasklet, this
allows sleeping, which is needed by this code base
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Showing
This diff is collapsed.
kernel/fa-spec-core.c
0 → 100644
kernel/fa-spec-irq.c
0 → 100644
kernel/fa-spec-regtable.c
0 → 100644
kernel/fa-spec.h
0 → 100644
This diff is collapsed.
This diff is collapsed.
kernel/fmc-util.c
0 → 100644
Please
register
or
sign in
to comment