From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@bugzilla.kernel.org Subject: [Bug 50521] New: nouveau_acpi call _DSM with wrong parameter Date: Tue, 13 Nov 2012 15:17:45 +0000 (UTC) Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by gabe.freedesktop.org (Postfix) with ESMTP id EE5D99F07C for ; Tue, 13 Nov 2012 07:18:00 -0800 (PST) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0E1932032C for ; Tue, 13 Nov 2012 15:17:56 +0000 (UTC) Received: from bugzilla.kernel.org (bugzilla.kernel.org [198.145.19.217]) by mail.kernel.org (Postfix) with ESMTP id 5766620329 for ; Tue, 13 Nov 2012 15:17:45 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org https://bugzilla.kernel.org/show_bug.cgi?id=50521 Summary: nouveau_acpi call _DSM with wrong parameter Product: Drivers Version: 2.5 Kernel Version: 2.6.38 Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Video(DRI - non Intel) AssignedTo: drivers_video-dri@kernel-bugs.osdl.org ReportedBy: alex.williamson@redhat.com CC: alan@lxorguk.ukuu.org.uk, daniel@ffwll.ch Regression: No Cloning for nouveau +++ This bug was initially created as a clone of Bug #32602 +++ Both drivers/gpu/drm/i915/intel_acpi.c and drivers/gpu/drm/nouveau/nouveau_acpi.c call _DSM methods with parameters of _DSM(Buffer, Integer, Integer, Integer). The ACPI spec defines the parameters to be _DSM(Buffer, Integer, Integer, Package). On a UL30VT, the AML preforms operations on Arg3 which are not valid for an Integer data type, resulting in ACPI faults. Excerpt of DSDT: Method (_DSM, 4, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xA0, 0xA0, 0x95, 0x9D, 0x60, 0x00, 0x48, 0x4D, /* 0008 */ 0xB3, 0x4D, 0x7E, 0x5F, 0xEA, 0x12, 0x9F, 0xD4 })) { Store (Zero, Local0) Store (ShiftLeft (DerefOf (Index (Arg3, 0x03)), 0x18), Local0) Add (ShiftLeft (DerefOf (Index (Arg3, 0x02)), 0x10), Local0, Local0) Add (ShiftLeft (DerefOf (Index (Arg3, One)), 0x08), Local0, Local0) Add (ShiftLeft (DerefOf (Index (Arg3, Zero)), Zero), Local0, Local0) ... The Index operation is only valid on a Buffer, String, or Package, which is perfectly reasonable given the definition of the _DSM call. -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.