linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Michał Kępień" <kernel@kempniu.pl>
To: Jonathan Woithe <jwoithe@just42.net>
Cc: Darren Hart <dvhart@infradead.org>,
	Andy Shevchenko <andy@infradead.org>,
	platform-driver-x86@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 0/4] fujitsu_init() cleanup
Date: Mon, 6 Mar 2017 10:33:50 +0100	[thread overview]
Message-ID: <20170306093350.GB1372@ozzy.nask.waw.pl> (raw)
In-Reply-To: <20170306081030.GA30975@marvin.atrad.com.au>

[-- Attachment #1: Type: text/plain, Size: 2332 bytes --]

> Hi Michael
> 
> Some quick feedback.
> 
> On Mon, Mar 06, 2017 at 03:31:04PM +1030, Jonathan Woithe wrote:
> > > > I can add that immediately after loading the driver the value returned by a
> > > > read of bl_power is 0.  As noted above, setting to 1 makes no difference to
> > > > the backlight, neither does returning it to 0.
> > > 
> > > Have you tried setting bl_power to 4?  Because that is the value of
> > > FB_BLANK_POWERDOWN, which is the value the patch is supposed to handle.
> > 
> > Oh no, I didn't try 4.  I should have.  I will try to squeeze in a test of
> > this tonight (time is short but the test won't take a lot of time).
> 
> With an unpatched 4.5 kernel, writing 4 (as opposed to 1, which I stupidly
> tried earlier) to bl_power caused the backlight to turn off.  Writing 0
> turned it back on again.
> 
> With patches 1-4/4 applied, writing 4 to bl_power did *NOT* turn the
> backlight off.
> 
> With patch 2 reverted, writing 4 to bl_power turned the backlight off. 
> Writing 0 to bl_power turned it back on again.
> 
> This means that patch 2/4 seems to prevent bl_power from operating as
> expected on the S7020 hardware.  Without this patch (but with all the others
> in place) bl_power works.
> 
> I am unlikely to have any more time to investigate this further tonight. 
> 
> In light of the above findings, what would you like to do?

Thanks for testing, good that we caught this before the patch series was
applied.  I think it is reasonable to skip applying this version of the
series as at least patch 2/4 is faulty and breaks a working feature.

Moving on, though, as I do not have access to Fujitsu hardware on which
this feature works, I was hoping you could help me verify whether my
assumptions were reasonable in the first place.  

I attached a crude patch to this message.  I would like to understand
how the underlying ACPI variables behave when the FEXT interface is
used, so please apply this patch on top of dvhart/testing (i.e. without
this series applied).  After compiling, please load the module with
debugging enabled, then test backlight control once again by writing 4
and then 0 to bl_power (this should work).  Then please send me all the
messages spit out by the driver into dmesg.  This should shed some light
on the matter.

Thanks!

-- 
Best regards,
Michał Kępień

[-- Attachment #2: debug.patch --]
[-- Type: text/x-diff, Size: 1562 bytes --]

diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c
index e12cc3504d48..34bf97d4d463 100644
--- a/drivers/platform/x86/fujitsu-laptop.c
+++ b/drivers/platform/x86/fujitsu-laptop.c
@@ -463,7 +463,11 @@ static int bl_get_brightness(struct backlight_device *b)
 
 static int bl_update_status(struct backlight_device *b)
 {
+	unsigned long long blank;
+	acpi_status status;
+	acpi_handle handle;
 	int ret;
+
 	if (b->props.power == FB_BLANK_POWERDOWN)
 		ret = call_fext_func(FUNC_BACKLIGHT, 0x1, 0x4, 0x3);
 	else
@@ -473,6 +477,26 @@ static int bl_update_status(struct backlight_device *b)
 			"Unable to adjust backlight power, error code %i\n",
 			ret);
 
+	vdbg_printk(FUJLAPTOP_DBG_INFO, "Backlight power set to %d\n", b->props.power);
+
+	status = acpi_evaluate_integer(NULL, "\\BLCT", NULL, &blank);
+	if (ACPI_SUCCESS(status))
+		vdbg_printk(FUJLAPTOP_DBG_INFO, "BLCT = %llx\n", blank);
+	else
+		vdbg_printk(FUJLAPTOP_DBG_ERROR, "Cannot evaluate BLCT\n");
+
+	status = acpi_evaluate_integer(NULL, "\\NGTM", NULL, &blank);
+	if (ACPI_SUCCESS(status))
+		vdbg_printk(FUJLAPTOP_DBG_INFO, "NGTM = %llx\n", blank);
+	else
+		vdbg_printk(FUJLAPTOP_DBG_ERROR, "Cannot evaluate NGTM\n");
+
+	status = acpi_get_handle(NULL, "\\_SB.FEXT.SBLC", &handle);
+	if (ACPI_SUCCESS(status))
+		vdbg_printk(FUJLAPTOP_DBG_INFO, "Got ACPI handle for SBLC\n");
+	else
+		vdbg_printk(FUJLAPTOP_DBG_ERROR, "Cannot get ACPI handle for SBLC\n");
+
 	if (use_alt_lcd_levels)
 		ret = set_lcd_level_alt(b->props.brightness);
 	else
-- 
2.12.0


  reply	other threads:[~2017-03-06  9:34 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-01  8:10 [PATCH v2 0/4] fujitsu_init() cleanup Michał Kępień
2017-03-01  8:10 ` [PATCH v2 1/4] platform/x86: fujitsu-laptop: register backlight device in a separate function Michał Kępień
2017-03-01  8:10 ` [PATCH v2 2/4] platform/x86: fujitsu-laptop: do not use call_fext_func() for LCD blanking Michał Kępień
2017-03-01  8:10 ` [PATCH v2 3/4] platform/x86: fujitsu-laptop: only register backlight device if FUJ02B1 is present Michał Kępień
2017-03-01  8:10 ` [PATCH v2 4/4] platform/x86: fujitsu-laptop: cleanup error labels in fujitsu_init() Michał Kępień
     [not found] ` <20170301223912.GF28335@marvin.atrad.com.au>
2017-03-01 23:26   ` [PATCH v2 0/4] fujitsu_init() cleanup [resend due to vger error] Jonathan Woithe
2017-03-02  7:19   ` [PATCH v2 0/4] fujitsu_init() cleanup Michał Kępień
2017-03-03 12:39     ` Jonathan Woithe
2017-03-04  1:47 ` Jonathan Woithe
2017-03-05 23:48   ` Jonathan Woithe
2017-03-06  4:49     ` Michał Kępień
2017-03-06  5:01       ` Jonathan Woithe
2017-03-06  8:10         ` Jonathan Woithe
2017-03-06  9:33           ` Michał Kępień [this message]
2017-03-06 18:47             ` Michał Kępień
2017-03-07  3:50               ` Jonathan Woithe
2017-03-07  8:08                 ` Michał Kępień

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=20170306093350.GB1372@ozzy.nask.waw.pl \
    --to=kernel@kempniu.pl \
    --cc=andy@infradead.org \
    --cc=dvhart@infradead.org \
    --cc=jwoithe@just42.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).