Re: atrtc.c patch for ACPI CMOS region (was Re: ACPI support - Freebsd 10 on Sony Vaio VPCCA3C5E)

2014-07-19 Thread Ian Smith
On Wed, 16 Jul 2014 17:08:03 -0400, Anthony Jenkins wrote:
 > On 07/16/2014 13:16, Ian Smith wrote:
[..]
 > >  > http://pastebin.com/P0B44u0c
 > >
 > > Either by show raw and save, or by download, the patch has ^M lineends.

 > Bah!  Well that'd explain it... I'm generating the file on a pure 
 > FreeBSD box, opened in gvim, select all, copy, paste to pastebin.com.

Must be pastebin .. a sh script I grabbed from there came like that too.

 > > Interesting, but I can't see atrtc.c being the right sort of place for 
 > > this, seems way out of scope.  Couldn't you include its headers and use 
 > > functions rtcin() and writertc() from elsewhere in kernel, perhaps a 
 > > module living in the same hierarchy as acpi_ibm, acpi_asus and such, 
 > > that one could build and kldload if useful on a certain machine/s?

 > This is in support of the PNP0800 device, for which atrtc.c is the 
 > driver.  The ACPI spec (5.0 is what I'm reading) says that device 
 > should implement a handler to read offset 0x00-0x7F.

Fair enough.  I've since explored PNP0800 a bit, had a look at what 
Linux does in (apparently recent) acpi_cmos_rtc.c, asm-generic/rtc.h etc 
from mit.edu - much more complex and quirk-handling than ours - and soon 
realised how out of date my knowledge of any of this is; ACPI was at 3.0 
last time I read much of the spec ..

 > > If so, you haven't to do battle with Time Lords :) with something people 
 > > could add and load at own risk without messing with core kernel stuff.
 > >
 > > acpi_ibm should be a useful template, as it includes code to read CMOS 
 > > bytes in the 0x60-0x6f range, presumably updated by the BIOS, whether 
 > > opaquely or somehow via AML code I don't know.  It uses rtcin() so has 
 > > that scope in place.
 > >
 > > I'd still like to see your patch reject attempts to read or write to at 
 > > least below 0x10.  Even reading status register/s resets interrupts, and 
 > > why would anyone need to mess with clock and/or timer regs via ACPI?

 > I assume it'd be the BIOS AML which would use my CMOS region handler; 
 > it'd be a BIOS bug that reads/writes the clock regs.

Fair enough again.  My earlier impression was of a fix for a specific 
quirk for your HP, not realising you were implementing what is for 
FreeBSD a new handler for a new(er) ACPI feature, so ignore my musings.

 > > Maybe you could add a sysctl to limit access to some specific range?
 > I dunno... I really think what I have is the Right Thing To Do... 
 > Someone else from freebsd-acpi@ suggested this approach.  Maybe 
 > someone versed in ACPI could clarify from the spec?

I'd be happy to see more on-list information, but everyone's busy .. 

cheers, Ian
___
freebsd-acpi@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"


Re: atrtc.c patch for ACPI CMOS region (was Re: ACPI support - Freebsd 10 on Sony Vaio VPCCA3C5E)

2014-07-17 Thread Anthony Jenkins
On 07/16/2014 19:39, Daniele Mazzotti wrote:
> Hi guys,
>
> @Anthony: actually I am a "he" and not a "she" and I never thought about
> changing my nature below the waist :-).

Oops!  Sorry about that...

> By the way I will try to apply the patch as soon as I will be back home as
> I left my personal PC at home and I won't be back until Monday. I will let
> you know if that will fix my suspend/resume issue.

Yeah just try stripping the apparent Ctrl-M line termination characters in the 
patch, or I can compress/encode it or something for transport.  ...or try the 
'--ignore-whitespace' option to FreeBSD patch(1).

Thanks,
Anthony

> Regarding the battery issue I hope that I will try to follow the
> recommendations from Ian in another email and see what happen.
>
> Cheers,
> Daniele.
>
> Il 16/lug/2014 23:08 "Anthony Jenkins"  ha
> scritto:
>
>> On 07/16/2014 13:16, Ian Smith wrote:
>>> On Wed, 16 Jul 2014 09:26:08 -0400, Anthony Jenkins wrote:
>>>  > On 07/16/2014 01:32, Daniele Mazzotti wrote:
>>>  >> Hi guys, thanks again for the support, but I am leaving for a
>>>  >> businesses trip and I will be forced to put this debug thing on hold
>>>  >> for a while. I will be back on track next week.
>>>  >
>>>  > Bah... really wanted to figure out the patch problem.  I suspect the
>>>  > file picked up some corruption somewhere between the email and your
>>>  > FreeBSD filesystem.  Your OS version has the same revision of that
>>>  > source file as mine, so it should apply cleanly.  If you feel like
>>>  > tinkering with it in your free time, I've posted the patch here:
>>>  > http://pastebin.com/P0B44u0c
>>>  >
>>>  > Good luck,
>>>  > Anthony
>>>
>>> Either by show raw and save, or by download, the patch has ^M lineends.
>> Bah!  Well that'd explain it... I'm generating the file on a pure FreeBSD
>> box, opened in gvim, select all, copy, paste to pastebin.com.
>>> Interesting, but I can't see atrtc.c being the right sort of place for
>>> this, seems way out of scope.  Couldn't you include its headers and use
>>> functions rtcin() and writertc() from elsewhere in kernel, perhaps a
>>> module living in the same hierarchy as acpi_ibm, acpi_asus and such,
>>> that one could build and kldload if useful on a certain machine/s?
>> This is in support of the PNP0800 device, for which atrtc.c is the driver.
>>  The ACPI spec (5.0 is what I'm reading) says that device should implement
>> a handler to read offset 0x00-0x7F.
>>> If so, you haven't to do battle with Time Lords :) with something people
>>> could add and load at own risk without messing with core kernel stuff.
>>>
>>> acpi_ibm should be a useful template, as it includes code to read CMOS
>>> bytes in the 0x60-0x6f range, presumably updated by the BIOS, whether
>>> opaquely or somehow via AML code I don't know.  It uses rtcin() so has
>>> that scope in place.
>>>
>>> I'd still like to see your patch reject attempts to read or write to at
>>> least below 0x10.  Even reading status register/s resets interrupts, and
>>> why would anyone need to mess with clock and/or timer regs via ACPI?
>> I assume it'd be the BIOS AML which would use my CMOS region handler; it'd
>> be a BIOS bug that reads/writes the clock regs.
>>> Have you found exactly which CMOS bytes your box needs to meddle with?
>> I do have printf()s in my code (don't think I added it to the patch) that
>> says what's read/written, I'll have to look again.
>>> Maybe you could add a sysctl to limit access to some specific range?
>> I dunno... I really think what I have is the Right Thing To Do... Someone
>> else from freebsd-acpi@ suggested this approach.  Maybe someone versed in
>> ACPI could clarify from the spec?
>>
>>> Don't mind me, just thinking aloud, and I've no idea how this might
>>> relate to Daniele's issue with stale battery data?
>> Agreed... I'm pretty much just blindly tossing the patch over to her. :-)
>>  She did complain about suspend issues, and my patch fixes suspend issues
>> on my HP and another guinea pig from the mailing list (with an HP).  Next I
>> need to figure out why acpi_hp doesn't work on my laptop, as I see SystemIO
>> calls to 0x72/0x73 when I try to adjust the brightness.
>>
>> Thanks,
>> Anthony
>>> cheers, Ian
>>>
>>> PS Daniele: no, never tempted by Sonys; rusted-on Thinkpad kinda guy :)
>>> ___
>>> freebsd-acpi@freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
>>> To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"
>>>
>>
> ___
> freebsd-acpi@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"
>

___
freebsd-acpi@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"


Re: atrtc.c patch for ACPI CMOS region (was Re: ACPI support - Freebsd 10 on Sony Vaio VPCCA3C5E)

2014-07-16 Thread Daniele Mazzotti
Hi guys,

@Anthony: actually I am a "he" and not a "she" and I never thought about
changing my nature below the waist :-).

By the way I will try to apply the patch as soon as I will be back home as
I left my personal PC at home and I won't be back until Monday. I will let
you know if that will fix my suspend/resume issue.

Regarding the battery issue I hope that I will try to follow the
recommendations from Ian in another email and see what happen.

Cheers,
Daniele.

Il 16/lug/2014 23:08 "Anthony Jenkins"  ha
scritto:

> On 07/16/2014 13:16, Ian Smith wrote:
> > On Wed, 16 Jul 2014 09:26:08 -0400, Anthony Jenkins wrote:
> >  > On 07/16/2014 01:32, Daniele Mazzotti wrote:
> >  >> Hi guys, thanks again for the support, but I am leaving for a
> >  >> businesses trip and I will be forced to put this debug thing on hold
> >  >> for a while. I will be back on track next week.
> >  >
> >  > Bah... really wanted to figure out the patch problem.  I suspect the
> >  > file picked up some corruption somewhere between the email and your
> >  > FreeBSD filesystem.  Your OS version has the same revision of that
> >  > source file as mine, so it should apply cleanly.  If you feel like
> >  > tinkering with it in your free time, I've posted the patch here:
> >  > http://pastebin.com/P0B44u0c
> >  >
> >  > Good luck,
> >  > Anthony
> >
> > Either by show raw and save, or by download, the patch has ^M lineends.
> Bah!  Well that'd explain it... I'm generating the file on a pure FreeBSD
> box, opened in gvim, select all, copy, paste to pastebin.com.
> > Interesting, but I can't see atrtc.c being the right sort of place for
> > this, seems way out of scope.  Couldn't you include its headers and use
> > functions rtcin() and writertc() from elsewhere in kernel, perhaps a
> > module living in the same hierarchy as acpi_ibm, acpi_asus and such,
> > that one could build and kldload if useful on a certain machine/s?
> This is in support of the PNP0800 device, for which atrtc.c is the driver.
>  The ACPI spec (5.0 is what I'm reading) says that device should implement
> a handler to read offset 0x00-0x7F.
> > If so, you haven't to do battle with Time Lords :) with something people
> > could add and load at own risk without messing with core kernel stuff.
> >
> > acpi_ibm should be a useful template, as it includes code to read CMOS
> > bytes in the 0x60-0x6f range, presumably updated by the BIOS, whether
> > opaquely or somehow via AML code I don't know.  It uses rtcin() so has
> > that scope in place.
> >
> > I'd still like to see your patch reject attempts to read or write to at
> > least below 0x10.  Even reading status register/s resets interrupts, and
> > why would anyone need to mess with clock and/or timer regs via ACPI?
> I assume it'd be the BIOS AML which would use my CMOS region handler; it'd
> be a BIOS bug that reads/writes the clock regs.
> > Have you found exactly which CMOS bytes your box needs to meddle with?
> I do have printf()s in my code (don't think I added it to the patch) that
> says what's read/written, I'll have to look again.
> > Maybe you could add a sysctl to limit access to some specific range?
> I dunno... I really think what I have is the Right Thing To Do... Someone
> else from freebsd-acpi@ suggested this approach.  Maybe someone versed in
> ACPI could clarify from the spec?
>
> > Don't mind me, just thinking aloud, and I've no idea how this might
> > relate to Daniele's issue with stale battery data?
>
> Agreed... I'm pretty much just blindly tossing the patch over to her. :-)
>  She did complain about suspend issues, and my patch fixes suspend issues
> on my HP and another guinea pig from the mailing list (with an HP).  Next I
> need to figure out why acpi_hp doesn't work on my laptop, as I see SystemIO
> calls to 0x72/0x73 when I try to adjust the brightness.
>
> Thanks,
> Anthony
> > cheers, Ian
> >
> > PS Daniele: no, never tempted by Sonys; rusted-on Thinkpad kinda guy :)
> > ___
> > freebsd-acpi@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> > To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"
> >
>
>
___
freebsd-acpi@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"


atrtc.c patch for ACPI CMOS region (was Re: ACPI support - Freebsd 10 on Sony Vaio VPCCA3C5E)

2014-07-16 Thread Anthony Jenkins
On 07/16/2014 13:16, Ian Smith wrote:
> On Wed, 16 Jul 2014 09:26:08 -0400, Anthony Jenkins wrote:
>  > On 07/16/2014 01:32, Daniele Mazzotti wrote:
>  >> Hi guys, thanks again for the support, but I am leaving for a 
>  >> businesses trip and I will be forced to put this debug thing on hold 
>  >> for a while. I will be back on track next week.
>  >
>  > Bah... really wanted to figure out the patch problem.  I suspect the 
>  > file picked up some corruption somewhere between the email and your 
>  > FreeBSD filesystem.  Your OS version has the same revision of that 
>  > source file as mine, so it should apply cleanly.  If you feel like 
>  > tinkering with it in your free time, I've posted the patch here: 
>  > http://pastebin.com/P0B44u0c
>  > 
>  > Good luck,
>  > Anthony
>
> Either by show raw and save, or by download, the patch has ^M lineends.
Bah!  Well that'd explain it... I'm generating the file on a pure FreeBSD box, 
opened in gvim, select all, copy, paste to pastebin.com.
> Interesting, but I can't see atrtc.c being the right sort of place for 
> this, seems way out of scope.  Couldn't you include its headers and use 
> functions rtcin() and writertc() from elsewhere in kernel, perhaps a 
> module living in the same hierarchy as acpi_ibm, acpi_asus and such, 
> that one could build and kldload if useful on a certain machine/s?
This is in support of the PNP0800 device, for which atrtc.c is the driver.  The 
ACPI spec (5.0 is what I'm reading) says that device should implement a handler 
to read offset 0x00-0x7F.
> If so, you haven't to do battle with Time Lords :) with something people 
> could add and load at own risk without messing with core kernel stuff.
>
> acpi_ibm should be a useful template, as it includes code to read CMOS 
> bytes in the 0x60-0x6f range, presumably updated by the BIOS, whether 
> opaquely or somehow via AML code I don't know.  It uses rtcin() so has 
> that scope in place.
>
> I'd still like to see your patch reject attempts to read or write to at 
> least below 0x10.  Even reading status register/s resets interrupts, and 
> why would anyone need to mess with clock and/or timer regs via ACPI?
I assume it'd be the BIOS AML which would use my CMOS region handler; it'd be a 
BIOS bug that reads/writes the clock regs.
> Have you found exactly which CMOS bytes your box needs to meddle with?
I do have printf()s in my code (don't think I added it to the patch) that says 
what's read/written, I'll have to look again.
> Maybe you could add a sysctl to limit access to some specific range?
I dunno... I really think what I have is the Right Thing To Do... Someone else 
from freebsd-acpi@ suggested this approach.  Maybe someone versed in ACPI could 
clarify from the spec?

> Don't mind me, just thinking aloud, and I've no idea how this might 
> relate to Daniele's issue with stale battery data?

Agreed... I'm pretty much just blindly tossing the patch over to her. :-)  She 
did complain about suspend issues, and my patch fixes suspend issues on my HP 
and another guinea pig from the mailing list (with an HP).  Next I need to 
figure out why acpi_hp doesn't work on my laptop, as I see SystemIO calls to 
0x72/0x73 when I try to adjust the brightness.

Thanks,
Anthony
> cheers, Ian
>
> PS Daniele: no, never tempted by Sonys; rusted-on Thinkpad kinda guy :)
> ___
> freebsd-acpi@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"
>

___
freebsd-acpi@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"