> -----Original Message----- > From: Moore, Robert > Sent: Monday, April 17, 2017 12:28 PM > To: 'Guenter Roeck' <[email protected]>; Zheng, Lv <[email protected]> > Cc: Wysocki, Rafael J <[email protected]>; 'Len Brown' > <[email protected]>; '[email protected]' <linux- > [email protected]>; '[email protected]' <[email protected]>; 'linux- > [email protected]' <[email protected]>; Box, David E > ([email protected]) <[email protected]> > Subject: RE: [PATCH] ACPICA: Export mutex functions > > > > -----Original Message----- > > From: Moore, Robert > > Sent: Monday, April 17, 2017 10:13 AM > > To: Guenter Roeck <[email protected]>; Zheng, Lv <[email protected]> > > Cc: Wysocki, Rafael J <[email protected]>; Len Brown > > <[email protected]>; [email protected]; [email protected]; > > linux- [email protected] > > Subject: RE: [PATCH] ACPICA: Export mutex functions > > > > There is a model for the drivers to directly acquire an AML mutex > > object. That is why the acquire/release public interfaces were added > > to ACPICA. > > > > I forget all of the details, but the model was developed with MS and > > others during the ACPI 6.0 timeframe. > > > > > [Moore, Robert] > > > Here is the case where the OS may need to directly acquire an AML mutex: > > From the ACPI spec: > > 19.6.2 Acquire (Acquire a Mutex) > > Note: For Mutex objects referenced by a _DLM object, the host OS may > also contend for ownership. > > Other than this case, the OS/drivers should never need to directly > acquire an AML mutex. > Bob
[Moore, Robert] Here is more information, from the ACPICA reference: 8.3.15 AcpiAcquireMutex This function is intended to be used in conjunction with the _DLM (Device Lock Method) predefined name to directly acquire a mutex object that is defined in the ACPI namespace. The purpose of this is to provide a mutual exclusion mechanism between the AML interpreter and an ACPI-related device driver, in order to support multiple-operation transactions. >From the ACPI Specification: "The _DLM object appears in a device scope when >AML access to the device must be synchronized with the OS environment. It is >used in conjunction with a standard Mutex object. With _DLM, the standard >Mutex provides synchronization within the AML environment as usual, but also >synchronizes with the OS environment." The AML mutex node is pointed to by Parent:Pathname. Either the Parent or the Pathname can be NULL, but not both. If the operation fails an appropriate status will be returned.

