All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manivannan Sadhasivam <mani@kernel.org>
To: Kishore Batta <kishore.batta@oss.qualcomm.com>
Cc: Jonathan Corbet <corbet@lwn.net>,
	 Shuah Khan <skhan@linuxfoundation.org>,
	Jeff Hugo <jeff.hugo@oss.qualcomm.com>,
	Carl Vanderlip <carl.vanderlip@oss.qualcomm.com>,
	Oded Gabbay <ogabbay@kernel.org>,
	linux-doc@vger.kernel.org,  linux-kernel@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
	mhi@lists.linux.dev
Subject: Re: [PATCH v7 0/7] Qualcomm Sahara protocol enhancements
Date: Sun, 11 Oct 2026 22:03:46 +0530	[thread overview]
Message-ID: <asu5x72z9-p0U8G0@debian> (raw)
In-Reply-To: <20261008-sahara_protocol_new_v2-v7-0-90d278bd7414@oss.qualcomm.com>

On Thu, Oct 08, 2026 at 11:53:44AM +0530, Kishore Batta wrote:
> Hi All,
> 
> This series reworks the Sahara protocol driver to make it reusable for
> multiple MHI based devices and adds support for capturing, restoring and
> exposing DDR training data using the Sahara command mode.
> 
> The Sahara protocol is transported over the MHI bus and is used by multiple
> flashless devices to transfer firmware images, retrieve memory dumps and
> exchange command mode data during early boot. However, the current
> implementation lives under the QAIC accelerator driver and contains
> device-specific assumptions that limit reuse.
> 
> Some MHI devices (for example, QDU100) expose the sahara protocol directly
> on a "SAHARA" MHI channel and rely on command mode to exchange DDR training
> data with the host. The existing driver does not bind to such devices and
> ignores Sahara command mode packets, causing training data to be dropped.
> 
> This series addresses these issues by relocating the Sahara driver to the
> MHI subsystem, centralizing device specific configuration and adding command
> mode handling for DDR training data.
> 
> Overview of the changes in this series -
> 1. Move Sahara under the MHI subsystem:
>    a. Relocate the sahara protocol driver from QAIC accelerator tree to
>       drivers/bus/mhi/host/clients directory.
>    b. Register Sahara as an independent MHI protocol driver.
> 
> 2. Generalize device matching and configuration
>    a. Allow the driver to bind to devices exposing the protocol on a
>       SAHARA MHI channel.
>    b. Centralize firmware image table selection at probe time using a variant
>       table, instead of scattered conditionals.
>    c. Preserve existing behavior on AIC devices.
> 
> 3. Add QDU100 firmware image table support
>    a. Add a QDU100 image table and select it based on the matched MHI channel.
>    b. No separate client driver or registration mechanism is required.
> 
> 4. Add Sahara command mode support for DDR training.
>    a. Handle command mode packets(CMD_READY, EXECUTE, EXECUTE_DATA).
>    b. Query supported commands and retrieve DDR training data from the device.
>    c. Allocate receive buffers based on the reported payload size and copy
>       raw data from the MHI DL.
>    d. Store training data in controller-scoped memory using devres so it
>       survives sahara channel teardown.
> 
> 5. Expose DDR training data to userspace
>    a. Add a read-only binary sysfs attribute under the MHI controller device.
>    b. The attribute reads directly from controller-scoped storage and remains
>       available after the Sahara channel device is removed.
>    c. Cleanup is handled automatically via device-managed resources.
> 
> 6. Document the sysfs ABI
>    a. Add ABI documentation describing the DDR training data sysfs node.
> 
> Signed-off-by: Kishore Batta <kishore.batta@oss.qualcomm.com>

Series fails to apply to mhi-next branch. Please rebase and resend. Since I'm
about to send the PR for v7.4, this will miss the upcoming cycle. But I can
queue it once v7.4-rc1 is released.

- Mani

-- 
மணிவண்ணன் சதாசிவம்

  parent reply	other threads:[~2026-10-11 16:33 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-08  6:23 [PATCH v7 0/7] Qualcomm Sahara protocol enhancements Kishore Batta
2026-10-08  6:23 ` [PATCH v7 1/7] Add documentation for Sahara protocol Kishore Batta
2026-10-08  6:28   ` sashiko-bot
2026-10-08  6:23 ` [PATCH v7 2/7] bus: mhi: Move Sahara protocol driver under MHI host client drivers Kishore Batta
2026-10-08  6:36   ` sashiko-bot
2026-10-08  6:23 ` [PATCH v7 3/7] bus: mhi: Centralize Sahara firmware image table selection at probe time Kishore Batta
2026-10-08  6:23 ` [PATCH v7 4/7] bus: mhi: Add QDU100 Sahara variant and firmware fallback Kishore Batta
2026-10-08  6:35   ` sashiko-bot
2026-10-08  6:23 ` [PATCH v7 5/7] bus: mhi: Load DDR training data using device serial number Kishore Batta
2026-10-08  6:23 ` [PATCH v7 6/7] bus: mhi: Capture DDR training data via command mode Kishore Batta
2026-10-08  6:35   ` sashiko-bot
2026-10-08  6:23 ` [PATCH v7 7/7] bus: mhi: Expose DDR training data via controller sysfs Kishore Batta
2026-10-08  6:39   ` sashiko-bot
2026-10-11 16:33 ` Manivannan Sadhasivam [this message]
2026-10-12 18:12   ` [PATCH v7 0/7] Qualcomm Sahara protocol enhancements Kishore Batta

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=asu5x72z9-p0U8G0@debian \
    --to=mani@kernel.org \
    --cc=carl.vanderlip@oss.qualcomm.com \
    --cc=corbet@lwn.net \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jeff.hugo@oss.qualcomm.com \
    --cc=kishore.batta@oss.qualcomm.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhi@lists.linux.dev \
    --cc=ogabbay@kernel.org \
    --cc=skhan@linuxfoundation.org \
    /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.