Re: [Linux-ia64] IA-64 Linux TODO list

From: Johannes Erdfelt <jerdfelt_at_valinux.com>
Date: 2001-01-25 11:19:48
On Tue, Jan 09, 2001, David Mosberger <davidm@hpl.hp.com> wrote:
> Kernel
>  - verify that all on-board hardware is supported and working:

A little late, but this patch is modestly tested and it appears to work
on ia32 as well as ia64. This patch is a little different than the one
I send to the linux-usb-devel list. The only major difference is the
patch to set uhci->dev correctly so the PCI DMA API routines work correctly
under ia64.

It's a bit large, but there were some large changes necessary to support the
PCI DMA API in the driver.

Here's the changelog I sent to linux-usb-devel if anyone cares:

bug fixes
---------
- Don't use nested locks anymore. This could cause deadlocks in drivers
  which were hard to track down. We use a complete list which is walked
  through after determining the transfer result of the URB's
- Bulk queueing should work significantly better now. I've fixed some
  obvious problems with it (order issues, retoggle remaining URB's)
- Enforce memory barriers. I hope this will help some of the people who
  were having some problems with the driver
- In some situations, the device usage count would be off and the memory
  would never get freed
- Don't always mark VRH interrupt URB as done
- When forcing unlinking of urb's in uhci_free_dev, make sure they are not
  done asynchronously

new features
------------
- Use PCI DMA architecture. This is necessary for 64 bit architectures
  (alpha, ultrasparc, ia64, etc)
- New /proc interface. Dump the status of the schedule
- debug option is more versatile now

clean ups
---------
- Use list_heads when possible now. Makes code cleaner/easier to read
- Added uhci_call_completion function to call the completion handler
  the same way in multiple places

TODO
----
- The PCI DMA architecture is horribly inefficient on x86 and ia64. The
  result is a page is allocated for each TD. This is evil. Perhaps a slab
  cache internally? Or modify the generic slab cache to handle PCI DMA
  pages instead?
- Cleanup up FIXME's
- Make uhci-debug.h functions respect len
- More testing, I have seen it lock up my machine hard with a CPiA camera
  after a long period of running
- Figure out why the submit loop (second) of uhci_call_completion causes
  crashes
- Should we return -EPIPE on BABBLE? Drivers will confuse this with a STALL

JE




Received on Wed Jan 24 16:19:49 2001

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:01 EST