|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
introducing a FreeBSD driver for the Apple Touchpad; and a few questions..Hello,
I have developed a driver for the Touchpad device on Apple Macbooks. Mine is a Macbook 3,1, and I run FreeBSD7.2 on it--so testing has sor far been limited to this configuration. In its present state, the driver supports multi-tap, edge detection, and movement smothening. The driver creates a pseudo device: /dev/atp, which expects to be read from moused. You can setup moused to work with it by adding the following to /etc/rc.conf: moused_port="/dev/atp" and then you would also need to tell your X-server to get mouse data from /dev/sysmouse. You may get the driver from git://github.com/rgrover/freebsd-atp.git.<git://github.com/rgrover/freebsd-atp.git> The git command is: "git clone git://github.com/rgrover/freebsd-atp.git". I have been using this driver for a while now. It is stable. Please help me test this driver for a wider range of hardware. There is more work to be done in the area of movement smoothening. I am also going to add support for detecting gestures. For this I need to track strokes. For my algorithms, I would like to allocate memory dynamically out of a small pool of fixed sized structures. I have read a bit about UMA; is UMA a good alternative for managing a small pool (~20) of buffers (of around 20 bytes in size)? regards, _______________________________________________ freebsd-drivers@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-drivers To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..." |
|
|
|
|
|
Re: introducing a FreeBSD driver for the Apple Touchpad; and a few questions..On 8/19/09, Rohit Grover <rgrover1@...> wrote:
> On Thu, Aug 20, 2009 at 1:44 AM, Patrick Lamaiziere > <patfbsd@...>wrote: > >> Le Wed, 19 Aug 2009 21:16:06 +0800, >> Rohit Grover <rgrover1@...> a écrit : >> >> > I have developed a driver for the Touchpad device on Apple Macbooks. >> > Mine is a Macbook 3,1, and I run FreeBSD7.2 >> >> Cool! Shall it work on a MacBookPro 3,1? > > > Please give it a try. The number of Y sensors on a MacBookPro might be > different. On my MacBook, I've got 20 X sensors and 10 Y sensors; but that > is with a mouse-button at the bottom of the touch-sensitive area. The button > has been replaced with additional touchpad surface in the MacBookPro. So it > will require a bit of experimentation, and even some reverse-engineering. > The key to interpreting data from the device is atp_read_sensors(). That > might have to change to support newer models. > > If someone is willing to contribute with testing, I can create a version of > the driver which logs additional detail to help us with the reverse > engineering. > > >> Do you plan a version to the new usb stack on 8.0? >> > > Certainly. I can't yet run 8.0 on my MacBook. ACPI panics the kernel right > at the beginning of boot, and even if I disable ACPI, the kernel is still > unable to mount the root partition. I have tried compiling my driver against > 8.0, and I see that I will need to adapt to the new USB stack. I'm very keen > on moving to 8.0 once it can boot on my laptop. I'd be happy to maintain > support for multiple versions of FreeBSD. > > >> >> > For my algorithms, I would like to allocate memory dynamically out of >> > a small pool of fixed sized structures. I have read a bit about UMA; >> > is UMA a good alternative for managing a small pool (~20) of buffers >> > (of around 20 bytes in size)? >> >> I'm not sure for this, IMHO UMA does not care about the size of the >> buffers, and malloc uses UMA for the allocation. >> > > But is UMA a very heavy-weight approach to managing a small pool of fixed > sized buffers whose total footprint is under 512 bytes? > > >> I've read a bit the source, you should not use spl on 7.x, they are >> no-ops. Instead use some mutexes. And you should not use the giant lock. >> > > Thanks for pointing this out. I will research the use of SMP primitives. The > 'ums' driver, which is what I am replacing, also uses splx(). Could you tell > me which giant lock I am using in my code? Is there any documentation I can > refer to for SMP synchronization under FreeBSD? mutex(9) > regards, > Rohit. > _______________________________________________ > freebsd-drivers@... mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-drivers > To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..." > -- Paul _______________________________________________ freebsd-drivers@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-drivers To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..." |
| Free embeddable forum powered by Nabble | Forum Help |