From patchwork Thu Oct 29 10:07:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ioana Ciornei X-Patchwork-Id: 316050 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.6 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HK_RANDOM_FROM,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6B40AC55179 for ; Thu, 29 Oct 2020 10:08:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id F230020790 for ; Thu, 29 Oct 2020 10:08:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UHgjMSwS" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726190AbgJ2KIi (ORCPT ); Thu, 29 Oct 2020 06:08:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52918 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725790AbgJ2KIi (ORCPT ); Thu, 29 Oct 2020 06:08:38 -0400 Received: from mail-ej1-x641.google.com (mail-ej1-x641.google.com [IPv6:2a00:1450:4864:20::641]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0B390C0613CF; Thu, 29 Oct 2020 03:08:38 -0700 (PDT) Received: by mail-ej1-x641.google.com with SMTP id s15so2980212ejf.8; Thu, 29 Oct 2020 03:08:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=5uc54niYl4IGmpn///qzNyRbsYw21z8bYHcrhLCDVtM=; b=UHgjMSwScM0Jbyf5Vdx7WpaLkDBo/tIekGWN0Rxt424g/mWZK4JLGO5oJte5flUjcd TCSdGwZLfVrlkmrHwSjN6tHyLmXhGIWBud5FNSgPkZklIf8vZfMBi6GeXeIo3hDqUqCG 2smo2PwyDBsjuyTbJSzkaVJpy8u1rhrTDm9qARC+DNA8hyl9E/sRQ2xsORKqOyRlVYYs 6nOzNJaSVF9R46yEFPISlQWK7M0w8xij1wtmmWtHE3M1qrxnNFyOgZVYvY0fHe/PSSH7 vOstFAWuICzh0zYVm4yf3PaxBC8/NUZPXergHZZFQVLYBNtoGJp1DlN/oKMFkykeVc1d umUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=5uc54niYl4IGmpn///qzNyRbsYw21z8bYHcrhLCDVtM=; b=FUJYKKaS0Kg5VNDxTzY5NjIXDIeoDhP8lcYsNygi5YSAhPdcfBL2nZx/V0aCQ2lZNC qFVKujcv/i6lrnvj/NcJoGg6eaJsAZ7cX6guCTXm8n7mtAPYs18geEhMTb1CP+jl51aA KnOVxanudFmod4xHVO940z5vZK83QNkvOU+t/9p/ZKzLwdA+L7rv1ERgltrZRV7Feniu t4aaM7iiBZUokJh1geh1lOucyotr/FB3N369OzYDXHuBdwNc2nAeGcupFzEjmiDUA4tS CIFGitCOLqrRmQtaioq+fbfkfPKktUW1MJMshi4dfF28ZUK1eRqpb6p2ygnDLOCtva1L NKFg== X-Gm-Message-State: AOAM531N+roWC8O62FgInwfXqKucrhXQm/uatvIGXA8RNATscp5sd1wp qWoN59jFLnxRFtNNu8sJgPk= X-Google-Smtp-Source: ABdhPJzPnxJhMWTjrh4fJdftzszrFRhW56CZkpF6Sk+I0a5dzULu+ieTvWdKFX14AwWdTlQqffXU6A== X-Received: by 2002:a17:906:c041:: with SMTP id bm1mr3193857ejb.202.1603966116623; Thu, 29 Oct 2020 03:08:36 -0700 (PDT) Received: from yoga-910.localhost ([188.25.2.177]) by smtp.gmail.com with ESMTPSA id m1sm1198650ejj.117.2020.10.29.03.08.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Oct 2020 03:08:35 -0700 (PDT) From: Ioana Ciornei To: Andrew Lunn , Heiner Kallweit , Russell King , Jakub Kicinski , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Ioana Ciornei , Alexandru Ardelean , Andre Edich , Antoine Tenart , Baruch Siach , Christophe Leroy , Dan Murphy , Divya Koppera , Florian Fainelli , Hauke Mehrtens , Jerome Brunet , Kavya Sree Kotagiri , Linus Walleij , Marco Felsch , Marek Vasut , Martin Blumenstingl , Mathias Kresin , Maxim Kochetkov , Michael Walle , Neil Armstrong , Nisar Sayed , Oleksij Rempel , Philippe Schenker , Willy Liu , Yuiko Oshino Subject: [PATCH net-next 00/19] net: phy: add support for shared interrupts (part 1) Date: Thu, 29 Oct 2020 12:07:22 +0200 Message-Id: <20201029100741.462818-1-ciorneiioana@gmail.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Ioana Ciornei This patch set aims to actually add support for shared interrupts in phylib and not only for multi-PHY devices. While we are at it, streamline the interrupt handling in phylib. For a bit of context, at the moment, there are multiple phy_driver ops that deal with this subject: - .config_intr() - Enable/disable the interrupt line. - .ack_interrupt() - Should quiesce any interrupts that may have been fired. It's also used by phylib in conjunction with .config_intr() to clear any pending interrupts after the line was disabled, and before it is going to be enabled. - .did_interrupt() - Intended for multi-PHY devices with a shared IRQ line and used by phylib to discern which PHY from the package was the one that actually fired the interrupt. - .handle_interrupt() - Completely overrides the default interrupt handling logic from phylib. The PHY driver is responsible for checking if any interrupt was fired by the respective PHY and choose accordingly if it's the one that should trigger the link state machine.