Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757246AbdDQJs7 convert rfc822-to-8bit (ORCPT ); Mon, 17 Apr 2017 05:48:59 -0400 Received: from mga03.intel.com ([134.134.136.65]:8881 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753381AbdDQJsz (ORCPT ); Mon, 17 Apr 2017 05:48:55 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,214,1488873600"; d="scan'208";a="250021669" From: "Zheng, Lv" To: "Zheng, Lv" , Guenter Roeck , "Moore, Robert" CC: "linux-acpi@vger.kernel.org" , "devel@acpica.org" , "Wysocki, Rafael J" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH] ACPICA: Export mutex functions Thread-Topic: [PATCH] ACPICA: Export mutex functions Thread-Index: AQHSs59oLKDye/87Hky1otWNl0fbrKHBVeqAgABikICAB5zPIIAAAlLQ Date: Mon, 17 Apr 2017 09:48:50 +0000 Message-ID: <1AE640813FDE7649BE1B193DEA596E886CE92ACC@SHSMSX101.ccr.corp.intel.com> References: <1492009990-3539-1-git-send-email-linux@roeck-us.net> <94F2FBAB4432B54E8AACC7DFDE6C92E37E5924DB@ORSMSX110.amr.corp.intel.com> <20170412212241.GA12384@roeck-us.net> <1AE640813FDE7649BE1B193DEA596E886CE92A85@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <1AE640813FDE7649BE1B193DEA596E886CE92A85@SHSMSX101.ccr.corp.intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiY2EzZWEwMWYtYzg1OC00MTNkLWFhOTYtNjcwOWMzYmVmYTQzIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6ImxLVzlmVGl0MU92MlwvYU1oQnIrUGgzUGp3V2N4SFNicWJwdFFRSjJmRENZPSJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4335 Lines: 126 Hi, > From: Devel [mailto:devel-bounces@acpica.org] On Behalf Of Zheng, Lv > Sent: Monday, April 17, 2017 5:40 PM > To: Guenter Roeck ; Moore, Robert > Cc: linux-acpi@vger.kernel.org; devel@acpica.org; Wysocki, Rafael J ; > linux-kernel@vger.kernel.org > Subject: Re: [Devel] [PATCH] ACPICA: Export mutex functions > > Hi, > > > From: Guenter Roeck [mailto:linux@roeck-us.net] > > Subject: Re: [PATCH] ACPICA: Export mutex functions > > > > On Wed, Apr 12, 2017 at 03:29:55PM +0000, Moore, Robert wrote: > > > The ACPICA mutex functions are based on the host OS functions, so they don't really buy you > anything. > > You should just use the native Linux functions. > > > > > > > You mean they don't really acquire the requested ACPI mutex, > > and the underlying DSDT which declares and uses the mutex > > just ignores if the mutex was acquired by acpi_acquire_mutex() ? > > > > To clarify: You are saying that code such as > > > > acpi_status status; > > > > status = acpi_acquire_mutex(NULL, "\\_SB.PCI0.SBRG.SIO1.MUT0", 0x10); > > if (ACPI_FAILURE(status)) { > > pr_err("Failed to acquire ACPI mutex\n"); > > return -EBUSY; > > } > > Why do you need to access \_SB.PCI0.SBRG.SIO1.MUT0? > OSPM should only invoke entry methods predefined by ACPI spec or whatever specs. > There shouldn't be any needs that a driver acquires an arbitrary AML mutex. > You do not seem to have justified the usage model, IMO. > > Thanks > Lv > > > ... > > > > when used in conjunction with > > > > ... > > Mutex (MUT0, 0x00) > > Method (ENFG, 1, NotSerialized) > > { > > Acquire (MUT0, 0x0FFF) > > ... > > } > > > > doesn't really provide exclusive access to the resource(s) protected > > by MUT0, even if acpi_acquire_mutex() returns ACPI_SUCCESS ? IMO, the use case you are talking about is commonly seen in an operation region access code. Most likely, we'll prepare a driver own lock, and use it for both driver initiated accesses and AML initiated accesses. Finally, how can the driver writer know which mutex he should acquire? AML mutexes should be invisible to the OS (except the global lock). So I'm really confused by your argument. Please explain in details - what the resource is. Thanks Lv > > > > Outch. Really ? > > > > Thanks, > > Guenter > > > > > > > > > -----Original Message----- > > > > From: Guenter Roeck [mailto:linux@roeck-us.net] > > > > Sent: Wednesday, April 12, 2017 8:13 AM > > > > To: Moore, Robert ; Zheng, Lv > > > > ; Wysocki, Rafael J ; > > > > Len Brown > > > > Cc: linux-acpi@vger.kernel.org; devel@acpica.org; linux- > > > > kernel@vger.kernel.org; Guenter Roeck > > > > Subject: [PATCH] ACPICA: Export mutex functions > > > > > > > > Mutex functions may be needed by drivers. Examples are accesses to > > > > Super-IO SIO registers (0x2e/0x2f or 0x4e/0x4f) or Super-IO > > > > environmental monitor registers, both which may also be accessed through > > > > DSDT. > > > > > > > > Signed-off-by: Guenter Roeck > > > > --- > > > > drivers/acpi/acpica/utxfmutex.c | 2 ++ > > > > 1 file changed, 2 insertions(+) > > > > > > > > diff --git a/drivers/acpi/acpica/utxfmutex.c > > > > b/drivers/acpi/acpica/utxfmutex.c index c016211c35ae..5d20581f4b2f > > > > 100644 > > > > --- a/drivers/acpi/acpica/utxfmutex.c > > > > +++ b/drivers/acpi/acpica/utxfmutex.c > > > > @@ -150,6 +150,7 @@ acpi_acquire_mutex(acpi_handle handle, acpi_string > > > > pathname, u16 timeout) > > > > status = acpi_os_acquire_mutex(mutex_obj->mutex.os_mutex, timeout); > > > > return (status); > > > > } > > > > +ACPI_EXPORT_SYMBOL(acpi_acquire_mutex) > > > > > > > > > > > > /*********************************************************************** > > > > ******** > > > > * > > > > @@ -185,3 +186,4 @@ acpi_status acpi_release_mutex(acpi_handle handle, > > > > acpi_string pathname) > > > > acpi_os_release_mutex(mutex_obj->mutex.os_mutex); > > > > return (AE_OK); > > > > } > > > > +ACPI_EXPORT_SYMBOL(acpi_release_mutex) > > > > -- > > > > 2.7.4 > > > > _______________________________________________ > Devel mailing list > Devel@acpica.org > https://lists.acpica.org/mailman/listinfo/devel