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>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190729124136.7868f0a3>