All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vishal Verma <vishal.l.verma@intel.com>
To: Alison Schofield <alison.schofield@intel.com>,
	Ira Weiny <ira.weiny@intel.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Ben Widawsky <bwidawsk@kernel.org>,
	Dan Williams <dan.j.williams@intel.com>
Cc: linux-cxl@vger.kernel.org, linux-kernel@vger.kernel.org,
	Davidlohr Bueso <dave@stgolabs.net>,
	Russ Weight <russell.h.weight@intel.com>,
	Vishal Verma <vishal.l.verma@intel.com>
Subject: [PATCH 0/4] cxl: Add a firmware update mechanism and cxl_test emulation
Date: Fri, 21 Apr 2023 21:09:24 -0600	[thread overview]
Message-ID: <20230421-vv-fw_update-v1-0-22468747d72f@intel.com> (raw)

Add firmware update capability to the CXL memdev driver, and emulation
in cxl_test. Since the 'Transfer FW' mailbox command is a background
command, this series depends on the initial background command support
patches[1] from Davidlohr. These patches (patch 1 and 2) are included
in this series, unchanged, for reference.

Since the Transfer FW command can be a long-running background command,
it is desirable to retain kernel control over it, so that one command
doesn't monopolize the mailbox interface. The sysfs based firmware
loader mechanism that was developed for FPGAs is a suitable candidate to
help accomplish this. Patch 3 goes into more details on this.

The poll interval for the Transfer FW command is arbitrarily set at 1
second, and a poll count of 300, giving us a total wait time of five
minutes before which each slice of the transfer times out. This seems
like a good mix of responsiveness and a total wait - the spec doesn't
have any guidance on any upper or lower bounds for this. This likely
does not need to be user-configurable, so for now it is just hard-coded
in the driver.

Patch 4 implements the emulation of firmware update related commands in
the cxl_test environment to enable unit testing.

[1]: https://lore.kernel.org/linux-cxl/20230421092321.12741-1-dave@stgolabs.net

Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
---
Davidlohr Bueso (2):
      cxl/pci: Allocate irq vectors earlier in pci probe
      cxl/mbox: Add background cmd handling machinery

Vishal Verma (2):
      cxl: add a firmware update mechanism using the sysfs firmware loader
      tools/testing/cxl: add firmware update emulation to CXL memdevs

 drivers/cxl/cxl.h                       |   7 +
 drivers/cxl/cxlmem.h                    |  84 +++++++++
 drivers/cxl/core/mbox.c                 |   4 +-
 drivers/cxl/core/memdev.c               | 324 ++++++++++++++++++++++++++++++++
 drivers/cxl/pci.c                       | 112 ++++++++++-
 tools/testing/cxl/test/mem.c            | 191 +++++++++++++++++++
 Documentation/ABI/testing/sysfs-bus-cxl |  11 ++
 drivers/cxl/Kconfig                     |   1 +
 8 files changed, 728 insertions(+), 6 deletions(-)
---
base-commit: 24b18197184ac39bb8566fb82c0bf788bcd0d45b
change-id: 20230421-vv-fw_update-59e35ad0d018

Best regards,
-- 
Vishal Verma <vishal.l.verma@intel.com>


             reply	other threads:[~2023-04-22  3:09 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-22  3:09 Vishal Verma [this message]
2023-04-22  3:09 ` [PATCH 1/4] cxl/pci: Allocate irq vectors earlier in pci probe Vishal Verma
2023-05-11 15:13   ` Jonathan Cameron
2023-04-22  3:09 ` [PATCH 2/4] cxl/mbox: Add background cmd handling machinery Vishal Verma
2023-04-22  3:09 ` [PATCH 3/4] cxl: add a firmware update mechanism using the sysfs firmware loader Vishal Verma
2023-04-22 13:12   ` kernel test robot
2023-05-11 16:06   ` Jonathan Cameron
2023-05-19  2:58   ` Alison Schofield
2023-05-19 20:24     ` Verma, Vishal L
2023-05-23  3:33       ` Dan Williams
2023-05-23  3:21   ` Dan Williams
     [not found]     ` <a7443a348b9c2b51cf141ad1131c9befbb09724e.camel@intel.com>
2023-05-31 21:56       ` Dan Williams
2023-04-22  3:09 ` [PATCH 4/4] tools/testing/cxl: add firmware update emulation to CXL memdevs Vishal Verma
2023-05-11 16:18   ` Jonathan Cameron
2023-05-19  3:01     ` Alison Schofield
2023-05-19 15:12       ` Jonathan Cameron
2023-06-02 18:01     ` Verma, Vishal L
2023-05-23  3:30   ` Dan Williams
2023-04-24 17:39 ` [PATCH 0/4] cxl: Add a firmware update mechanism and cxl_test emulation Davidlohr Bueso
2023-06-02 17:48   ` Verma, Vishal L

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230421-vv-fw_update-v1-0-22468747d72f@intel.com \
    --to=vishal.l.verma@intel.com \
    --cc=alison.schofield@intel.com \
    --cc=bwidawsk@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dave@stgolabs.net \
    --cc=ira.weiny@intel.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=russell.h.weight@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.