From patchwork Mon Jan 4 16:14:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Loic Poulain X-Patchwork-Id: 356401 Delivered-To: patch@linaro.org Received: by 2002:a02:85a7:0:0:0:0:0 with SMTP id d36csp15090761jai; Mon, 4 Jan 2021 08:12:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJwU2PJkD6QMfdgHA6HgYz+1tUgfg+np+e9FEfGjZRj1BxUyaPrHNs7hI52Dh2tHwAHv036Y X-Received: by 2002:a50:9ea4:: with SMTP id a33mr70220419edf.70.1609776644888; Mon, 04 Jan 2021 08:10:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1609776644; cv=none; d=google.com; s=arc-20160816; b=qHoesWggUQqA9oUMYqFHvZcAEXs5R1+66xnWHxeT46D5fre/6PegHzvsdrhWPAqfmr Ur1HZGlP7nceXUdJ0WRX5iLUtnny9Vlbr9ebDsrA5MIBDX5uRWPAu6hEpGgMiEF2w6hZ w0NZH88vTYmAdr7xmeqSzNyEnNPiREZ+XBx8Sg5Wj5UGIsS5xx6j1fOHuG+bufi6ZXpS 56veaS421TF9TxinB5+3I2K4WVhp74ajpASLtBaQWWsfjjDBvUhQC9qXf9AyxLJb4nXH jfU0xVy69n0pF1KtR1PEqbxNLyn00papcK6feUBZidDocRQd1GPpvKgvd8FPkaNlCT35 /iaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature; bh=lY/py5qSWE1RT0mHDwHx9Cj2QlUD9eZrpjO4Q55GpuQ=; b=paRkgVHGhEIIbhmhcSsvcGmzhSkV2pkNN+C0hfiqHgKnfIJM2XqxOwv4jAxZZwCO0X zWJw9Ae+hbitxi89MUUV3zD2zhmYEuVMuYezPWv/PPc77tPVYeKuA0EypAFBlGFSziSD pZ/xX2LTQZowqwkWepHhsceDXC8m6JPA8592MAnS8eOx+dQ9owP9jcTgZmLjwG6Ohu37 a7DMWYHRiMpP2FdWesZsEqXvsCJS5aA/gIBsP2VdFPxBBho5vx1abMqp4XjNSdUTX8Z7 TWJqPV2zSh8osSpLhez5IGWtbW4yxglSeGEuzxtYb0KBD6iS1d/DGliBLkoq6Gd9kQbV ujjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hPUcDYdS; spf=pass (google.com: domain of linux-arm-msm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 61si31780067edk.598.2021.01.04.08.10.44; Mon, 04 Jan 2021 08:10:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-arm-msm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hPUcDYdS; spf=pass (google.com: domain of linux-arm-msm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728588AbhADQKL (ORCPT + 15 others); Mon, 4 Jan 2021 11:10:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729388AbhADQIJ (ORCPT ); Mon, 4 Jan 2021 11:08:09 -0500 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0A4AEC061574 for ; Mon, 4 Jan 2021 08:07:29 -0800 (PST) Received: by mail-wm1-x333.google.com with SMTP id a6so18931657wmc.2 for ; Mon, 04 Jan 2021 08:07:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=lY/py5qSWE1RT0mHDwHx9Cj2QlUD9eZrpjO4Q55GpuQ=; b=hPUcDYdSAgtkrIlWHzRUDDFdhHAbruRYzjutPeX3r8BInv6QSeRN28W+NIqBd4xqaN kS0FMIuDKthAKx+e1Kc4seCpNk3ltcIjXOcUTI46uToRbt3vmUW9HVHTFkvp69nceYQW bCR6xZoJmCCr4NioCrrPud9DahHV8TPWoTDuEB3yWdBS/hXSYD3KXAZm92/LngNDsCrl N94UGfAN+25hjdOFDKIPfFIl4IYon0ldCeICYbI2WoHzXXF+vHiA1wrTt+sRHQ+IYaKi FsGzt/inqc7unB69YM2oFStyHxDN21O1k9JZP6MpuMo4w3TVmGm4b1s+lCaiquPYyMFn XBcg== 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; bh=lY/py5qSWE1RT0mHDwHx9Cj2QlUD9eZrpjO4Q55GpuQ=; b=mn/nagPx9HIYTRRkLkjF5s8vDRAznja+qnEY5gHbissvevRGJ73/FwZ44aEsUoQcNN Ocrnneg8qvzcJfD+KooksukiTqhenTC5DqO6aSzydtNDbeBwdp/rzFQnqMDtZnLj4hOP jIfw+TNcFPzA38k4K8UY4yrpb6nRn67Q3MDtZ7+6xK6/1ysbCY9gvRw45yZq54L/d7iC ARRqQzT+sCPiPeeEiJVmhygrrB6VoIRfdtTgIebPjHsQZrW45n+CH0umerMj0NVk5eCR Uoj3/POBHXZ/qXvWXwnLjY74vtTrk6OfClWEraQyU2cLQehRknFhybhiGU/G6DhAGwML WSpQ== X-Gm-Message-State: AOAM532ZydR5BDayLchmOwaRjvZ1qgmGj7f4gfH8ntGviIs/L42Z9zhM /thUV3gaZREUGrW+vswLJEM0ng== X-Received: by 2002:a1c:3cd5:: with SMTP id j204mr27031000wma.53.1609776447713; Mon, 04 Jan 2021 08:07:27 -0800 (PST) Received: from localhost.localdomain ([2a01:e0a:490:8730:41b:e085:fa9a:9c53]) by smtp.gmail.com with ESMTPSA id h9sm89278049wre.24.2021.01.04.08.07.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Jan 2021 08:07:27 -0800 (PST) From: Loic Poulain To: manivannan.sadhasivam@linaro.org Cc: linux-arm-msm@vger.kernel.org, bbhatt@codeaurora.org, hemantk@codeaurora.org, Loic Poulain Subject: [PATCH v8 00/10] mhi: pci_generic: Misc improvements Date: Mon, 4 Jan 2021 17:14:49 +0100 Message-Id: <1609776899-30664-1-git-send-email-loic.poulain@linaro.org> X-Mailer: git-send-email 2.7.4 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org This series adjust some configuration values to ensure stability and robustness of mhi pci devices (timeout, number of events, burst mode). It also includes support for system sleep as well as a recovery procedure that can be triggered when a PCI error is reported, either by PCI AER or by the new health-check mechanism. All these changes have been tested with Telit FN980m module v2: - Cancel recovery work on suspend v3: - enable doorbell_mode_switch for burst channel (HW) - Add mhi_initialize_controller helper patch v4: - Delete hard reset on module unload, MHI reset is enough (Jeffrey) - Move soc reset support in MHI core (Jeffrey) - burst mode: enable doorbell_mode_switch for HW channels (Bhaumik) - Add diag channels v5: - Remove useless call to mhi_initialize_controller in alloc_controller (hemant) - Add define for post reset timeout (hemant) - Fix static misses (hemant) v6: - Add debug print in case of recovery success (Mani) - Return error code in case of resume failure (Mani) v7: - Removed mhi_initialize_controller API (Mani) - Added controller specific reset callback (Mani) - Reworked error handling using reset_prepare/done (Mani) v8: - Rebased on v5.11-rc1 Loic Poulain (10): bus: mhi: core: Add device hardware reset support mhi: pci-generic: Increase number of hardware events mhi: pci_generic: Enable burst mode for hardware channels mhi: pci_generic: Add support for reset mhi: pci_generic: Add suspend/resume/recovery procedure mhi: pci_generic: Add PCI error handlers mhi: pci_generic: Add health-check mhi: pci_generic: Increase controller timeout value mhi: pci_generic: Add diag channels mhi: pci_generic: Set irq moderation value to 1ms for hw channels drivers/bus/mhi/core/main.c | 13 ++ drivers/bus/mhi/pci_generic.c | 359 +++++++++++++++++++++++++++++++++++++++--- include/linux/mhi.h | 9 ++ 3 files changed, 361 insertions(+), 20 deletions(-) -- 2.7.4