From: Bruno Ducrot <ducrot-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
To: Rich Townsend <rhdt-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
Cc: Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: Re: Smart Battery System driver
Date: Mon, 17 Jan 2005 12:41:09 +0100 [thread overview]
Message-ID: <20050117114109.GS19199@poupinou.org> (raw)
In-Reply-To: <41EA2C1D.3030909-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
On Sun, Jan 16, 2005 at 03:55:57AM -0500, Rich Townsend wrote:
> Johan Vromans wrote:
...
> >Johannes Kuhlmann <jkuhlmann-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:
...
> *) The code to update the Smart Battery System state from the SMBus is
> terribly slow, presumably because SMBus itself is a slow protocol.
> Unfortunately, this has the effect of freezing the system (including
> loss of keystrokes and/or mouse movements) whenever an update occurs.
> Typically, these freezes will arise every few seconds, as monitoring
> tools (e.g., gkrellm, wmacpi) poll the /proc/acpi interfaces. The
> jerkiness that results is unacceptable to many, including myself. How
> might I go about fixing this? I've tried putting a schedule() call after
> every individual SMBus access, but that appears to have little effect on
> the system responsiveness.
Look http://marc.theaimsgroup.com/?l=acpi4linux&m=109760298204539&w=2
More, the acpi-i2c-ec need to be event driven, which is not the case
yet.
>
> *) I'm not sure how to go about implmeneting Alarm functionality, not
> only to deal with low-power scenarios, but also to detect asynchronous
> events such as AC on-line/off-line and battery change, without the need
> for polling. Certainly, interrupts *are* being generated somewhere, as
> evidenced by the incrementing value of the acpi field in
> /proc/interrupts. Furthermore, with ACPI debugging enabled, I can see
> the embedded controller handling the events; for instance, an AC
> off-line event produces the following debug output:
>
> Execute Method: [\_SB_.PCI0.LPC0.EC0_._Q20] (Node dded7de8)
> acpi_ec-0180 [5125] acpi_ec_read : Read [c0] from address [19]
> acpi_ec-0180 [5125] acpi_ec_read : Read [14] from address [3d]
> acpi_ec-0180 [5125] acpi_ec_read : Read [c0] from address [19]
> acpi_ec-0232 [5126] acpi_ec_write : Wrote [80] to address [19]
>
> The corresponding DSL code for function _Q20 of my DSDT is:
>
> Method (_Q20, 0, NotSerialized)
> {
> If (And (SMST, 0x40))
> {
> Store (SMAA, Local0)
> If (LEqual (Local0, 0x14))
> {
> And (SMST, 0xBF, SMST)
> }
> }
> }
>
> ...which unfortunately doesn't mean a whole lot to me. How can I install
> some form of a handler, so that when the EC detects a Smart Battery
> event (and -- as per the ACPI spec -- sets the EC Alarm Address and Data
> registers), and then fires off a General Purpose Event, a chunk of *my*
> code gets run?
This have to be done in i2c-acpi-ec which will overwrite that one and
must not be run if we do it correctly.
I guess this method is for OS which do not implement that one, as its
the case for now..
Remember, we have that:
Device (SMBC)
{
Name (_HID, "ACPI0001")
Name (_EC, 0x1820)
^^
which will correspond to
this _Q20 that we have to
overwrite.
Device (SBS0)
{
Name (_HID, "ACPI0002")
Name (_SBS, 0x02)
}
}
Many thanks again for your work,
--
Bruno Ducrot
-- Which is worse: ignorance or apathy?
-- Don't know. Don't care.
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
next prev parent reply other threads:[~2005-01-17 11:41 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-14 19:23 Smart Battery System driver Rich Townsend
[not found] ` <41E81C2C.8010809-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-15 0:06 ` David Gómez
2005-01-15 0:12 ` Pedro Venda
2005-01-15 0:13 ` Matthew Garrett
2005-01-15 3:03 ` Johannes Kuhlmann
[not found] ` <47e0449d05011419037877f931-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2005-01-15 10:57 ` Johan Vromans
[not found] ` <m2fz13x8mw.fsf-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-15 14:24 ` Johannes Kuhlmann
2005-01-16 8:55 ` Rich Townsend
[not found] ` <41EA2C1D.3030909-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-16 10:48 ` François Valenduc
[not found] ` <41EA4661.4000304-IWqWACnzNjyZIoH1IeqzKA@public.gmane.org>
2005-01-16 14:36 ` François Valenduc
2005-01-16 10:49 ` Karol Kozimor
2005-01-17 11:41 ` Bruno Ducrot [this message]
2005-01-17 16:27 ` Pedro Venda
[not found] ` <41EBE769.7050107-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-18 1:36 ` Rich Townsend
[not found] ` <41EC6829.1070901-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-18 11:11 ` Matthew Garrett
2005-01-18 11:23 ` Zdzisław A. Kaleta
[not found] ` <200501181223.22954.sanskryt-FWhLrETftxM@public.gmane.org>
2005-01-18 12:20 ` Zdzisław A. Kaleta
2005-01-18 15:46 ` Rich Townsend
2005-01-18 3:03 ` Rich Townsend
[not found] ` <41EC7C7D.1070003-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-18 4:39 ` Rich Townsend
[not found] ` <41EC9316.80109-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-18 13:00 ` Pedro Venda
2005-01-19 4:32 ` Rich Townsend
[not found] ` <41EDE2EA.7090404-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-19 9:36 ` Johan Vromans
[not found] ` <m2u0pdn4js.fsf-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-19 13:31 ` Rich Townsend
2005-01-19 14:11 ` Johan Vromans
2005-01-19 18:49 ` Jeroen Wijnhout
[not found] ` <200501191949.03558.Jeroen.Wijnhout-sVbgdUKTYbrR7s880joybQ@public.gmane.org>
2005-01-19 19:10 ` Olaf Jansen-Olliges
[not found] ` <200501192010.25975.o.jansen-n+qsWun7DryELgA04lAiVw@public.gmane.org>
2005-01-19 21:55 ` Johan Vromans
[not found] ` <m28y6pytgs.fsf-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-19 22:24 ` Rich Townsend
2005-01-20 8:36 ` Olaf Jansen-Olliges
[not found] ` <200501200936.21831.o.jansen-n+qsWun7DryELgA04lAiVw@public.gmane.org>
2005-01-20 9:22 ` Johan Vromans
2005-01-20 9:10 ` Jeroen Wijnhout
2005-01-20 3:03 ` Rich Townsend
[not found] ` <41EF1F6A.5000807-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-20 15:12 ` Pedro Venda
[not found] ` <41EFCA59.6040100-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-20 16:04 ` Rich Townsend
[not found] ` <41EFD672.2040308-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-20 21:10 ` Stefan Seyfried
[not found] ` <20050120211044.GA27543-l0tNAEGuAhhzZ8+rp42Dbp9+tswZ0GTaehPwdyo5hKaELgA04lAiVw@public.gmane.org>
2005-01-21 13:16 ` Pedro Venda
[not found] ` <41F1009C.30201-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-21 17:48 ` Stefan Seyfried
2005-09-06 3:25 ` Antoni Villalonga
[not found] ` <75eeb70e05090520257be89afa-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2005-09-06 6:19 ` Olaf Jansen-Olliges
[not found] ` <200509060819.13292.o.jansen-n+qsWun7DryELgA04lAiVw@public.gmane.org>
2005-09-06 6:48 ` Yu Luming
[not found] ` <200509061448.12234.luming.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2005-09-06 6:54 ` Olaf Jansen-Olliges
[not found] ` <200509060854.14417.o.jansen-n+qsWun7DryELgA04lAiVw@public.gmane.org>
2005-09-06 6:57 ` Yu Luming
[not found] ` <200509061457.23947.luming.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2005-09-06 7:05 ` Olaf Jansen-Olliges
2005-09-06 8:41 ` Olaf Jansen-Olliges
[not found] ` <200509061041.21722.o.jansen-n+qsWun7DryELgA04lAiVw@public.gmane.org>
2005-09-06 9:34 ` Yu Luming
[not found] ` <200509061734.11182.luming.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2005-09-06 11:57 ` Olaf Jansen-Olliges
2005-09-08 9:04 ` Olaf Jansen-Olliges
2005-09-06 6:38 ` Yu Luming
2005-09-06 19:53 ` Antoni Villalonga
[not found] ` <75eeb70e050906125344c326ad-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2005-09-06 20:38 ` François Valenduc
2005-09-09 21:59 ` Antoni Villalonga
2005-09-07 7:51 ` David Gómez
2005-01-20 20:38 ` Johan Vromans
[not found] ` <m2wtu74yzq.fsf-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-20 20:48 ` Rich Townsend
[not found] ` <41F01923.1000503-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-20 21:31 ` Johan Vromans
[not found] ` <m2sm4v4wk7.fsf-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-21 2:57 ` Bernard Blackham
2005-01-21 13:20 ` Pedro Venda
2005-01-21 13:24 ` Johan Vromans
[not found] ` <16881.652.864369.5956-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-21 13:34 ` Pedro Venda
[not found] ` <41F10180.60008-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-21 13:26 ` Rich Townsend
[not found] ` <41F1031E.60507-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-21 13:42 ` Pedro Venda
[not found] ` <41F106C9.5020404-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-21 15:01 ` Rich Townsend
[not found] ` <41F11940.5010101-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-21 20:16 ` Pedro Venda
[not found] ` <41F1631C.1030701-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-21 20:31 ` Rich Townsend
2005-01-21 14:17 ` Zdzisław A. Kaleta
2005-01-23 16:02 ` Pavel Machek
[not found] ` <20050123160244.GA1364-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-01-23 17:36 ` Pedro Venda
[not found] ` <41F3E095.6060805-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-24 11:50 ` Stefan Seyfried
2005-01-21 0:31 ` ultrakorne
[not found] ` <41F04D5A.8060304-XtQPfPCVGG7srOwW+9ziJQ@public.gmane.org>
2005-01-25 4:54 ` Rich Townsend
2005-01-18 10:26 ` Bruno Ducrot
[not found] ` <20050118102635.GV19199-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2005-01-18 15:39 ` Rich Townsend
[not found] ` <41ED2DB8.70707-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-19 11:09 ` Bruno Ducrot
2005-01-15 6:38 ` Rich Townsend
2005-01-17 13:20 ` Bruno Ducrot
[not found] ` <20050117132023.GT19199-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2005-01-17 14:21 ` Hendrik Jürgens
2005-01-17 11:33 ` Bruno Ducrot
2005-01-17 21:11 ` Zdzisław A. Kaleta
[not found] ` <200501172211.37583.sanskryt-FWhLrETftxM@public.gmane.org>
2005-01-17 23:58 ` Zdzisław A. Kaleta
2005-01-17 22:40 ` ultrakorne
-- strict thread matches above, loose matches on Subject: below --
2005-01-20 22:04 Grover, Andrew
[not found] ` <F760B14C9561B941B89469F59BA3A84708CBB988-sBd4vmA9Se6krb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2005-01-20 22:12 ` Karol Kozimor
2005-01-21 0:03 ` Matthew Garrett
2005-01-21 12:02 ` Paul Ionescu
2005-01-21 10:06 ` Simon Fowler
[not found] ` <20050121100618.GA3945-Ji7FXtOmRLs@public.gmane.org>
2005-01-21 13:22 ` Rich Townsend
2005-01-21 14:14 ` Stefan Seyfried
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050117114109.GS19199@poupinou.org \
--to=ducrot-kk6yzipjem5g9huczpvpmw@public.gmane.org \
--cc=Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=rhdt-OBnUx95tOyn10jlvfTC4gA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox