Arm SMMU updates for 5.13
- SMMUv3: * Drop vestigial PREFETCH_ADDR support * Elide TLB sync logic for empty gather * Fix "Service Failure Mode" handling - SMMUv2: * New Qualcomm compatible string -----BEGIN PGP SIGNATURE----- iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmBu2/0QHHdpbGxAa2Vy bmVsLm9yZwAKCRC3rHDchMFjNEnAB/4xUqu08yiy/VXI6UUj/YMDkH73msYvlIBP 6iGw3H+8Tu+DcCdrmmI2YwIT6KP71DPxFQRcR/jlwrFFxoAUybusJy3SNMjDrrNZ lfuQc9INOvkLgc0qS/jJQiXKcCXtksqeoy6cL/boo9Xyw5sjcLk8E+Sb3I+YLmbU Qnk8bvxFjqeGnwoCq4nb+rAaxqP7RT2b5KQOMdZ9phhSL5UmX1Jr8OTgz6L1kY9q dqu15DN/HiEaAeKXfkv+DPcM1TvzsfHk5NWH/8Qk1v7hwZ43GVruTbGBWMEQ36O4 /TDF0Cs7WamtkIYRSQlfxNXZY9i+FInFjqgvg+Jaj2JLiA0xtxTO =88+h -----END PGP SIGNATURE----- Merge tag 'arm-smmu-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu Arm SMMU updates for 5.13 - SMMUv3: * Drop vestigial PREFETCH_ADDR support * Elide TLB sync logic for empty gather * Fix "Service Failure Mode" handling - SMMUv2: * New Qualcomm compatible string
This commit is contained in:
commit
fe99782702
@ -34,6 +34,7 @@ properties:
|
||||
items:
|
||||
- enum:
|
||||
- qcom,sc7180-smmu-500
|
||||
- qcom,sc7280-smmu-500
|
||||
- qcom,sc8180x-smmu-500
|
||||
- qcom,sdm845-smmu-500
|
||||
- qcom,sm8150-smmu-500
|
||||
|
@ -245,8 +245,6 @@ static int arm_smmu_cmdq_build_cmd(u64 *cmd, struct arm_smmu_cmdq_ent *ent)
|
||||
break;
|
||||
case CMDQ_OP_PREFETCH_CFG:
|
||||
cmd[0] |= FIELD_PREP(CMDQ_PREFETCH_0_SID, ent->prefetch.sid);
|
||||
cmd[1] |= FIELD_PREP(CMDQ_PREFETCH_1_SIZE, ent->prefetch.size);
|
||||
cmd[1] |= ent->prefetch.addr & CMDQ_PREFETCH_1_ADDR_MASK;
|
||||
break;
|
||||
case CMDQ_OP_CFGI_CD:
|
||||
cmd[0] |= FIELD_PREP(CMDQ_CFGI_0_SSID, ent->cfgi.ssid);
|
||||
@ -2305,6 +2303,9 @@ static void arm_smmu_iotlb_sync(struct iommu_domain *domain,
|
||||
{
|
||||
struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain);
|
||||
|
||||
if (!gather->pgsize)
|
||||
return;
|
||||
|
||||
arm_smmu_tlb_inv_range_domain(gather->start,
|
||||
gather->end - gather->start + 1,
|
||||
gather->pgsize, true, smmu_domain);
|
||||
|
@ -115,7 +115,7 @@
|
||||
#define GERROR_PRIQ_ABT_ERR (1 << 3)
|
||||
#define GERROR_EVTQ_ABT_ERR (1 << 2)
|
||||
#define GERROR_CMDQ_ERR (1 << 0)
|
||||
#define GERROR_ERR_MASK 0xfd
|
||||
#define GERROR_ERR_MASK 0x1fd
|
||||
|
||||
#define ARM_SMMU_GERRORN 0x64
|
||||
|
||||
@ -410,8 +410,6 @@ struct arm_smmu_cmdq_ent {
|
||||
#define CMDQ_OP_PREFETCH_CFG 0x1
|
||||
struct {
|
||||
u32 sid;
|
||||
u8 size;
|
||||
u64 addr;
|
||||
} prefetch;
|
||||
|
||||
#define CMDQ_OP_CFGI_STE 0x3
|
||||
|
Loading…
Reference in New Issue
Block a user