> Date: Sun, 13 Jul 2014 12:44:12 +0200
> From: Alexander Schrijver <[email protected]>
>
> On Sat, Jul 12, 2014 at 02:29:52PM +0200, Mark Kettenis wrote:
> > One thing to try is to change the parameter passed to the "INIT" AML
> > call in acpiasus_init() from 0x40 to something else. I'd start with
> > trying 0.
>
> Just a small update: i've tried 0x00, 0x01, 0x04, 0x10, 0x400, 0x4000 and all
> give me a blank screen.
Does the diff below fix things?
Index: dsdt.c
===================================================================
RCS file: /home/cvs/src/sys/dev/acpi/dsdt.c,v
retrieving revision 1.212
diff -u -p -r1.212 dsdt.c
--- dsdt.c 12 Jul 2014 18:48:17 -0000 1.212
+++ dsdt.c 20 Jul 2014 09:37:30 -0000
@@ -2311,7 +2311,8 @@ aml_rwgas(struct aml_value *rgn, int bpo
aml_bufcpy(vbit, 0, tbit, bpos, blen);
} else {
/* Write bits to opregion */
- if (AML_FIELD_UPDATE(flag) == AML_FIELD_PRESERVE) {
+ if (AML_FIELD_UPDATE(flag) == AML_FIELD_PRESERVE &&
+ (bpos != 0 || blen != tlen)) {
acpi_gasio(acpi_softc, ACPI_IOREAD, type, pi.addr,
sz, tlen >> 3, tbit);
} else if (AML_FIELD_UPDATE(flag) == AML_FIELD_WRITEASONES) {