Home
last modified time | relevance | path

Searched full:ats (Results 1 – 25 of 56) sorted by relevance

123

/Linux-v5.15/drivers/pci/
Dats.c13 #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
DMakefile21 obj-$(CONFIG_PCI_ATS) += ats.o
/Linux-v5.15/Documentation/x86/
Dsva.rst17 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/
Dgenwqe_card.h272 * 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/
Dsysfs-driver-dma-idxd213 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/
Denh_desc.c385 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()
Dnorm_desc.c248 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
Ddwxgmac2_descs.c85 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
Ddwmac4_descs.c228 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/
Dcard_ddcb.h39 #define ASIV_LENGTH 104 /* Old specification without ATS field */
40 #define ASIV_LENGTH_ATS 96 /* New specification with ATS field */
Dcard_dev.c431 * 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()
Dcard_ddcb.c849 * 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/
Dmmu_notifier.rst11 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/
Diommu.c16 #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 …]
Damd_iommu_types.h693 } ats; /* ATS state */ member
/Linux-v5.15/Documentation/devicetree/bindings/iommu/
Darm,smmu-v3.yaml16 and event queues and adding support for the ATS and PRI components of
/Linux-v5.15/drivers/gpu/drm/radeon/
Dbtc_dpm.c1705 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 …]
Dcypress_dpm.h88 struct at ats[2]; member
Dni_dpm.c4118 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/
Dak4458.c516 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/
Dsun7i-a20-pcduino3-nano.dts2 * Copyright 2015-2020 Adam Sampson <ats@offog.org>
/Linux-v5.15/include/linux/
Damd-iommu.h125 #define AMD_IOMMU_DEVICE_FLAG_ATS_SUP 0x1 /* ATS feature supported */
/Linux-v5.15/drivers/iommu/arm/arm-smmu-v3/
Darm-smmu-v3.c28 #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/
Dsvm.c16 #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/
Dkfd_iommu.c83 "error required iommu flags ats %i, pri %i, pasid %i\n", in kfd_iommu_device_init()

123