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:
Joerg Roedel 2021-04-08 17:09:33 +02:00
commit fe99782702
3 changed files with 5 additions and 5 deletions

View File

@ -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

View File

@ -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);

View File

@ -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