Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Mar 1997 23:41:54 -0800 (PST)
From:      Ian Kallen <spidaman@well.com>
To:        Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
Cc:        freebsd-mobile@freebsd.org, freebsd-hackers@freebsd.org
Subject:   Re: (Dell Latitude) psm0/sc0 conflicts killing X? 
Message-ID:  <Pine.GSO.3.93.970327233712.20706C-100000@well.com>
In-Reply-To: <199703280657.PAA29688@zodiac.mech.utsunomiya-u.ac.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
Sir, you are very correct:
/kernel: sc0: enabling tty intr. (set_keyboard)
/kernel: sc0: about to send command and data (set_keyboard)
/kernel: sc0: kbdc is LOCKED!! (scintr)
/kernel: sc0: kbdc is LOCKED!! (scintr)
/kernel: sc0: command:f3 data:0 ret:fa (set_keybard)
/kernel: sc0: kbdc is LOCKED!! (scintr)

and, most importantly: your patch appears to have worked - I'm happily
running X again w/o difficulty for the past few minutes, it looks fine.
Please remind me to buy you dinner should you be traveling to San
Francisco ;)

Thanks again and best regards,
Ian

On Fri, 28 Mar 1997, Kazutaka YOKOTA wrote:
> 
> >Yes, I got almost the exact same messages, including 
> >     sc0: kbdc is LOCKED!! (scintr)
> 
> Now, may I assume you got the messages in the following order, the
> return code was "fa" ("zz" in the fifth line) and the keyboard did NOT
> freeze?
> 
>     sc0: enabling tty intr. (set_keyboard)
>     sc0: about to send command and data (set_keyboard)
>     sc0: kbdc is LOCKED!! (scintr)
>     sc0: kbdc is LOCKED!! (scintr)
>     sc0: command:xx data:yy ret:zz (set_keybard)
>                                 ~~
>     sc0: kbdc is LOCKED!! (scintr)
> 
> >well, if you have a fix, I'd be happy to test it for you :)  Shall I
> >revert to the original syscons.c or will patching it with the debugging
> >stuff be OK?
> 
> Please revert to the original syscons.c and apply the following patch.
> It is known to work, that is, kbdcontrol can change key repeat rate
> and the X server doesn't lock up the keyboard. 
> 
> This patch doesn't generate debug messages, so it will be more
> suitable for daily use than the previous one.
> 
> Kazu
> 
> --- syscons.c-dist	Mon Mar  3 10:09:00 1997
> +++ syscons.c	Mon Mar 17 08:02:35 1997
> @@ -3110,11 +3111,12 @@
>  
>      /* disable the keyboard and mouse interrupt */
>      s = spltty();
> +#if 0
>      c = get_controller_command_byte(sc_kbdc);
>      if ((c == -1) 
>  	|| !set_controller_command_byte(sc_kbdc, 
>              kbdc_get_device_mask(sc_kbdc),
> -            KBD_ENABLE_KBD_PORT | KBD_DISABLE_KBD_INT
> +            KBD_DISABLE_KBD_PORT | KBD_DISABLE_KBD_INT
>                  | KBD_DISABLE_AUX_PORT | KBD_DISABLE_AUX_INT)) {
>  	/* CONTROLLER ERROR */
>          kbdc_lock(sc_kbdc, FALSE);
> @@ -3129,15 +3131,21 @@
>       * by the lock flag set via `kbdc_lock()'
>       */
>      splx(s);
> +#endif
>  
> -    send_kbd_command_and_data(sc_kbdc, command, data);
> +    if (send_kbd_command_and_data(sc_kbdc, command, data) != KBD_ACK)
> +        send_kbd_command(sc_kbdc, KBDC_ENABLE_KBD);
>  
> +#if 0
>      /* restore the interrupts */
>      if (!set_controller_command_byte(sc_kbdc,
>              kbdc_get_device_mask(sc_kbdc),
>  	    c & (KBD_KBD_CONTROL_BITS | KBD_AUX_CONTROL_BITS))) { 
>  	/* CONTROLLER ERROR */
>      }
> +#else
> +    splx(s);
> +#endif
>      kbdc_lock(sc_kbdc, FALSE);
>  }
>  
> 
> 
> 
> 
> 
> 

The next interface will not be another desktop metaphor.... Ian Kallen ....
http://www.well.com/user/spidaman/ ....the revolution will not be televised.
===== TO RECEIVE MY PGP KEY, SEND MAIL TO spidey-pgp-info@well.com =======




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.93.970327233712.20706C-100000>