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>
