From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DCB5AC433F5 for ; Sat, 22 Jan 2022 01:40:50 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A94DB83831; Sat, 22 Jan 2022 02:40:47 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="EavcOm/2"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9ED17838FE; Sat, 22 Jan 2022 02:40:38 +0100 (CET) Received: from mail-oi1-x22c.google.com (mail-oi1-x22c.google.com [IPv6:2607:f8b0:4864:20::22c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id DEE9D838A4 for ; Sat, 22 Jan 2022 02:40:34 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sjg@google.com Received: by mail-oi1-x22c.google.com with SMTP id bb37so16130005oib.1 for ; Fri, 21 Jan 2022 17:40:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=iVy5T5KKxRUh7Q681131IP64f5I0RBHhgR2H1Jhg1VM=; b=EavcOm/20b943Zx755UGb6zQDKrKhECB2L+UjMZln6+z17IhweU1zBObIXQtTfxFzH Qrm8Xi2qBDUUowvHFjS+zfcTiOv8MAz6oyFOcv/T45FS5dvoVRijwk6UPigwXWvNdQsY oYqr12UU0rcCZTCrJrnFlHBM/ihjihICoDuhI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=iVy5T5KKxRUh7Q681131IP64f5I0RBHhgR2H1Jhg1VM=; b=rkyTNAA+84zhMges6s5p1dkBwsZUFpbQw+HEUNun8vnUCGx0E0mNCFkLczuB1/2iEK DS+KxfTkhVEs5U6sLMWCP5Gw9/nPVPgI7yrcq0NgkJXCfABEOizQojKeox+/tqIVJmcy XrICH4SD9Rp7PsE6jT04MwTTHIy+4545qTF++cBnAVFrN+8zF7nJvm40rvT1NbwybJYi PEGYi3mL+lxVG994dQBcbFole0YpMqYaGWjif05K54tf2nZUkvyPqpqe3h7GTZYzK5y4 QUM0vDI5OPZYQT25Vlv3r12O3W1X7mmi0Ftd8zGtENEO9OBH72tg09log6XdKMbhHQ0d Uxuw== X-Gm-Message-State: AOAM530mrQJavD5177TJVhIbvvW3w7sMiHb8bUf/oq0JmlCgMZJb7kwu IxoODDkzNwfeGAKGldlIBeJfv1bskUOd7AXuN3sRuQ== X-Google-Smtp-Source: ABdhPJzVYGkc9L0ylby52qx+f1nZfir6bYNXD46tsuU9kNGiFOh9sDBs6ZGMQgELGQXukK4KVj9i7EICXgQoTTML4m0= X-Received: by 2002:a05:6808:16a3:: with SMTP id bb35mr2676341oib.72.1642815633378; Fri, 21 Jan 2022 17:40:33 -0800 (PST) MIME-Version: 1.0 References: <20220114110438.58452-1-kettenis@openbsd.org> <20220114110438.58452-6-kettenis@openbsd.org> In-Reply-To: <20220114110438.58452-6-kettenis@openbsd.org> From: Simon Glass Date: Fri, 21 Jan 2022 18:40:21 -0700 Message-ID: Subject: Re: [PATCH 5/8] nvme: Add shutdown function To: Mark Kettenis Cc: U-Boot Mailing List , Jaehoon Chung , Tom Rini , sven@svenpeter.dev, marcan@marcan.st, Bin Meng Content-Type: text/plain; charset="UTF-8" X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean Hi Mark, On Fri, 14 Jan 2022 at 04:05, Mark Kettenis wrote: > > Add a function to disable the NVMe controller. This will be used > to let the driver for the NVMe storage integrated on Apple SoCs > shutdown the NVMe controller such we can shutdown the NVMe > IOP controller in a clean way afterwards before handing control > to the OS. > > Signed-off-by: Mark Kettenis > --- > drivers/nvme/nvme.c | 7 +++++++ > drivers/nvme/nvme.h | 1 + > 2 files changed, 8 insertions(+) Reviewed-by: Simon Glass Tested on: Macbook Air M1 Tested-by: Simon Glass with change below > > diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c > index e2d0f9c668..3b1a5c718f 100644 > --- a/drivers/nvme/nvme.c > +++ b/drivers/nvme/nvme.c > @@ -896,3 +896,10 @@ free_queue: > free_nvme: > return ret; > } > + > +int nvme_shutdown(struct udevice *udev) > +{ > + struct nvme_dev *ndev = dev_get_priv(udev); > + > + return nvme_disable_ctrl(ndev); > +} > diff --git a/drivers/nvme/nvme.h b/drivers/nvme/nvme.h > index 57803b43fd..6e39af8831 100644 > --- a/drivers/nvme/nvme.h > +++ b/drivers/nvme/nvme.h > @@ -670,5 +670,6 @@ struct nvme_ops { > }; > > int nvme_init(struct udevice *udev); > +int nvme_shutdown(struct udevice *udev); Please add a comment > > #endif /* __DRIVER_NVME_H__ */ > -- > 2.34.1 >