From patchwork Mon Nov 23 15:38:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ioana Ciornei X-Patchwork-Id: 330992 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=-10.7 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,INCLUDES_PATCH, MAILING_LIST_MULTI, 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 3ED3DC63697 for ; Mon, 23 Nov 2020 15:40:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id EBC6C2080A for ; Mon, 23 Nov 2020 15:40:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BQwhXEDh" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389550AbgKWPio (ORCPT ); Mon, 23 Nov 2020 10:38:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56838 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730956AbgKWPim (ORCPT ); Mon, 23 Nov 2020 10:38:42 -0500 Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 67D29C0613CF; Mon, 23 Nov 2020 07:38:42 -0800 (PST) Received: by mail-ej1-x62b.google.com with SMTP id f23so23941292ejk.2; Mon, 23 Nov 2020 07:38:42 -0800 (PST) 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=DWXhh3DFHIhh3qb0m/ol0Y43T5CsgoKeo5vg1kRBGns=; b=BQwhXEDhefCTq8drpN1aWVrHxE+3km1BjCi2lrIOVzbAFur/OI5/LBa+iFAuLkGkNE /ha9+fJLSjSoqd26SskWY+kBdEYHKxzwakuCsSLKf0Tf786uOqE8C9Zulcis9gYSTeXH KGC4h36hGpyubCX4YQWHke6jMM+6zivLV80r4SKNYxczbEdXSIpRpepLWLcvdf35SPMA PmqMrxE9ic2IwhHMWQCS3LEjX8plC6OCPk2lqOF54qE5ZCbVun8pjtkDfSQKtu15Xqtx +o2eRcH+xnuC9p/SwxroZ6NWOnG+PUvsicw8AXVhjWeO+us3DkeMrM81jStjd8cCuZho lGKg== 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=DWXhh3DFHIhh3qb0m/ol0Y43T5CsgoKeo5vg1kRBGns=; b=DHQQdv0hKaV9pTSzErxI6Q7czIAZC9+dFKVzal70ISLH9jYGXzsUI8dgAyg0JfBNoq VGHmPn396Vz9aU5fFEhFAMVk9mDAL++k9TQ9NKJya1eBH6Twmf4EvOPV7Bse8RcKZ3+u LmWnWjZjEXvHH0OGSRW4rbcJ6ogqjchy+/rSsy8II1hJikMb9D1hoyR8fCxiasyc3/tP bQRcf4dbwC93GbV0Zc3Z20824jYeWlFlxIG6UbgU5Xfty+HrfIAufe0atXnQG+E9FDil BCENI04MHKYVNNJhF3XLLSOZKm9GDkGKsS2lLSqbRlMBIqfmfHXmoKhJoKpm4an1KEvi +0bg== X-Gm-Message-State: AOAM530rbwCoR3jla/OLW6mff6haDwTTFE5tiKFY3CiYqXK4Smn/zCGn El1pRLD0hXO7Urs7CqMA+aqr9fJY7tM= X-Google-Smtp-Source: ABdhPJwzqsKyYEKEU5Kxf08U2i6w6Xjllvl4oB9MhHhApbhCgiRshdPluotVDyuO7p5MyJr6hPJ7sw== X-Received: by 2002:a17:906:d8b0:: with SMTP id qc16mr187096ejb.268.1606145918378; Mon, 23 Nov 2020 07:38:38 -0800 (PST) Received: from yoga-910.localhost ([188.25.2.177]) by smtp.gmail.com with ESMTPSA id c6sm4800126edy.62.2020.11.23.07.38.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Nov 2020 07:38:37 -0800 (PST) From: Ioana Ciornei To: Andrew Lunn , Heiner Kallweit , Russell King , Florian Fainelli , Jakub Kicinski , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Ioana Ciornei , Antoine Tenart , Dan Murphy , Divya Koppera , Hauke Mehrtens , Jerome Brunet , Marek Vasut , Martin Blumenstingl , Mathias Kresin , Neil Armstrong , Oleksij Rempel , Philippe Schenker Subject: [PATCH net-next 00/15] net: phy: add support for shared interrupts (part 3) Date: Mon, 23 Nov 2020 17:38:02 +0200 Message-Id: <20201123153817.1616814-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.