Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp420014yba; Wed, 24 Apr 2019 03:41:04 -0700 (PDT) X-Google-Smtp-Source: APXvYqwQNNdCyGVF0p/ML3qIpZdyFQU/jKLo7e0RJMo0sRRLO2s3QaGJUj9VfRbiNgIFsJWEV6nO X-Received: by 2002:a65:424d:: with SMTP id d13mr29972170pgq.318.1556102464190; Wed, 24 Apr 2019 03:41:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556102464; cv=none; d=google.com; s=arc-20160816; b=d4/6Y/URR1MHjZSy6pfxYCSwXuqrU1Ejh1v64sJ2JgLpTLZi1bGO/pSluk3HYJFl+g s7Q9mk5YXOQqDQBCWFVK+jxwokEAHpyJ9C5UkYk1Sq0tfboSZI92KkLtHogMbTijZyh8 gG9xiI7DznghaMIBXR+1zKxzxTsBU5CoteZgKC2yxuln9HgyACc6ECYhL4AksY/p4IJj t3UnL2VZWUmVquwL15GuL+V+IMQquHvAjUYXnyBIXT/DLrpkOyRb6VJeVl2xg3JbVzFE Nhyc0hMKTLflCBKmdtGotDz6w4X4kh08OKG2y/5n50BIFnuVupZYV9OeuzTMF3EFg4sI oTAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=yNJTJMqKcPFXcKHADOeAgazNLDN/cOcSgvRh/1RO/Xg=; b=byHzUsCB8HFllAfa4hXCu15i4B1cicTmPaPC9+QyXfveZKzv1Ie4LduD9XW2Zd4ege +BKn0mIKIgWe5h1AV2i1DQcL9fqrw14IJVhef/fICV01r5PRGt/4fA4oil+u0/jruTfh KaAcijtiqRaV69XPgNnrhnYUvVIPbaGDL0uv1+PkMmVHIzwO/ifPFTwMUUN1MboILAEy 6cJrtVJCeSHLxJMe9EgEEgqjBehPvaRMCVVRBerw0UZ2luaCbGYsR2YbsT95a6qQ6WDZ PirkIOxEWusssYPJrq4lAap//DmcqVD9JVE1kVXb488F99KElN2tXnTTXSzhHm5GtxvJ bhnA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w5si10394622plz.387.2019.04.24.03.40.48; Wed, 24 Apr 2019 03:41:04 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727987AbfDXKjw (ORCPT + 99 others); Wed, 24 Apr 2019 06:39:52 -0400 Received: from lizzard.sbs.de ([194.138.37.39]:34471 "EHLO lizzard.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726550AbfDXKjv (ORCPT ); Wed, 24 Apr 2019 06:39:51 -0400 Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id x3OAdbZr016008 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 24 Apr 2019 12:39:37 +0200 Received: from [139.22.114.195] ([139.22.114.195]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id x3OAdZPt031166; Wed, 24 Apr 2019 12:39:35 +0200 Subject: Re: [PATCH 2/2] gpio: sch: Add interrupt support To: Mika Westerberg Cc: Andy Shevchenko , Linus Walleij , Bartosz Golaszewski , Linux Kernel Mailing List , linux-gpio@vger.kernel.org, linux-acpi@vger.kernel.org, "Rafael J. Wysocki" References: <20190424075816.GU2654@lahna.fi.intel.com> <8999d3f8-d169-eb85-bd2f-08c99d184ea2@siemens.com> <20190424081802.GV2654@lahna.fi.intel.com> <5a28f22c-22f7-760a-d076-68ff19800d44@siemens.com> <20190424084259.GW2654@lahna.fi.intel.com> <7e328b7e-f4f0-851a-4152-a9ffd058201c@siemens.com> <20190424094506.GA2654@lahna.fi.intel.com> <292e6eff-82cc-6e4d-925b-77a60399e2e0@siemens.com> <20190424100130.GB2654@lahna.fi.intel.com> <1200464b-f969-ebc2-ae82-1f8ca98aaca1@siemens.com> <20190424103306.GC2654@lahna.fi.intel.com> From: Jan Kiszka Message-ID: <9377620b-d74a-04d9-a51e-8590400b1c0f@siemens.com> Date: Wed, 24 Apr 2019 12:39:35 +0200 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 In-Reply-To: <20190424103306.GC2654@lahna.fi.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 24.04.19 12:33, Mika Westerberg wrote: > On Wed, Apr 24, 2019 at 12:19:02PM +0200, Jan Kiszka wrote: >>> I think what you want is "GPIO signaled ACPI event". It works so that >>> you declare _AEI method below the GPIO controller listing the GPIOs you >>> want to trigger events for and then either _Lxx, _Exx or _EVT method for >>> each of them under the same controller. GPIO core then handles it >>> automatically when you register the GPIO chip. See also >>> acpi_gpiochip_request_interrupts(). >> >> Right, that is was I read as well. Let's assume I would be able to patch the >> tables: Would I describe all the logic of this patch in ACPI terms? Where to >> enable interrupts, how to dispatch the SCI event, how to acknowledge it >> etc.? Will it also take care of locking? (BTW, my locking seems to have some >> remaining inconsistency, on second look.) > > The GPIO core would then take care of it by requesting the GPIO in > question and dispatching to the correct event handler. In this patch you > just leave out the SCI part and only implement the irqchip like you did > already. Could you point me to a gpio driver that works like that already? Would be easier to learn that from an example. That infrastructure with all its different modes is seriously complex and not very well documented. > >> And even if that were possible, we would be back to the square of existing >> devices without those definitions. If this were a recent chipset, I would >> say, "go, fix future firmware versions". But this one is legacy. > > Is it fixing some real issue with these legacy platforms? I mean without > the patch some GPE event is not handled properly? It was not clear to me > from the commit message. > Without that patch, you are forced to poll for event changes in your application, timer-driven. There are application that cannot process these GPIOs because they lack such logic (mraa with node-red-node-intel-gpio is a public example). Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux