Re: [PATCH v3 03/13] PCI/TSM: Authenticate devices via platform TSM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alexey Kardashevskiy wrote:
> 
> 
> On 27/8/25 09:54, dan.j.williams@xxxxxxxxx wrote:
> > Alexey Kardashevskiy wrote:
> > [..]
> > [trim multiple pages of uncommented context, please trim your replies]
> > 
> >>> +/**
> >>> + * pci_tsm_pf0_initialize() - common 'struct pci_tsm_pf0' initialization
> >>> + * @pdev: Physical Function 0 PCI device
> >>> + * @tsm: context to initialize
> >>> + */
> >>> +int pci_tsm_pf0_initialize(struct pci_dev *pdev, struct pci_tsm_pf0 *tsm)
> >>
> >> Here it is: struct pci_tsm_pf0 *tsm  (it is really a "dsm")
> > 
> > All of the context returned by the TSM driver is a "tsm" context, the
> > only time use "dsm" is in referring to the actual pci_dev that runs the
> > SPDM session.
> 
> ah ok. Just seems a bit counterintuitive to use a short "tsm" acronym for something else than the actual TSM as defined in the PCI spec and in this case - it is the opposite to the spec's "TSM" - it is a DSM, the other end of trust chain. And if I wanted to reference the actual TSM in the same function - that would be "tsm_dev".⁠⁠⁠⁠⁠ And the actual DSM pci_dev is barely used, it is mostly "struct pci_tsm_pf0".

The "dsm" pci_dev is used for type-checking assignable subfunctions vs the
device that runs the SPDM session, and it is used as the device to lock
when running operations on any subfunction.

> >> In pci_tsm: struct pci_dev *dsm (alright)
> >>
> >> May be we need some distinction between PF0's pci_dev and pci_tsm_pf0 but still these are DSMs.
> >>
> >> In pci_tsm_pf0 it is: struct pci_tsm tsm, imho "base" is less confusing (I keep catching myself thinking it is a pointer to tsm_dev).
> > 
> > Ok, I can change it to base.
> > 
> >> "tsm" would be what you call "tsm_dev" which is ok but seeing short "tsm" used as "dsm" or "TSM data for this pci_dev" is confusing.
> >>
> >> s/pci_tsm/pci_tsm_ctx/ and s/tsm/tsm_ctx/ ? Thanks,
> > 
> > What is a tsm_ctx? The s/pci_tsm/pci_tsm_ctx/ rename is not adding more
> > clarity for me.
> 
> TSM-related attributes of a PCI device. Not the best name, true.
> 
> > If Aneesh or Yilun also find that rename clarifying I
> > will switch. For v5 I will stick with 'struct pci_tsm' as the PCI object
> > that wraps TSM driver produced objects.
> yeah, if it is just me, then never mind, I'll get used to it.
> 
> > The reason I do not think of "pci_tsm" as a "tsm_dev" is because PCI is
> > always a consumer of an outside of PCI TSM service provided, PCI does
> > not have a TSM concept internal to it.
> "struct pci_dev" describes a PCI device, "struct pci_ide" - a PCI IDE stream but "struct pci_tsm" does not describe PCI TSM... Hm. Thanks,

How about keep ->tsm as the short name in 'struct pci_dev', but rename
the type 'struct pci_tsm_ctl'? It is a core control data structure for
TSM operations. It is not a "context" like device drvdata where the
owner can do whatever it wants, it is a core control structure that a
low-level TSM driver can wrap with its own control attributes.




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux