Alex's Kernel Pages
Welcome to my Linux Kernel pages. I am lucky enough to be a kernel hacker for my day job. Here are some of the bits and pieces that are have hacked up for your delectation.
User Space DMA API
The User Space DMA API is a way for user-space programs to use use the DMA facilities of the board. There should be some documentaion in the tarball. I wrote and tested this with an SuperH based board using a patched 2.4.22 kernel with Paul Mundt's 2.6 YADA (Yet Another DMA API). However there is no reason why this won't work with other systems that use the API (maybe ARM?).
Consider this an early alpha piece of code. But I do intend on improving it making it a nicer and comments/patches are welcome.
Notes and TODOs:
- Currently source and dest can be anyware but it will break if source and dest are at different offsets to PAGE_SIZE, this will be enforced in later versions
- There will be 2 sets of flags one for the dmac (requiring knowledge of the DMA hardware) and one for the driver (so it knows if its doing 1D->0D etc)
ISP116x USB Host Controller Driver
This driver is basically based on the existing one that has been
floating around on the 'net but apparently unmaintained. The main
things I changed where:
You can get the tarball here
- Used mmaped IO instead of ports
- Added some locking to prevent race conditions on register
- Attempted to merge the existing kernel hc_simple stuff (used for
another USB controller) for eventual submission