[haiku-bugs] Re: [Haiku] #8987: ps2: initial setup of command byte failed

  • From: "x-ist" <trac@xxxxxxxxxxxx>
  • Date: Mon, 24 Sep 2012 20:43:10 -0000

#8987: ps2: initial setup of command byte failed
   Reporter:  x-ist               |      Owner:  siarzhuk
       Type:  bug                 |     Status:  new
   Priority:  normal              |  Milestone:  R1
  Component:                      |    Version:  R1/Development
  Drivers/Keyboard/PS2            |   Keywords:  ps2 keyboard touchpad OHCI
 Resolution:                      |   Blocking:
 Blocked By:                      |   Platform:  All
Has a Patch:  1                   |

Comment (by x-ist):

 Replying to [comment:15 mmlr]:
 > I don't exactly see how this would be related to the media_server. Can
 you elaborate?
 I can try at least. It's a bit like stumbling in fog for me :)
 > I see that #8588 reports something similar, however I would then tend to
 say that an interrupt sharing issue existed with some audio hardware that
 is more related to the audio driver than OHCI.
 I didn't observe any king of audio issues, nor did I see something in the
 My observations are:[[BR]]
 * On my notebook the OHCI handover like it is implemented now blocks PS2
 (somehow). In most cases a trip to KDL (white bar as explained in #8984)
 is unavoidable.
 * Removing the ps2_hid driver is sufficient to avoid the "white bar"
 * Starting Haiku without the USB RF receiver stick helps too.
 * However, then upon shutdown the system freezes, i.e. it stops at the
 dialog "Asking other processes ..." being unresponsive. Sometimes the
 media addon server crash dialog appears instead. The click on "Debug"
 freezes the system finally.

 So there must be some kind of triangulation of issues concerning PS2, OHCI
 and media addon server.

 > > * OHCI interrupts must no be disabled when performing ownership change
 > Where do you get the "must not be disabled" from?
 Not sure whether I understand it correctly but 6.5.8 of
 sounds like the Host Controller Driver has to ensure that

 ... an interrupt is generated (unless it is masked) whenever ownership of
 the Host Controller is passed to and from the operating system’s Host
 Controller Driver and any SMM-based Host Controller Driver in the system.

 > As you can see in the blame list I've moved it up there in hrev41513 in
 an attempt to maybe help on some chipsets that got stuck at that point.
 Prior to proposing the patch I found the change in hrev41513 but saw that
 the handover procedure then differs from the FreeBSD version, which is
 assumed to be reliable I believe.

 > Please read through #8085 where a pretty similar patch has been
 developed ...
 That one I missed :P

 > ... an alternative to disabling all interrupts is to disable all but the
 ownership change request interrupt. That would seem more correct and
 logical to me in either case. Please see if that alone fixes your problems
 as well.
 Guess what .. It does! Would that be the common denominator then?

 > > * Removed excess reset upon a failed handover ...
 > If at all possible we should try to later remove that again. Nothing
 speaks against adding the on-error reset back at that point of course.
 Then adding a ToDo here and there should be appropriate?

Ticket URL: <http://dev.haiku-os.org/ticket/8987#comment:16>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: