[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0jyxRH_B7Yj7HxRdxhofZjgRf175WqmyjtsupWPQYx6tQ@mail.gmail.com>
Date: Mon, 17 Apr 2017 23:29:38 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Guenter Roeck <linux@...ck-us.net>
Cc: "Moore, Robert" <robert.moore@...el.com>,
"Zheng, Lv" <lv.zheng@...el.com>,
"Wysocki, Rafael J" <rafael.j.wysocki@...el.com>,
Len Brown <lenb@...nel.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
"devel@...ica.org" <devel@...ica.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Box, David E" <david.e.box@...el.com>
Subject: Re: [PATCH] ACPICA: Export mutex functions
On Mon, Apr 17, 2017 at 11:03 PM, Guenter Roeck <linux@...ck-us.net> wrote:
> On Mon, Apr 17, 2017 at 08:40:38PM +0000, Moore, Robert wrote:
>>
>>
>> > -----Original Message-----
>> > From: Guenter Roeck [mailto:linux@...ck-us.net]
>> > Sent: Monday, April 17, 2017 12:45 PM
>> > To: Moore, Robert <robert.moore@...el.com>
>> > Cc: Zheng, Lv <lv.zheng@...el.com>; Wysocki, Rafael J
>> > <rafael.j.wysocki@...el.com>; 'Len Brown' <lenb@...nel.org>; 'linux-
>> > acpi@...r.kernel.org' <linux-acpi@...r.kernel.org>; 'devel@...ica.org'
>> > <devel@...ica.org>; 'linux-kernel@...r.kernel.org' <linux-
>> > kernel@...r.kernel.org>; Box, David E <david.e.box@...el.com>
>> > Subject: Re: [PATCH] ACPICA: Export mutex functions
>> >
>> > On Mon, Apr 17, 2017 at 07:27:37PM +0000, Moore, Robert wrote:
>> > >
>> > > > -----Original Message-----
>> > > > From: Moore, Robert
>> > > > Sent: Monday, April 17, 2017 10:13 AM
>> > > > To: Guenter Roeck <linux@...ck-us.net>; Zheng, Lv
>> > > > <lv.zheng@...el.com>
>> > > > Cc: Wysocki, Rafael J <rafael.j.wysocki@...el.com>; Len Brown
>> > > > <lenb@...nel.org>; linux-acpi@...r.kernel.org; devel@...ica.org;
>> > > > linux- kernel@...r.kernel.org
>> > > > 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.
>> > >
>> > From the context in the dsdt, and from description of expected use cases
>> > for _DLM objects I can find, this is what the mutex is used for (to
>> > serialize access to a resource on a low pin count serial interconnect,
>> > aka LPC).
>> >
>> > What does that mean in practice ? That I am not supposed to use it
>> > because it doesn't follow standard ACPI mutex declaration rules ?
>> >
>> > Thanks,
>> > Guenter
>> >
>> > >
>> [Moore, Robert]
>>
>> I'm not an expert on the _DLM method, but I would point you to the description section in the ACPI spec, 5.7.5 _DLM (DeviceLock Mutex).
>>
>
> I did. However, not being an ACPI expert, that doesn't tell me anything.
Basically, if the kernel and AML need to access a device concurrently,
there should be a _DLM object under that device in the ACPI tables.
In that case it is expected to return a list of (AML) mutexes that can
be acquired by the kernel in order to synchronize device access with
respect to AML (and for each mutex it may also return a description of
the specific resources to be protected by it).
Bottom line: without _DLM, the kernel cannot synchronize things with
respect to AML properly, because it has no information how to do that
then.
Thanks,
Rafael
Powered by blists - more mailing lists