Discussion of the VIRTIO specification
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Cc: Demi Marie Obenour <demiobenour@gmail.com>,
	Cornelia Huck <cohuck@redhat.com>,
	Peter Hilber <peter.hilber@oss.qualcomm.com>,
	virtio-comment@lists.linux.dev,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Trilok Soni <trilok.soni@oss.qualcomm.com>
Subject: Re: [PATCH v2] content: Reserve ID 52 for QPSFI device
Date: Thu, 22 Oct 2026 09:19:16 -0400	[thread overview]
Message-ID: <20261022091645-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CAAjaMXZgKGWL0dJJSh74Pf20EezY8zPOsSg1aNkp_ssvXuP7BQ@mail.gmail.com>

On Thu, Oct 22, 2026 at 11:41:17AM +0300, Manos Pitsidianakis wrote:
> On Thu, Oct 22, 2026 at 10:24 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Thu, Oct 22, 2026 at 03:07:41AM -0400, Demi Marie Obenour wrote:
> > > On 10/22/26 00:35, Cornelia Huck wrote:
> > > > On Wed, Oct 21 2026, "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > > >
> > > >> On Wed, Oct 21, 2026 at 03:25:31PM -0400, Demi Marie Obenour wrote:
> > > >>> On 10/21/26 14:00, Peter Hilber wrote:
> > > >>>> Reserve a device ID for QPSFI devices (Qualcomm Platform Subsystem
> > > >>>> Firmware Interface). QPSFI devices expose functionality across SoC
> > > >>>> subsystems through a common Virtio-based protocol. There are no plans to
> > > >>>> standardize the devices.
> > > >>>>
> > > >>>> The Linux DCP display driver series is planned as the first user of this
> > > >>>> device ID:
> > > >>>>
> > > >>>> https://lore.kernel.org/all/20261015-jshekhar-drm-msm-dcp-v1-v1-10-48aad0fe4f72@oss.qualcomm.com/
> > > >>>>
> > > >>>> Device ID 51 is already reserved for the Virtio HAB device:
> > > >>>>
> > > >>>> https://lore.kernel.org/virtio-comment/20260702140939.3535968-1-zeloren@qti.qualcomm.com/
> > > >>>>
> > > >>>> Signed-off-by: Peter Hilber <peter.hilber@oss.qualcomm.com>
> > > >>>> ---
> > > >>>>
> > > >>>>     v2:
> > > >>>>
> > > >>>>     - Rename the device from "Snapdragon device" to "QPSFI device".
> > > >>>>
> > > >>>>     - Refer to DCP Linux driver patch as planned first QPSFI user.
> > > >>>>
> > > >>>>     v1:
> > > >>>>
> > > >>>>     - Was posted as "content: Reserve ID 52 for Snapdragon device":
> > > >>>>
> > > >>>>       https://lore.kernel.org/virtio-comment/20260826115504.1955-1-peter.hilber@oss.qualcomm.com/
> > > >>>>
> > > >>>>  content.tex | 2 ++
> > > >>>>  1 file changed, 2 insertions(+)
> > > >>>>
> > > >>>> diff --git a/content.tex b/content.tex
> > > >>>> index 243ce2dde36b..7416939e67d3 100644
> > > >>>> --- a/content.tex
> > > >>>> +++ b/content.tex
> > > >>>> @@ -805,6 +805,8 @@ \chapter{Device Types}\label{sec:Device Types}
> > > >>>>  \hline
> > > >>>>  50         &   Video encoder/decoder device \\
> > > >>>>  \hline
> > > >>>> +52         &   QPSFI device \\
> > > >>>> +\hline
> > > >>>>  \end{longtable}
> > > >>>>
> > > >>>>  Some of the devices above are unspecified by this document,
> > > >>>
> > > >>> I think it would be best to have a single ID for vendor-specific devices.
> > > >>> I believe most of the ID space has already been used, at least for virtio-PCI.
> > > >>> --
> > > >>> Sincerely,
> > > >>> Demi Marie Obenour (she/her/hers)
> > > >>
> > > >> Sounds like a good idea to me. And then qualcomm can do what they
> > > >> want, like check subsystem id for pci or whatever?
> > > >> Only issue is there is no way to distinguish for mmio/ccw.
> > > >> Maybe, add vendor specific id as first e.g. 8 bytes ro in the config space?
> > > >> Peter?
> > > >
> > > > Using some information in the config space looks like the most flexible
> > > > way to me. Are we still happy with how the device ids are organized in
> > > > general (i.e. when do we want a new one, and when do we want to extend
> > > > an existing device?)
> > >
> > > For a platform device like this, I'd prefer to pass the information out
> > > of band.  After all, this device will only ever be found on Qualcomm
> > > SoCs, and presumably the kernel knows exactly which PCI device is
> > > supposed to be the QPSFI device.  This means that the kernel can just
> > > special-case it.
> >
> > Yes but we are discussing making this id a general "vendor specific
> > device", as opposed to a "qualcomm device".
> 
> Is there a reason why a generic VIRTIO_ID_VENDOR wouldn't work?
> 
> Instead of adding more and more IDs for different devices that will
> never been upstreamed.
> 
> Then, a kernel can discover all vendor devices when enumerating the
> transport, ignore them unless it knows specifically about them through
> ACPI or device tree.
> 
> It doesn't make sense to me that HAB/QPSFI need an ID when they are
> unusable to anyone except for qualcomm kernel drivers so maybe we
> should require that an ID allocation always needs an explicit
> justification (i.e. "the spec will be upstreamed", or "we cannot use
> VIRTIO_ID_VENDOR because X/Y/Z").

Right so let's just reserve ID 52 as VIRTIO_ID_VENDOR for now.
And document precisely what you are saying.

And let's add a chapter for it please:

"A driver is not automatically loaded based on VIRTIO_ID_VENDOR alone,
 instead, the platform probes the device, verifies it is the
 correct vendor specific driver and loads it, all in
 a platform specific way".

and conformance clauses stating the same.

-- 
MST


  reply	other threads:[~2026-10-22 13:19 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-21 18:00 [PATCH v2] content: Reserve ID 52 for QPSFI device Peter Hilber
2026-10-21 19:25 ` Demi Marie Obenour
2026-10-21 19:50   ` Michael S. Tsirkin
2026-10-22  4:35     ` Cornelia Huck
2026-10-22  7:07       ` Demi Marie Obenour
2026-10-22  7:24         ` Michael S. Tsirkin
2026-10-22  8:41           ` Manos Pitsidianakis
2026-10-22 13:19             ` Michael S. Tsirkin [this message]
2026-10-22 14:07               ` Dmitry Baryshkov
2026-10-22 15:05                 ` Cornelia Huck
2026-10-22 15:35                   ` Parav Pandit
2026-10-22 15:41                     ` Michael S. Tsirkin
2026-10-22 15:49                       ` Parav Pandit
2026-10-22 16:02                         ` Michael S. Tsirkin
2026-10-22 16:20                           ` Parav Pandit
2026-10-22 16:29                             ` Michael S. Tsirkin
2026-10-22 22:39                               ` Peter Hilber
2026-10-22 23:28                                 ` Michael S. Tsirkin
2026-10-23  3:32                                 ` Parav Pandit
2026-10-23  5:37                                 ` Manos Pitsidianakis
2026-10-23  5:40                                   ` Demi Marie Obenour
2026-10-23 20:56                                     ` Peter Hilber
2026-10-23 23:47                                       ` Michael S. Tsirkin
2026-10-26 14:31                                       ` Cornelia Huck
2026-10-28 14:22                                         ` Peter Hilber
2026-10-22 15:44                 ` Michael S. Tsirkin
2026-10-22 14:50               ` Zelong Ren
2026-10-21 19:41 ` Michael S. Tsirkin
2026-10-22 13:56 ` Dmitry Baryshkov

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=20261022091645-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=demiobenour@gmail.com \
    --cc=jan.kiszka@siemens.com \
    --cc=manos.pitsidianakis@linaro.org \
    --cc=peter.hilber@oss.qualcomm.com \
    --cc=stefanha@redhat.com \
    --cc=trilok.soni@oss.qualcomm.com \
    --cc=virtio-comment@lists.linux.dev \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox