Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp7563533ybi; Tue, 9 Jul 2019 00:24:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqz9XmAY6qQiETGpdYNllhvLY5Pffw6zHu2R0nHaA2AOrqjvbN4YiP/Y2/12H1uv9BvMx4eD X-Received: by 2002:a63:553:: with SMTP id 80mr29480425pgf.280.1562657075084; Tue, 09 Jul 2019 00:24:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562657075; cv=none; d=google.com; s=arc-20160816; b=GmWiO6k2V3XskGMcM1DyQew6/oHKEAiMMTZPYxpuAdApDPhl3OI/pph6sDFWviNtH/ P/zb8Er+3nKRFkcMXmpiMomVOq2bEj50UdbQ3OdcxtUSOSK0S+Rfcf3N29CntxG+UCPV ZScuyMquiKlIGp6ljPAxjIFC0DooeCR5p4+ca1WtzpqopLDx0b8bZQ7Pji3gXJ9GMzXI eRzKZp+K2J7jb1aHRIA0IxEcnpQLAf0AGrYrQmMDy9IyddNd38szE9H/w5GCDjB5ucUO 5Hxahc6bLgYT4sL8jq9Q3l+05MiVWFcipe6g0tcw8M3bYneo58obtB6uUkbwv4ui0Pt1 GN2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from; bh=rcoulKoTMYF7Lj2A3Flse3CmAoX5eSCPem1Dz/zN0NE=; b=GP7O/kSReG5MQYkSWcx8OkYJ+JEepnJ8tWNV1twRuzMZMYREGRPd7RXcPFeEKX+B5e ChqvEFWfnKoEN4Xn7Mh4pPjUWxPea0xzZWHcsnvXoxT0+9WzMUwEaQeubW/dyWZR312d MnIbkMwAfh3f+E3TaeKi5kEvJzYteXsa8m3Gn2+hWAoZxRX7Mu/0gbcGjNx9JRpEgCFM RBxhcqUHlu7tF85GDVBJrrii2+NRKQLtAfBTcwwuJPU/oiwiGtTpaftlCjHsd49X+mtI SSKNqfg0opI717admrfk3TYUpwSIm+1jvzaeYbY/UjdjKs68NaduG9AW+akrFNDZ7btj MxLQ== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c3si1846532pje.1.2019.07.09.00.24.19; Tue, 09 Jul 2019 00:24:35 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726055AbfGIHWq (ORCPT + 99 others); Tue, 9 Jul 2019 03:22:46 -0400 Received: from mga12.intel.com ([192.55.52.136]:26090 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725975AbfGIHWp (ORCPT ); Tue, 9 Jul 2019 03:22:45 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Jul 2019 00:22:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,469,1557212400"; d="scan'208";a="188746591" Received: from pipin.fi.intel.com (HELO pipin) ([10.237.72.175]) by fmsmga004.fm.intel.com with ESMTP; 09 Jul 2019 00:22:41 -0700 From: Felipe Balbi To: Pawel Laszczak , "devicetree\@vger.kernel.org" Cc: "gregkh\@linuxfoundation.org" , "linux-usb\@vger.kernel.org" , "hdegoede\@redhat.com" , "heikki.krogerus\@linux.intel.com" , "robh+dt\@kernel.org" , "rogerq\@ti.com" , "linux-kernel\@vger.kernel.org" , "jbergsagel\@ti.com" , "nsekhar\@ti.com" , "nm\@ti.com" , Suresh Punnoose , "peter.chen\@nxp.com" , Jayshri Dajiram Pawar , Rahul Kumar Subject: RE: [PATCH v9 5/6] usb:cdns3 Add Cadence USB3 DRD Driver In-Reply-To: References: <1562324238-16655-1-git-send-email-pawell@cadence.com> <1562324238-16655-6-git-send-email-pawell@cadence.com> <87r274lmqk.fsf@linux.intel.com> <87a7dpm442.fsf@linux.intel.com> <87pnmj67ee.fsf@linux.intel.com> Date: Tue, 09 Jul 2019 10:22:40 +0300 Message-ID: <87muhn65a7.fsf@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Pawel Laszczak writes: >>>>> IRQF_ONESHOT can be used only in threaded handled. >>>>> " >>>>> * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished. >>>>> * Used by threaded interrupts which need to keep the >>>>> * irq line disabled until the threaded handler has been run. >>>>> " >>>> >>>>so? >>> >>> I don't understand why If I don't have threaded handler why I need IRQF_ONESHOT. >>> Why interrupt cannot be reenabled after hardirq handler finished ? >>> I do not use threaded handler so this flag seem unnecessary. >> >>Unless this has changed over the years, it was a requirement from IRQ susbystem. >> >> /* >> * Drivers are often written to work w/o knowledge about the >> * underlying irq chip implementation, so a request for a >> * threaded irq without a primary hard irq context handler >> * requires the ONESHOT flag to be set. Some irq chips like >> * MSI based interrupts are per se one shot safe. Check the >> * chip flags, so we can avoid the unmask dance at the end of >> * the threaded handler for those. >> */ >> if (desc->irq_data.chip->flags & IRQCHIP_ONESHOT_SAFE) >> new->flags &= ~IRQF_ONESHOT; > > From description I understand that it should be set when driver uses only > threaded handler without hard irq handler. > eg. > > ret = devm_request_threaded_irq(dev, data->usb_id_irq, > NULL, int3496_thread_isr, > IRQF_SHARED | IRQF_ONESHOT | > IRQF_TRIGGER_RISING | > IRQF_TRIGGER_FALLING, > dev_name(dev), data); > > It make sense, we don't have hard irq handler so we can't clear source of interrupt. > If we clear it immediately in interrupt controller then the same interrupt could > be raised again, because it was not cleared e.g in controller register. You are correct. Big mistake on my side. Apologies. -- balbi