On 2/9/25 09:49, Alexey Kardashevskiy wrote:
On 30/8/25 12:37, dan.j.williams@xxxxxxxxx wrote:
Alexey Kardashevskiy wrote:
[..]
We have pdev in pci_tdi, pci_tsm and pci_tsm_pf0 (via .base), using
these in pci_tsm_ops will document better which call is allowed on
what entity - DSM or TDI. Or may be ditch those back "pdev"
references?
Not immediately understanding what change you want here. Do you want
iommufd to track the pci_tdi?
I'd like to either:
- get rid of pdev back refs in pci_tsm/pci_tdi since we pass pci_dev
everywhere as if a pdev from pci_tsm/pci_tdi is used in, say, 1-2
places, then it is just cleaner to pass pdev to those places
explicitly
Maybe if we see that that are unused then they are easy to delete later.
It is way easier to do now than later when it grows. I'll dig a bit.
So far it appears so that the only use for these backrefs is pci_tsm_ops's hooks which take pci_tsm/pci_tdi instead of pci_dev. So the backrefs are only needed because unbind()/remove() do not take pci_dev.
My problem with these backrefs is that for a new reader of the code it won't be immediately obvious whether we need pci_dev_get/pci_dev_put for those, are pci_tsm/pci_tdi ever detached from pci_dev, etc. Dunno, I won't be nak-ing of this though. Thanks,
--
Alexey