> -----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.


Reply via email to