All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pradeep Subrahmanion <subrahmanion.pradeep@gmail.com>
To: joeyli <jlee@suse.com>
Cc: Matthew Garrett <mjg@redhat.com>,
	rpurdie@rpsys.net, FlorianSchandinat@gmx.de,
	akpm@linux-foundation.org, linux-fbdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Added backlight driver for Acer Aspire 4736
Date: Sun, 18 Mar 2012 10:42:11 +0530	[thread overview]
Message-ID: <1332047531.6304.14.camel@debian.Gayathri> (raw)
In-Reply-To: <1331798740.10557.245.camel@linux-s257.site>

On Thu, 2012-03-15 at 16:05 +0800, joeyli wrote:
> Hi Pradeep, 
> 
> 於 三,2012-03-14 於 11:47 +0530,Pradeep Subrahmanion 提到:
> > On Wed, Mar 14, 2012 at 11:21 AM, joeyli <jlee@suse.com> wrote:
> > > 於 三,2012-03-14 於 08:13 +0530,Pradeep Subrahmanion 提到:
> > >> Hi Joey ,
> > >>
> > >> > Per my understood, EC firmware should change brightness but didn't do
> > >> > that, another
> > >> > way is touch i915 register in _BCM.
> > >>
> > >>   how do we do this ? you mean change the _BCM implementation ?
> > >
> > > "BIOS guy" should do something like this:
> > >
> > >  Method (AINT, 2, NotSerialized)
> > > {
> > > ...
> > >        If (LEqual (Arg0, One))
> > >        {
> > >            Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP)
> > >            Or (BCLP, 0x80000000, BCLP)         <=== touch BCLP register
> > >            Store (0x02, ASLC)
> > >        }
> > >
> > >    Method (_BCM, 1, NotSerialized)
> > >    {
> > >        If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
> > >        {
> > >            AINT (One, Arg0)     <=== call AINT method
> > >            Store (Arg0, BRTL)
> > >        }
> > >    }
> > >
> > >
> > > Just for reference, they should do that when EC didn't wire to
> > > backlight.
> > >
> > >> >
> > >> > Acer machine provide a broken _BCM implementation and they didn't test
> > >> > it.
> > >> >
> > >> > > > > By ' ACPI interface' , I mean 'acpi_video0' inside the
> > >> > > > > /sys/class/backlight. I havn't tried the /sys/class/backlight interface
> > >> > > > > directly . I will try that also.
> > >> > > >
> > >> > > > So writing values into /sys/class/backlight/acpi_video0/brightness does
> > >> > > > nothing?
> > >> > >
> > >> > >
> > >> > > No change in value when writing
> > >> > > to /sys/class/backlight/acpi_video0/brightness.
> > >> > >
> > >> > > Another thing is that when i did boot with acpi_backlight = 'acer_wmi' ,
> > >> > > in new kernel (3.3.0-rc7) , it shows following messages ,
> > >> > >
> > >> > > [    8.350825] wmi: Mapper loaded
> > >> > > [   10.363975] acer_wmi: Acer Laptop ACPI-WMI Extras
> > >> > > [   10.396186] acer_wmi: Function bitmap for Communication Device: 0x91
> > >> > > [   10.396385] acer_wmi: Brightness must be controlled by generic video
> > >> > > driver
> > >> > >
> > >> > > Also there was no interface inside /sys/class/backlight for acer_wmi.
> > >> > >
> > >> >
> > >> > Yes, acer_wmi support backlight control with AMW0 interface, your
> > >> > machine didn't have AMW0 interface.
> > >> >
> > >> > Normally, backlight should control by standard acpi interface.
> > >> >
> > >> > > I also tried writing directly to Embedded controller register .But no
> > >> > > change.
> > >> >
> > >> > The machine has broken _BCM method, because EC should do something after
> > >> > _BCM changed EC register.
> > >>
> > >> Thanks ,
> > >>
> > >> Pradeep Subrahmanion
> > >
> > > Why they didn't find _BCM not work?
> > >
> > > My guess is:
> > >
> > > Because the backlight control is through WDDM driver on Windows platform
> > > but not through standard ACPI method _BCM. They only test Windows
> > > platform, so, they didn't find _BCM broken.
> > >
> > > And, they also didn't really follow Microsoft WDDM spec:
> > >
> > >  http://msdn.microsoft.com/en-us/windows/hardware/gg487382.aspx
> > >
> > > Per spec,
> > > ODM should keep _BCM works fine for any other OS didn't support WDDM
> > > driver, but they didn't.
> > >
> > > At last year, I told Acer PM one time for this issue, they said will
> > > check but finally didn't response me.
> > >
> > 
> > >
> > > Thanks
> > > Joey Lee
> > >
> > 
> > So touching the PCI LBB register is the only feasible solution now
> > (even though it may not be a clean  method) ?
> > 
> > Thanks,
> > Pradeep Subrahmanion
> 
> That will be better leave LBB register only touched by i915 driver.
> 
> If 'acpi_backlight=vendor' works to you, maybe we can add a quirk to
> video_detect.c. 
> You can try the following patch.

Thanks . I tried your patch .acpi_backlight=vendor allows me to control
brightness with hot key.But there are problems with it like increasing
brightness after  maximum level causes blank screen.So I am trying it
sort it out.
 
Thank you , 

Pradeep Subrahmanion

> 
> 
> Thanks a lot!
> Joey Lee
> 
> 
> >From 038bd3c4e53b7195f34e9d46c999b8dcb279da5e Mon Sep 17 00:00:00 2001
> From: "Lee, Chun-Yi" <jlee@suse.com>
> Date: Thu, 15 Mar 2012 16:03:45 +0800
> Subject: [PATCH] acer-wmi: Add quirk table for video backlight vendor mode
> 
> Add quirk table for video backlight vendor mode
> 
> Signed-off-by: "Lee, Chun-Yi" <jlee@suse.com>
> ---
>  drivers/acpi/video_detect.c |   27 +++++++++++++++++++++++++++
>  1 files changed, 27 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
> index f3f0fe7..acb15d6 100644
> --- a/drivers/acpi/video_detect.c
> +++ b/drivers/acpi/video_detect.c
> @@ -132,6 +132,32 @@ find_video(acpi_handle handle, u32 lvl, void *context, void **rv)
>  	return AE_OK;
>  }
>  
> +static int video_set_backlight_vendor(const struct dmi_system_id *d)
> +{
> +	acpi_video_support |= ACPI_VIDEO_BACKLIGHT_DMI_VENDOR;
> +	return 0;
> +}
> +
> +static const struct dmi_system_id video_vendor_dmi_table[] = {
> +	{
> +	 .callback = video_set_backlight_vendor,
> +	 .ident = "Acer Aspire 4736",
> +	 .matches = {
> +		DMI_MATCH(DMI_BOARD_VENDOR, "Acer"),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 4736"),
> +		},
> +	},
> +	{
> +	 .callback = video_set_backlight_vendor,
> +	 .ident = "Acer TravelMate 4750",
> +	 .matches = {
> +		DMI_MATCH(DMI_BOARD_VENDOR, "Acer"),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 4750"),
> +		},
> +	},
> +	{}
> +};
> +
>  /*
>   * Returns the video capabilities of a specific ACPI graphics device
>   *
> @@ -164,6 +190,7 @@ long acpi_video_get_capabilities(acpi_handle graphics_handle)
>  		 *		ACPI_VIDEO_BACKLIGHT_DMI_VENDOR;
>  		 *}
>  		 */
> +		dmi_check_system(video_vendor_dmi_table);
>  	} else {
>  		status = acpi_bus_get_device(graphics_handle, &tmp_dev);
>  		if (ACPI_FAILURE(status)) {




WARNING: multiple messages have this Message-ID (diff)
From: Pradeep Subrahmanion <subrahmanion.pradeep@gmail.com>
To: joeyli <jlee@suse.com>
Cc: Matthew Garrett <mjg@redhat.com>,
	rpurdie@rpsys.net, FlorianSchandinat@gmx.de,
	akpm@linux-foundation.org, linux-fbdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Added backlight driver for Acer Aspire 4736
Date: Sun, 18 Mar 2012 05:24:11 +0000	[thread overview]
Message-ID: <1332047531.6304.14.camel@debian.Gayathri> (raw)
In-Reply-To: <1331798740.10557.245.camel@linux-s257.site>

On Thu, 2012-03-15 at 16:05 +0800, joeyli wrote:
> Hi Pradeep, 
> 
> 於 三,2012-03-14 於 11:47 +0530,Pradeep Subrahmanion 提到:
> > On Wed, Mar 14, 2012 at 11:21 AM, joeyli <jlee@suse.com> wrote:
> > > 於 三,2012-03-14 於 08:13 +0530,Pradeep Subrahmanion 提到:
> > >> Hi Joey ,
> > >>
> > >> > Per my understood, EC firmware should change brightness but didn't do
> > >> > that, another
> > >> > way is touch i915 register in _BCM.
> > >>
> > >>   how do we do this ? you mean change the _BCM implementation ?
> > >
> > > "BIOS guy" should do something like this:
> > >
> > >  Method (AINT, 2, NotSerialized)
> > > {
> > > ...
> > >        If (LEqual (Arg0, One))
> > >        {
> > >            Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP)
> > >            Or (BCLP, 0x80000000, BCLP)         <== touch BCLP register
> > >            Store (0x02, ASLC)
> > >        }
> > >
> > >    Method (_BCM, 1, NotSerialized)
> > >    {
> > >        If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
> > >        {
> > >            AINT (One, Arg0)     <== call AINT method
> > >            Store (Arg0, BRTL)
> > >        }
> > >    }
> > >
> > >
> > > Just for reference, they should do that when EC didn't wire to
> > > backlight.
> > >
> > >> >
> > >> > Acer machine provide a broken _BCM implementation and they didn't test
> > >> > it.
> > >> >
> > >> > > > > By ' ACPI interface' , I mean 'acpi_video0' inside the
> > >> > > > > /sys/class/backlight. I havn't tried the /sys/class/backlight interface
> > >> > > > > directly . I will try that also.
> > >> > > >
> > >> > > > So writing values into /sys/class/backlight/acpi_video0/brightness does
> > >> > > > nothing?
> > >> > >
> > >> > >
> > >> > > No change in value when writing
> > >> > > to /sys/class/backlight/acpi_video0/brightness.
> > >> > >
> > >> > > Another thing is that when i did boot with acpi_backlight = 'acer_wmi' ,
> > >> > > in new kernel (3.3.0-rc7) , it shows following messages ,
> > >> > >
> > >> > > [    8.350825] wmi: Mapper loaded
> > >> > > [   10.363975] acer_wmi: Acer Laptop ACPI-WMI Extras
> > >> > > [   10.396186] acer_wmi: Function bitmap for Communication Device: 0x91
> > >> > > [   10.396385] acer_wmi: Brightness must be controlled by generic video
> > >> > > driver
> > >> > >
> > >> > > Also there was no interface inside /sys/class/backlight for acer_wmi.
> > >> > >
> > >> >
> > >> > Yes, acer_wmi support backlight control with AMW0 interface, your
> > >> > machine didn't have AMW0 interface.
> > >> >
> > >> > Normally, backlight should control by standard acpi interface.
> > >> >
> > >> > > I also tried writing directly to Embedded controller register .But no
> > >> > > change.
> > >> >
> > >> > The machine has broken _BCM method, because EC should do something after
> > >> > _BCM changed EC register.
> > >>
> > >> Thanks ,
> > >>
> > >> Pradeep Subrahmanion
> > >
> > > Why they didn't find _BCM not work?
> > >
> > > My guess is:
> > >
> > > Because the backlight control is through WDDM driver on Windows platform
> > > but not through standard ACPI method _BCM. They only test Windows
> > > platform, so, they didn't find _BCM broken.
> > >
> > > And, they also didn't really follow Microsoft WDDM spec:
> > >
> > >  http://msdn.microsoft.com/en-us/windows/hardware/gg487382.aspx
> > >
> > > Per spec,
> > > ODM should keep _BCM works fine for any other OS didn't support WDDM
> > > driver, but they didn't.
> > >
> > > At last year, I told Acer PM one time for this issue, they said will
> > > check but finally didn't response me.
> > >
> > 
> > >
> > > Thanks
> > > Joey Lee
> > >
> > 
> > So touching the PCI LBB register is the only feasible solution now
> > (even though it may not be a clean  method) ?
> > 
> > Thanks,
> > Pradeep Subrahmanion
> 
> That will be better leave LBB register only touched by i915 driver.
> 
> If 'acpi_backlight=vendor' works to you, maybe we can add a quirk to
> video_detect.c. 
> You can try the following patch.

Thanks . I tried your patch .acpi_backlight=vendor allows me to control
brightness with hot key.But there are problems with it like increasing
brightness after  maximum level causes blank screen.So I am trying it
sort it out.
 
Thank you , 

Pradeep Subrahmanion

> 
> 
> Thanks a lot!
> Joey Lee
> 
> 
> >From 038bd3c4e53b7195f34e9d46c999b8dcb279da5e Mon Sep 17 00:00:00 2001
> From: "Lee, Chun-Yi" <jlee@suse.com>
> Date: Thu, 15 Mar 2012 16:03:45 +0800
> Subject: [PATCH] acer-wmi: Add quirk table for video backlight vendor mode
> 
> Add quirk table for video backlight vendor mode
> 
> Signed-off-by: "Lee, Chun-Yi" <jlee@suse.com>
> ---
>  drivers/acpi/video_detect.c |   27 +++++++++++++++++++++++++++
>  1 files changed, 27 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
> index f3f0fe7..acb15d6 100644
> --- a/drivers/acpi/video_detect.c
> +++ b/drivers/acpi/video_detect.c
> @@ -132,6 +132,32 @@ find_video(acpi_handle handle, u32 lvl, void *context, void **rv)
>  	return AE_OK;
>  }
>  
> +static int video_set_backlight_vendor(const struct dmi_system_id *d)
> +{
> +	acpi_video_support |= ACPI_VIDEO_BACKLIGHT_DMI_VENDOR;
> +	return 0;
> +}
> +
> +static const struct dmi_system_id video_vendor_dmi_table[] = {
> +	{
> +	 .callback = video_set_backlight_vendor,
> +	 .ident = "Acer Aspire 4736",
> +	 .matches = {
> +		DMI_MATCH(DMI_BOARD_VENDOR, "Acer"),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 4736"),
> +		},
> +	},
> +	{
> +	 .callback = video_set_backlight_vendor,
> +	 .ident = "Acer TravelMate 4750",
> +	 .matches = {
> +		DMI_MATCH(DMI_BOARD_VENDOR, "Acer"),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 4750"),
> +		},
> +	},
> +	{}
> +};
> +
>  /*
>   * Returns the video capabilities of a specific ACPI graphics device
>   *
> @@ -164,6 +190,7 @@ long acpi_video_get_capabilities(acpi_handle graphics_handle)
>  		 *		ACPI_VIDEO_BACKLIGHT_DMI_VENDOR;
>  		 *}
>  		 */
> +		dmi_check_system(video_vendor_dmi_table);
>  	} else {
>  		status = acpi_bus_get_device(graphics_handle, &tmp_dev);
>  		if (ACPI_FAILURE(status)) {




  parent reply	other threads:[~2012-03-18  5:13 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CABNxG=CU+bOWUauLYfcS2vtFqKvXA-9axgokNoYz+KuU1Mzztw@mail.gmail.com>
2012-03-11 19:42 ` [PATCH] Added backlight driver for Acer Aspire 4736 Florian Tobias Schandinat
2012-03-11 19:42   ` Florian Tobias Schandinat
2012-03-12 17:36   ` Pradeep Subrahmanion
2012-03-13  3:12     ` Pradeep Subrahmanion
2012-03-12 17:51     ` Matthew Garrett
2012-03-13 12:09       ` Pradeep Subrahmanion
2012-03-13 12:47         ` Matthew Garrett
2012-03-13 13:29           ` Pradeep Subrahmanion
2012-03-13 13:41             ` Pradeep Subrahmanion
     [not found]           ` <CABNxG=Dqg26EHmC3vibf3-SjVhby1qgQfMniQObUeh9eJ6SwEw@mail.gmail.com>
2012-03-13 13:34             ` Matthew Garrett
2012-03-13 15:49               ` Pradeep Subrahmanion
2012-03-14  1:24                 ` Pradeep Subrahmanion
2012-03-13 23:12                 ` joeyli
2012-03-13 23:12                   ` joeyli
2012-03-14  2:43                   ` Pradeep Subrahmanion
2012-03-14  2:55                     ` Pradeep Subrahmanion
2012-03-14  5:51                     ` joeyli
2012-03-14  5:51                       ` joeyli
2012-03-14  6:17                       ` Pradeep Subrahmanion
2012-03-14  6:29                         ` Pradeep Subrahmanion
2012-03-15  8:05                         ` joeyli
2012-03-15  8:05                           ` joeyli
2012-03-18  5:10                           ` Pradeep Subrahmanion
2012-03-18  5:22                             ` Pradeep Subrahmanion
2012-03-19  2:01                             ` joeyli
2012-03-19  2:01                               ` joeyli
2012-03-19 11:33                               ` Pradeep Subrahmanion
2012-03-19 11:45                                 ` Pradeep Subrahmanion
2012-03-20  3:55                                 ` joeyli
2012-03-20  3:55                                   ` joeyli
2012-03-20 11:09                               ` joeyli
2012-03-20 11:09                                 ` joeyli
2012-03-20 18:55                                 ` Pradeep Subrahmanion
2012-03-20 18:55                                   ` Pradeep Subrahmanion
2012-03-21  3:00                                   ` joeyli
2012-03-21  3:00                                     ` joeyli
2012-03-21 19:09                                     ` Pradeep Subrahmanion
2012-03-21 19:21                                       ` Pradeep Subrahmanion
2012-03-22  1:33                                       ` joeyli
2012-03-22  1:33                                         ` joeyli
2012-03-22  2:33                                         ` Pradeep Subrahmanion
2012-03-22  2:45                                           ` Pradeep Subrahmanion
2012-03-22  3:25                                           ` joeyli
2012-03-22  3:25                                             ` joeyli
2012-03-22  3:32                                             ` Pradeep Subrahmanion
2012-03-22  3:44                                               ` Pradeep Subrahmanion
2012-03-22  3:54                                               ` joeyli
2012-03-22  3:54                                                 ` joeyli
2012-03-22  5:56                                                 ` Pradeep Subrahmanion
2012-03-22  5:57                                                   ` Pradeep Subrahmanion
2012-03-22  9:34                                                   ` joeyli
2012-03-22  9:34                                                     ` joeyli
2012-03-22 16:17                                                     ` Pradeep Subrahmanion
2012-03-22 16:29                                                       ` Pradeep Subrahmanion
2012-03-23  3:36                                     ` Pradeep Subrahmanion
2012-03-23  3:48                                       ` Pradeep Subrahmanion
2012-03-23  4:25                                       ` joeyli
2012-03-23  4:25                                         ` joeyli
2012-03-18  5:12                           ` Pradeep Subrahmanion [this message]
2012-03-18  5:24                             ` Pradeep Subrahmanion
2012-03-12 23:07     ` Joe Perches
2012-03-12 23:07       ` Joe Perches
2012-03-12 17:40   ` Pradeep Subrahmanion
2012-03-13  3:16     ` Pradeep Subrahmanion
2012-03-13  3:10   ` joeyli
2012-03-13  3:10     ` joeyli
2012-03-13 13:12     ` Pradeep Subrahmanion
2012-03-13  4:35       ` joeyli
2012-03-13  4:35         ` joeyli

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=1332047531.6304.14.camel@debian.Gayathri \
    --to=subrahmanion.pradeep@gmail.com \
    --cc=FlorianSchandinat@gmx.de \
    --cc=akpm@linux-foundation.org \
    --cc=jlee@suse.com \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg@redhat.com \
    --cc=rpurdie@rpsys.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.