Re: sb600/sb700 ohci experimental patch

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Mon, 28 Sep 2009 10:10:49 -0400
On Monday 28 September 2009 9:55:44 am Andriy Gapon wrote:
> on 28/09/2009 14:48 John Baldwin said the following:
> > I don't think you can do this because it is a "feature" to not disable SMM if 
> > ohci(4) is not loaded so that a USB keyboard works when the USB driver isn't 
> > loaded via PS/2 emulation, even when the OS is running.
> 
> Very good point.
> 
> > I am curious if we 
> > really need to do the handover for each controller or if disabling it for 
> > ohci0 effectively disables it for all controllers?  What do other OS's do?
> > 
> 
> Don't have an answer about other OSes.
> But OHCI controllers have individual "used by SMM" bits and taking over one
> controller doesn't affect the bits of the other controllers - they remain set.
> Not that it means that SMM code actually keeps on controlling them.
> 
> Actually, just checked - Linux also does it per controller:
> http://lxr.linux.no/#linux+v2.6.31/drivers/usb/host/ohci-hcd.c#L495

Hmm, it seems Linux now disables SMM for USB controllers (ohci, ehci, and uhci)
via PCI quirks rather than doing it in the device drivers themselves, which
matches your original suggestion.  I'm not sure how best to fix that while also
allowing USB to work w/o drivers loaded.

-- 
John Baldwin
Received on Mon Sep 28 2009 - 12:11:06 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:56 UTC