Home
last modified time | relevance | path

Searched full:sart (Results 1 – 11 of 11) sorted by relevance

/linux/drivers/soc/apple/
H A Dsart.c3 * Apple SART device driver
6 * Apple SART is a simple address filter for some DMA transactions.
7 * Regions of physical memory must be added to the SART's allow
11 * a single device are subject to SART filtering.
14 #include <linux/soc/apple/sart.h>
52 void (*get_entry)(struct apple_sart *sart, int index, u8 *flags,
54 void (*set_entry)(struct apple_sart *sart, int index, u8 flags,
71 static void sart2_get_entry(struct apple_sart *sart, int index, u8 *flags, in sart2_get_entry() argument
74 u32 cfg = readl(sart->regs + APPLE_SART2_CONFIG(index)); in sart2_get_entry()
75 phys_addr_t paddr_ = readl(sart->regs + APPLE_SART2_PADDR(index)); in sart2_get_entry()
[all …]
H A DMakefile9 obj-$(CONFIG_APPLE_SART) += apple-sart.o
10 apple-sart-y = sart.o
H A DKconfig34 tristate "Apple SART DMA address filter"
38 Apple SART is a simple DMA address filter used on Apple SoCs such
/linux/include/linux/soc/apple/
H A Dsart.h3 * Apple SART device driver
6 * Apple SART is a simple address filter for DMA transactions.
7 * Regions of physical memory must be added to the SART's allow
22 * Get a reference to the SART attached to dev.
24 * Looks for the phandle reference in apple,sart and returns a pointer
33 * @sart: SART reference
37 int apple_sart_add_allowed_region(struct apple_sart *sart, phys_addr_t paddr,
46 * @sart: SART reference
50 int apple_sart_remove_allowed_region(struct apple_sart *sart, phys_addr_t paddr,
/linux/Documentation/devicetree/bindings/iommu/
H A Dapple,sart.yaml4 $id: http://devicetree.org/schemas/iommu/apple,sart.yaml#
7 title: Apple SART DMA address filter
13 Apple SART is a simple address filter for DMA transactions. Regions of
14 physical memory must be added to the SART's allow list before any
17 transactions of a single device are subject to SART filtering.
33 - const: apple,t8112-sart
34 - const: apple,t6000-sart
36 - apple,t6000-sart
37 - apple,t8103-sart
54 compatible = "apple,t8103-sart";
/linux/Documentation/devicetree/bindings/nvme/
H A Dapple,nvme-ans.yaml58 apple,sart:
61 Reference to the SART address filter.
63 The SART address filter is documented in iommu/apple,sart.yaml.
94 - apple,sart
109 apple,sart = <&sart>;
/linux/arch/arm64/boot/dts/apple/
H A Dt600x-nvme.dtsi22 DIE_NODE(sart): sart@393c50000 {
23 compatible = "apple,t6000-sart";
36 apple,sart = <&DIE_NODE(sart)>;
H A Dt8112.dtsi738 sart: sart@27bc50000 { label
739 compatible = "apple,t8112-sart", "apple,t6000-sart";
752 apple,sart = <&sart>;
H A Dt8103.dtsi700 sart: iommu@27bc50000 { label
701 compatible = "apple,t8103-sart";
714 apple,sart = <&sart>;
/linux/drivers/nvme/host/
H A Dapple.c31 #include <linux/soc/apple/sart.h>
93 * buffers cannot be represented as PRPs and must instead be allowed using SART.
179 struct apple_sart *sart; member
248 ret = apple_sart_add_allowed_region(anv->sart, bfr->iova, bfr->size); in apple_nvme_sart_dma_setup()
263 apple_sart_remove_allowed_region(anv->sart, bfr->iova, bfr->size); in apple_nvme_sart_dma_destroy()
1441 anv->sart = devm_apple_sart_get(dev); in apple_nvme_alloc()
1442 if (IS_ERR(anv->sart)) { in apple_nvme_alloc()
1443 ret = dev_err_probe(dev, PTR_ERR(anv->sart), in apple_nvme_alloc()
1444 "Failed to initialize SART"); in apple_nvme_alloc()
/linux/
H A DMAINTAINERS2196 F: Documentation/devicetree/bindings/iommu/apple,sart.yaml