Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp6004576ybi; Wed, 12 Jun 2019 12:13:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqyhtYL1LgWxXhyDstVIpONamO2f3ZxVkPLa3hpAS2Tzf1eOhodjdiplOolzlU7pdp8z3CMi X-Received: by 2002:a17:902:ac88:: with SMTP id h8mr5229800plr.12.1560366819915; Wed, 12 Jun 2019 12:13:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560366819; cv=none; d=google.com; s=arc-20160816; b=bZvzLKO16hYAotWEtQ7Tz80L+2z87g8ISrmbnlf10ZfFgkZxIm0o+7nas87mjd0A5/ 80+pwFaqdRRBv8eW0wvClHsNKjmOmMCQ498NpJCG8JyNYo64U9xK9NpbeUyJvqKyMKJL 0VpITJtkQefe0CaRhA1cF4mPA0Yhb5HDxtW0SsJbKu5yCG9AlD9HPc0GIUZt/48BsDcg puCNlJatak2Re6ojyKCIM/28/4ire8hFW2FGvkzRJewyyZXLj89LD54tZJiWx799b9Si Os6WsE9y8Vr2DnWjpgp0zMe55gmJZX9Vazambh3q2olBbuJi90D0ZGnToMLw1QwF0rWo t4WA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=sfLPcL25crERXrHmndKdN43HIkrSYCz0GOmOHCLrbTE=; b=s5DvsSdrT0Sl725It6CJQLXuzTXOiRUAUn9ZCcLXG2IAFV1nehYCSgTUSL6ciyLrA3 Y0VCCqdHOdmATm47WZohVu8YIShtoieqURpagjknCHuG+/Z+gn71CuQHKo4sSTokSabh GHZYfFgdMSv/u1STC2YUzRZbjX2hsh8gPJDCGT1TQeMpB24A6K7CJaIl9WU9Rf8wQq+6 1vIgQcNow+MYE3YkvYKrX581vMQhzzhDShCJtNFlbzqH2be9ax0WgG00Zw5h6r/k1HF0 2qdEK2lvzViE5OmsOu9KOkusCarJcVqSdxEh8LX4lfhJB9r0Oe6hDC3LH9CeHpJBorcY XDDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@googlemail.com header.s=20161025 header.b=ulhd5qz+; 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=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b32si556041pgb.345.2019.06.12.12.13.25; Wed, 12 Jun 2019 12:13:39 -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; dkim=pass header.i=@googlemail.com header.s=20161025 header.b=ulhd5qz+; 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=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728180AbfFLTM2 (ORCPT + 99 others); Wed, 12 Jun 2019 15:12:28 -0400 Received: from mail-oi1-f194.google.com ([209.85.167.194]:37380 "EHLO mail-oi1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727120AbfFLTM2 (ORCPT ); Wed, 12 Jun 2019 15:12:28 -0400 Received: by mail-oi1-f194.google.com with SMTP id t76so12532099oih.4; Wed, 12 Jun 2019 12:12:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=sfLPcL25crERXrHmndKdN43HIkrSYCz0GOmOHCLrbTE=; b=ulhd5qz+prqvRTlbEb33O83a8dJZJItyzAOFrAUu3qDrKHWht7BK1Pz0cTuQ3rlOot 2oxjZoPmXhooSS9W7VtVDWGm1BFzamAwNbSSfjM/pXF04rZ4meJ8D10Dq6X9o86cXgho mc4iWqGCqZX/6AWPmo5M4+dnUBaHr685eYyUmxN/pQzfPI1qXJqqlG9EiE6ynSEJOmbb WKm73I+W83G1gtEckWP4i0LOeq/CZ8kegVEBEvQeCH0dtHAVCVYGcM4cYLzfZIyGI75b 2yPqbQPEtDTGqt2i9ZMpliCmi4PWVK0DWXL+iuP9yfoUszCtj9oyO/1tqJctfeyjc1Il vkkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=sfLPcL25crERXrHmndKdN43HIkrSYCz0GOmOHCLrbTE=; b=o/nd9SShCNgWootFhu7x80Eo99CpCWnyPdM47ezIoSjOvcMTWGO1lc8aI0yEvxFiqZ qwkPp8t8A6oSpETOuNvuGtD+iZC2o3xzhK7rYnDF5ZLkywA0p0EPzGw41eIkrjG/k7qf QYdAuZUibetQvoRenAXQKYN2RrejSS0fHEJvn3t2R3i8bjg6c2uRCTWdR7gquE4V5JGB DK2uafAJds4z7ZBE0JolKDG4SqMHYeOK4pIyzZVud4eemqwPXZ8UpHcFdn9jZ2lxy5If u7PLMTj4cTKDRF8jIKrAoN2rikfC7hpWg+beaG6ksSC75oRUELtZzNdwu5kcUd3TjiMb czGA== X-Gm-Message-State: APjAAAUmDV2MvQTV2O+dmc3XbAR92QSEYQLQotSFmlCiMqMMpiT30Si6 h/KiRhOdM69W9PG1Zah6cwgcWsD/BizCTOxvJLA= X-Received: by 2002:aca:4ad2:: with SMTP id x201mr501939oia.129.1560366747250; Wed, 12 Jun 2019 12:12:27 -0700 (PDT) MIME-Version: 1.0 References: <20190611135842.8396-1-narmstrong@baylibre.com> <8950adde-0942-5f04-0ce6-922a9886c440@baylibre.com> In-Reply-To: <8950adde-0942-5f04-0ce6-922a9886c440@baylibre.com> From: Martin Blumenstingl Date: Wed, 12 Jun 2019 21:12:16 +0200 Message-ID: Subject: Re: [PATCH] usb: dwc3: meson-g12a: Add support for IRQ based OTG switching To: Neil Armstrong Cc: balbi@kernel.org, linux-amlogic@lists.infradead.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Neil, On Wed, Jun 12, 2019 at 5:13 PM Neil Armstrong wrote: [...] > >> @@ -436,6 +452,19 @@ static int dwc3_meson_g12a_probe(struct platform_device *pdev) > >> /* Get dr_mode */ > >> priv->otg_mode = usb_get_dr_mode(dev); > >> > >> + if (priv->otg_mode == USB_DR_MODE_OTG) { > >> + /* Ack irq before registering */ > >> + regmap_update_bits(priv->regmap, USB_R5, > >> + USB_R5_ID_DIG_IRQ, 0); > > I assume that either the IRQ line is: > > - always enabled > > - enabled when (USB_R5_ID_DIG_EN_0 | USB_R5_ID_DIG_EN_1 | > > USB_R5_ID_DIG_TH_MASK) are set (which we already do in > > dwc3_meson_g12a_usb_init) > > Can't say... I suspect the (USB_R5_ID_DIG_EN_0 | USB_R5_ID_DIG_EN_1 | > > USB_R5_ID_DIG_TH_MASK) enables the detection. > The regmap_update_bits(USB_R5_ID_DIG_IRQ) is only here to make sure the "current" > irq event is masked, whatever the previous init. > > Or I misunderstood question ? that perfectly answers my question - thank you! > > > >> + irq = platform_get_irq(pdev, 0); > > do we need to check the IRQ before trying to request it? > > drivers/gpu/drm/meson/meson_dw_hdmi.c and drivers/usb/dwc3/host.c for > > example error out if irq number is lower than 0 > > No, devm_request_threaded_irq() will fail if -1 is given, I've using this scheme > for a while now ! OK, it wasn't obvious to me when I looked at devm_request_threaded_irq. thank you for clarifying this Martin