/Linux-v5.15/drivers/pci/ |
D | ats.c | 13 #include <linux/pci-ats.h> 34 * pci_ats_supported - check if the device can use ATS 37 * Returns true if the device supports ATS and is allowed to use it, false 50 * pci_enable_ats - enable the ATS capability 71 * Note that enabling ATS on a VF fails unless it's already enabled in pci_enable_ats() 91 * pci_disable_ats - disable the ATS capability 123 * pci_ats_queue_depth - query the ATS Invalidate Queue Depth 128 * The ATS spec uses 0 in the Invalidate Queue Depth field to
|
D | Makefile | 21 obj-$(CONFIG_PCI_ATS) += ats.o
|
/Linux-v5.15/Documentation/x86/ |
D | sva.rst | 17 PCIe Address Translation Services (ATS) along with Page Request Interface 20 specification Chapter 10: ATS Specification. 23 required to support the PCIe features ATS and PRI. ATS allows devices 26 sync. When an ATS lookup fails for a virtual address, the device should 28 CPU page tables. The device must use ATS again in order the fetch the 82 ATS. If the IOMMU responds with proper response that a page is not 230 use via Address Translation Service (ATS) requests. If the mapping exists
|
/Linux-v5.15/include/uapi/linux/genwqe/ |
D | genwqe_card.h | 272 * driver know where those addresses are by specifying the ATS field, 277 * Our hardware will refuse DDCB execution if the ATS field is not as 280 * will check that against the ATS field definition. Any invalid or 281 * unknown ATS content will lead to DDCB refusal. 356 #define DDCB_ASIV_LENGTH_ATS 96 /* ASIV in ATS architecture */ 371 * Address Translation Specification (ATS) definitions 373 * Each 4 bit within the ATS 64-bit word specify the required address 382 * The first 4 entries in the ATS word are reserved. The following nibbles 433 __u64 ats; member
|
/Linux-v5.15/Documentation/ABI/stable/ |
D | sysfs-driver-dma-idxd | 213 Description: Indicate whether ATS disable is turned on for the workqueue. 214 0 indicates ATS is on, and 1 indicates ATS is off for the workqueue.
|
/Linux-v5.15/drivers/net/ethernet/stmicro/stmmac/ |
D | enh_desc.c | 385 static void enh_desc_get_timestamp(void *desc, u32 ats, u64 *ts) in enh_desc_get_timestamp() argument 389 if (ats) { in enh_desc_get_timestamp() 404 u32 ats) in enh_desc_get_rx_timestamp_status() argument 406 if (ats) { in enh_desc_get_rx_timestamp_status()
|
D | norm_desc.c | 248 static void ndesc_get_timestamp(void *desc, u32 ats, u64 *ts) in ndesc_get_timestamp() argument 260 static int ndesc_get_rx_timestamp_status(void *desc, void *next_desc, u32 ats) in ndesc_get_rx_timestamp_status() argument
|
D | dwxgmac2_descs.c | 85 static inline void dwxgmac2_get_timestamp(void *desc, u32 ats, u64 *ts) in dwxgmac2_get_timestamp() argument 117 u32 ats) in dwxgmac2_get_rx_timestamp_status() argument
|
D | dwmac4_descs.c | 228 static inline void dwmac4_get_timestamp(void *desc, u32 ats, u64 *ts) in dwmac4_get_timestamp() argument 267 u32 ats) in dwmac4_wrback_get_rx_timestamp_status() argument
|
/Linux-v5.15/drivers/misc/genwqe/ |
D | card_ddcb.h | 39 #define ASIV_LENGTH 104 /* Old specification without ATS field */ 40 #define ASIV_LENGTH_ATS 96 /* New specification with ATS field */
|
D | card_dev.c | 431 * When we receive a DDCB execution request with the ATS bits set to 589 } else { /* setup DDCB for ATS architecture */ in do_flash_update() 602 req->ats = 0x4ULL << 44; in do_flash_update() 711 } else { /* setup DDCB for ATS architecture */ in do_flash_read() 720 cmd->ats = 0x5ULL << 44; in do_flash_read() 878 ats_flags = ATS_GET_FLAGS(cmd->ats, asiv_offs); in ddcb_cmd_fixups()
|
D | card_ddcb.c | 849 * ATS field, which was introduced late. If the ATS field is in __genwqe_enqueue_ddcb() 851 * the ATS field is copied too, the code should do exactly in __genwqe_enqueue_ddcb() 852 * what it did before, but I wanted to make copying of the ATS in __genwqe_enqueue_ddcb() 860 pddcb->n.ats_64 = cpu_to_be64(req->cmd.ats); in __genwqe_enqueue_ddcb()
|
/Linux-v5.15/Documentation/vm/ |
D | mmu_notifier.rst | 11 thing like ATS/PASID to get the IOMMU to walk the CPU page table to access a 33 Consider the following scenario (device use a feature similar to ATS/PASID):
|
/Linux-v5.15/drivers/iommu/amd/ |
D | iommu.c | 16 #include <linux/pci-ats.h> 1186 qdep = dev_data->ats.qdep; in device_flush_iotlb() 1227 if (dev_data->ats.enabled) in device_flush_dte() 1260 if (!dev_data->ats.enabled) in __domain_flush_pages() 1437 bool ats, bool ppr) in set_dte_entry() argument 1452 if (ats) in set_dte_entry() 1520 bool ats; in do_attach() local 1523 ats = dev_data->ats.enabled; in do_attach() 1535 ats, dev_data->iommu_v2); in do_attach() 1645 dev_data->ats.enabled = true; in attach_device() [all …]
|
D | amd_iommu_types.h | 693 } ats; /* ATS state */ member
|
/Linux-v5.15/Documentation/devicetree/bindings/iommu/ |
D | arm,smmu-v3.yaml | 16 and event queues and adding support for the ATS and PRI components of
|
/Linux-v5.15/drivers/gpu/drm/radeon/ |
D | btc_dpm.c | 1705 pi->rlp = eg_pi->ats[idx].rlp; in btc_set_at_for_uvd() 1706 pi->rmp = eg_pi->ats[idx].rmp; in btc_set_at_for_uvd() 1707 pi->lhp = eg_pi->ats[idx].lhp; in btc_set_at_for_uvd() 1708 pi->lmp = eg_pi->ats[idx].lmp; in btc_set_at_for_uvd() 2621 eg_pi->ats[0].rlp = RV770_RLP_DFLT; in btc_dpm_init() 2622 eg_pi->ats[0].rmp = RV770_RMP_DFLT; in btc_dpm_init() 2623 eg_pi->ats[0].lhp = RV770_LHP_DFLT; in btc_dpm_init() 2624 eg_pi->ats[0].lmp = RV770_LMP_DFLT; in btc_dpm_init() 2626 eg_pi->ats[1].rlp = BTC_RLP_UVD_DFLT; in btc_dpm_init() 2627 eg_pi->ats[1].rmp = BTC_RMP_UVD_DFLT; in btc_dpm_init() [all …]
|
D | cypress_dpm.h | 88 struct at ats[2]; member
|
D | ni_dpm.c | 4118 eg_pi->ats[0].rlp = RV770_RLP_DFLT; in ni_dpm_init() 4119 eg_pi->ats[0].rmp = RV770_RMP_DFLT; in ni_dpm_init() 4120 eg_pi->ats[0].lhp = RV770_LHP_DFLT; in ni_dpm_init() 4121 eg_pi->ats[0].lmp = RV770_LMP_DFLT; in ni_dpm_init() 4123 eg_pi->ats[1].rlp = BTC_RLP_UVD_DFLT; in ni_dpm_init() 4124 eg_pi->ats[1].rmp = BTC_RMP_UVD_DFLT; in ni_dpm_init() 4125 eg_pi->ats[1].lhp = BTC_LHP_UVD_DFLT; in ni_dpm_init() 4126 eg_pi->ats[1].lmp = BTC_LMP_UVD_DFLT; in ni_dpm_init()
|
/Linux-v5.15/sound/soc/codecs/ |
D | ak4458.c | 516 int ats; in ak4458_set_dai_mute() local 521 ats = (reg & AK4458_ATS_MASK) >> AK4458_ATS_SHIFT; in ak4458_set_dai_mute() 523 ndt = att_speed[ats] / (nfs / 1000); in ak4458_set_dai_mute()
|
/Linux-v5.15/arch/arm/boot/dts/ |
D | sun7i-a20-pcduino3-nano.dts | 2 * Copyright 2015-2020 Adam Sampson <ats@offog.org>
|
/Linux-v5.15/include/linux/ |
D | amd-iommu.h | 125 #define AMD_IOMMU_DEVICE_FLAG_ATS_SUP 0x1 /* ATS feature supported */
|
/Linux-v5.15/drivers/iommu/arm/arm-smmu-v3/ |
D | arm-smmu-v3.c | 28 #include <linux/pci-ats.h> 1707 * ATS and PASID: in arm_smmu_atc_inv_to_cmd() 1735 * In an ATS Invalidate Request, the address must be aligned on the in arm_smmu_atc_inv_to_cmd() 1802 * ATS was enabled at the PCI device before completion of the TLBI. in arm_smmu_atc_inv_domain() 2281 /* Don't enable ATS at the endpoint if it's not enabled in the STE */ in arm_smmu_enable_ats() 2292 dev_err(master->dev, "Failed to enable ATS (STU %zu)\n", stu); in arm_smmu_enable_ats() 2304 * Ensure ATS is disabled at the endpoint before we issue the in arm_smmu_disable_ats() 2658 * Note that PASID must be enabled before, and disabled after ATS: in arm_smmu_probe_device() 2659 * PCI Express Base 4.0r1.0 - 10.5.1.3 ATS Control Register in arm_smmu_probe_device() 3399 dev_err(smmu->dev, "failed to enable ATS check\n"); in arm_smmu_device_reset()
|
/Linux-v5.15/drivers/iommu/intel/ |
D | svm.c | 16 #include <linux/pci-ats.h> 906 * PCI ATS spec. in handle_bad_prq_event() 1176 * additional VT-d requirement beyond PCI ATS spec. in intel_svm_page_response()
|
/Linux-v5.15/drivers/gpu/drm/amd/amdkfd/ |
D | kfd_iommu.c | 83 "error required iommu flags ats %i, pri %i, pasid %i\n", in kfd_iommu_device_init()
|