lkml.org 
[lkml]   [2020]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCHv8 3/8] iommu/arm-smmu: Move non-strict mode to use domain_attr_io_pgtbl_cfg
    Date
    Now that we have a struct domain_attr_io_pgtbl_cfg with quirks,
    use that for non_strict mode as well thereby removing the need
    for more members of arm_smmu_domain in the future.

    Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
    ---
    drivers/iommu/arm/arm-smmu/arm-smmu.c | 7 ++-----
    drivers/iommu/arm/arm-smmu/arm-smmu.h | 1 -
    2 files changed, 2 insertions(+), 6 deletions(-)

    diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.c b/drivers/iommu/arm/arm-smmu/arm-smmu.c
    index 7b05782738e2..5f066a1b7221 100644
    --- a/drivers/iommu/arm/arm-smmu/arm-smmu.c
    +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c
    @@ -786,9 +786,6 @@ static int arm_smmu_init_domain_context(struct iommu_domain *domain,
    goto out_clear_smmu;
    }

    - if (smmu_domain->non_strict)
    - pgtbl_cfg.quirks |= IO_PGTABLE_QUIRK_NON_STRICT;
    -
    if (smmu_domain->pgtbl_cfg.quirks)
    pgtbl_cfg.quirks |= smmu_domain->pgtbl_cfg.quirks;

    @@ -1527,7 +1524,7 @@ static int arm_smmu_domain_get_attr(struct iommu_domain *domain,
    case IOMMU_DOMAIN_DMA:
    switch (attr) {
    case DOMAIN_ATTR_DMA_USE_FLUSH_QUEUE:
    - *(int *)data = smmu_domain->non_strict;
    + *(int *)data = smmu_domain->pgtbl_cfg.quirks;
    return 0;
    default:
    return -ENODEV;
    @@ -1583,7 +1580,7 @@ static int arm_smmu_domain_set_attr(struct iommu_domain *domain,
    case IOMMU_DOMAIN_DMA:
    switch (attr) {
    case DOMAIN_ATTR_DMA_USE_FLUSH_QUEUE:
    - smmu_domain->non_strict = *(int *)data;
    + smmu_domain->pgtbl_cfg.quirks |= IO_PGTABLE_QUIRK_NON_STRICT;
    break;
    default:
    ret = -ENODEV;
    diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.h b/drivers/iommu/arm/arm-smmu/arm-smmu.h
    index 18fbed376afb..caae543ea077 100644
    --- a/drivers/iommu/arm/arm-smmu/arm-smmu.h
    +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.h
    @@ -368,7 +368,6 @@ struct arm_smmu_domain {
    const struct iommu_flush_ops *flush_ops;
    struct arm_smmu_cfg cfg;
    enum arm_smmu_domain_stage stage;
    - bool non_strict;
    struct mutex init_mutex; /* Protects smmu pointer */
    spinlock_t cb_lock; /* Serialises ATS1* ops and TLB syncs */
    struct iommu_domain domain;
    --
    QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
    of Code Aurora Forum, hosted by The Linux Foundation
    \
     
     \ /
      Last update: 2020-11-17 15:35    [W:3.077 / U:0.688 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site