Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Jul 2019 12:41:36 +0300
From:      Rozhuk Ivan <rozhuk.im@gmail.com>
To:        Evilham <contact@evilham.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: acpi issues on FreeBSD-current_r350103 on Thinkpad A485
Message-ID:  <20190729124136.7868f0a3@rimwks>
In-Reply-To: <3b186187-c9f6-46d2-939a-eceb6fa0359c@yggdrasil.evilham.com>
References:  <CAG%2B4yk=DU9o=5oEaFgZ91pufwyUtY9wH1AAhsqG-RhTkB3Zsug@mail.gmail.com> <3b186187-c9f6-46d2-939a-eceb6fa0359c@yggdrasil.evilham.com>

index | next in thread | previous in thread | raw e-mail

On Sat, 20 Jul 2019 00:54:47 +0200
Evilham <contact@evilham.com> wrote:


> Minor glitches:
> - xbacklight doesn't work, neither does intel-backlight because 
>   it's AMD
> - Speakers don't appear to work, audio input/output on 3.5 jack 
>   does.
> - SD card reader doesn't work (Bounty for 125 USD: 
>   https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204521)

I have Asus 505 and backlight not work too (try via xfce4-power-manager).

I dig into it and found that problem somewhere in ACPI code.

1. It does not proper export some functions and FreeBSD
ACPI + xfce4-power-manager cant detect support this feature.
I hack kernel:
Index: /usr/src/sys/dev/acpica/acpi_video.c
===================================================================
--- /usr/src/sys/dev/acpica/acpi_video.c	(revision 350398)
+++ /usr/src/sys/dev/acpica/acpi_video.c	(working copy)
@@ -1053,8 +1053,12 @@
 	dcs = 0;
 	status = acpi_GetInteger(handle, "_DCS", &dcs);
 	if (ACPI_FAILURE(status))
-		printf("can't evaluate %s._DCS - %s\n",
-		       acpi_name(handle), AcpiFormatException(status));
+		status = acpi_GetInteger(handle, "_STA", &dcs);
+	if (ACPI_FAILURE(status)) {
+		/* Assume that device OK by default. */
+		dcs = (DCS_EXISTS | DCS_ACTIVE | DCS_READY |
+		    DCS_FUNCTIONAL | DCS_ATTACHED);
+	}
 
 	return (dcs);
 }
and now acpi/xfce4-power-manager show that feature supported but
it does not work.
(later I can move this hack into ACPI ASL code that load into bios, but it harder to maintain)

2. I dig more depper and decompile acpi code via isl.
There is a mess.
I found that function that set backlight level check some mem/register
value before write new backlight value.
I fail to found place where this value changed.
I try rewrite code to remove this check and recompile ACPI and load new
version witout this check on FreeBSD boot, it loaded but backlight still
not work.

Also I set in loader.conf:
hw.acpi.osname="Windows 2015"	# Some systems' ASL may have problems because they look for names of Microsoft operating systems.
because there is at least 4 different places in decompiled ACPI
where OS version and name checked - not help with blackligth, but as I see
this unblock some features/devices.


Also i2c touchpad dont work.
https://reviews.freebsd.org/D16698
not help.


For speakers probably wrong snddev set.
Try change hw.snd.default_unit.


> WARNING !drm_modeset_is_locked(&plane->mutex) failed at 
> /wrkdirs/usr/ports/graphics/drm-fbsd12.0-kmod/work/kms-drm-6365030/drivers/gpu/drm/drm_atomic_helper.c:821
> [Multiple times...]
> kernel trap 22 with interrupts disabled
>                             kernel trap 22 with interrupts 
>                             disabled
> kernel trap 22 with interrupts disabled
> kernel trap 22 with interrupts disabled
>     panic: spin lock held too long

I have another issue with amdgpu:
after lid closed and open again video freezes to few seconds every 10 seconds.
Switch to scfb xorg driver to fix it, but get small tearing on video playback.



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190729124136.7868f0a3>