diff options
| author | Joel Fernandes <joelagnelf@nvidia.com> | 2026-09-08 16:51:48 +0900 |
|---|---|---|
| committer | Eliot Courtney <ecourtney@nvidia.com> | 2026-09-11 22:08:19 +0900 |
| commit | 3f1e12fce16f6e88fbaab3404df33f65c8f4df87 (patch) | |
| tree | 741e37698b1326c2bc5085f1bdf97af5a7510a84 /rust/helpers | |
| parent | 9cf1bc8bbc71a6b727ed6def13f125b07cf35210 (diff) | |
rust: pci: add resource_flags accessor
Add a `Device::resource_flags()` method to the PCI Rust abstraction,
wrapping the C-side static inline `pci_resource_flags()`.
The flags returned correspond to the `IORESOURCE` bitmask carried by a
PCI BAR's `struct resource`.
The immediate motivation is BAR layout discovery on NVIDIA GPUs: a
64-bit BAR consumes two consecutive Linux PCI resource slots (the lower
32 bits at index N and the upper 32 bits at index N+1, with the latter
having no flags or size of its own).
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com>
Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Link: https://patch.msgid.link/20260908-pci-resource-flags-v1-1-269f29f81de6@nvidia.com
Signed-off-by: Eliot Courtney <ecourtney@nvidia.com>
Diffstat (limited to 'rust/helpers')
| -rw-r--r-- | rust/helpers/pci.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/rust/helpers/pci.c b/rust/helpers/pci.c index a714cc2bfb7a..3686e405160d 100644 --- a/rust/helpers/pci.c +++ b/rust/helpers/pci.c @@ -19,6 +19,12 @@ __rust_helper resource_size_t rust_helper_pci_resource_len(struct pci_dev *pdev, return pci_resource_len(pdev, bar); } +__rust_helper unsigned long rust_helper_pci_resource_flags(const struct pci_dev *pdev, + int bar) +{ + return pci_resource_flags(pdev, bar); +} + __rust_helper bool rust_helper_dev_is_pci(const struct device *dev) { return dev_is_pci(dev); |
