public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: "François Valenduc" <fvalenduc-IWqWACnzNjyZIoH1IeqzKA@public.gmane.org>
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Cc: Rich Townsend <rhdt-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
Subject: Re: Re: Smart Battery System driver
Date: Sun, 16 Jan 2005 15:36:51 +0100	[thread overview]
Message-ID: <41EA7C03.7020509@tiscali.be> (raw)
In-Reply-To: <41EA4661.4000304-IWqWACnzNjyZIoH1IeqzKA@public.gmane.org>

Hello again,

In fact, I now have battery and ac adapter info. I just had to remove AC 
adapter support in the ACPI support in kernel configuration. 
Neverthelss, I still get strange values for the remaining time. Now, 
when battery is full loaded, I am suposed to have an autonomy of 54 
hours ! That would be wonderful but I don't think it's realstic !

Would you haveAny ideas to solve the problem. Thanks in advance


>
> Rich Townsend a écrit :
>
>> Johan Vromans wrote:
>>
>>> Johannes Kuhlmann <jkuhlmann-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:
>>>
>>>
>>>> I had to put
>>>> EXPORT_SYMBOL(acpi_ec_write); and EXPORT_SYMBOL(acpi_ec_read); after
>>>> the functions in drivers/acpi/ec.c.
>>>
>>>
>>>
>>>
>>> This is one of the issues Bruno's patch addressed...
>>>
>>
>> Yeah, I'd completely forgotten about the patch, until I went back and 
>> checked the instructions in Bruno's smartbatt package. D'oh!
>>
>> I've modified the README file accordingly, and placed a copy of the 
>> patch in my acpi-sbs package. This is on top of a number of changes & 
>> additions to the code, which include:
>>
>> *) Fixed scaling bug when capacity is reported in mWh
>> *) Added a new module parameter, capacity_info, to alter whether 
>> capacities are reported in mAh (charge) or mWh (power)
>> *) Fixed a number of bugs in the formatting of info/state output
>> *) Added support for Smart Battery System Manager (SBSM), Smart 
>> Battery Selector (SBSEL) and Smart Battery Charge (SBC) subsystems. 
>> With the code for these in place, the module correctly (I think) 
>> enumerates how many batteries the system can support, which ones are 
>> present, etc.
>> *) Added a new legacy interface for the AC adapter, in 
>> /proc/acpi/ac_adapter/*/state (where * is typically SBS0).
>> *) Put in semaphores, so the code *might* now be SMP safe. Of course, 
>> this may be a purely academic excercise; I've never met the lucky 
>> **** who has an SMP laptop :)
>>
>> The latest copy of the code can be obtained from:
>>
>> http://shayol.bartol.udel.edu/~rhdt/download/acpi_sbs-20050116.tar.gz
>>
>> To move forward from here, I'd appreciate some advice from others on
>> this list. In particular
>>
>> *) I'd like some feedback on the directory structure I've chosen. At 
>> the moment, the root directory of the Smart Battery System is 'sbs', 
>> but would something more verbose like 'smart_battery_system' be 
>> appropriate? Also, should various subdirectories, representing 
>> subsystems, have more descriptive names -- e.g., 'battery_A' instead 
>> of 'SB0' (the SBS spec. refers to the batteries as 'A', 'B' etc), 
>> 'selector' instead of 'SBSL', and so on?
>>
>> *) I'd appreciate feedback from people with systems *other* than Acer 
>> TravelMater 4x00 laptops, to help check parts of the code that are 
>> not accessed on these machines (e.g., the Smart Battery System 
>> Manager code; my TM4502 laptop has an older Smart Battery Selector)
>>
>> *) 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.
>>
>> *) 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?
>>
>> Any pointers for the above questions will be very welcome -- and 
>> thanks to everyone who has responded with bug reports so far.
>>
>> cheers,
>>
>> Rich
>>
>>
>> -------------------------------------------------------
>> 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
>> _______________________________________________
>> Acpi-devel mailing list
>> Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
>> https://lists.sourceforge.net/lists/listinfo/acpi-devel
>>
>
>
>
> -------------------------------------------------------
> 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
> _______________________________________________
> Acpi-devel mailing list
> Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/acpi-devel
>
>



-------------------------------------------------------
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

  parent reply	other threads:[~2005-01-16 14:36 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 [this message]
2005-01-16 10:49                 ` Karol Kozimor
2005-01-17 11:41                 ` Bruno Ducrot
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=41EA7C03.7020509@tiscali.be \
    --to=fvalenduc-iwqwacnznjyzioh1ieqzka@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