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.