All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: [PATCH] Early USB handoff
@ 2004-09-02 20:26 Aleksey Gorelov
  2004-09-02 23:44 ` [linux-usb-devel] " David Brownell
  0 siblings, 1 reply; 2+ messages in thread
From: Aleksey Gorelov @ 2004-09-02 20:26 UTC (permalink / raw)
  To: Alan Cox
  Cc: Pete Zaitcev, David Brownell, linux-usb-devel,
	Linux Kernel Mailing List

>>   Basically, in a case of legacy free BIOS, HC is not in 
>> SMM mode, and USB IRQ is routed to PCI IRQ line and generates
>> interrupts. When this IRQ is enabled in PIC (by driver that 
>> starts before HC driver), system is flooded with interrupts.
>
>The BIOS should not be leaving the device generating 
>interrupts surely ?
>If that IRQ line ends up shared we are in trouble at boot time. 
  Well, this is what happened on Motion tablet.
  While still in real mode, BIOS takes care of interrupts from 
devices. But once OS takes control over and goes to protected 
mode, there is no easy way for BIOS to detect that and disable HC.
So, one should either avoid 'sharing' it with other devices (at
IRQ routing stage), or reprogram HC in native OS mode first (at 
least disable interrupts).

>We don't always want to hand off. Some setups only work in USB legacy
>mode because of other bugs. That's why the SMM fixup I did for E750x is
>triggered in specific cases. We can do such things with DMI table
>blacklists easily enough.
  I was not aware of this. However, there is an option and handoff
is disabled by default. DMI table may be Ok if there are only 
a few such machines. Unfortunately, I personally had USB legacy 
problems on several laptops, plus saw some reports on the web.
But I guess it is not for me to decide ;)

Aleks.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-09-03  0:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-02 20:26 [PATCH] Early USB handoff Aleksey Gorelov
2004-09-02 23:44 ` [linux-usb-devel] " David Brownell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.