On 4/4/25 21:38, Sean Christopherson wrote:
> Delete the amd_ir_data.prev_ga_tag field now that all usage is
> superfluous.
This can be moved much earlier (maybe even after patch 10 from a cursory
look), can't it? I'd do that to clarify what has been cleaned up at
which point.
Paolo
> Signed-off-by: Sean Christopherson <seanjc@google.com>
> ---
> arch/x86/kvm/svm/avic.c | 2 --
> drivers/iommu/amd/amd_iommu_types.h | 1 -
> drivers/iommu/amd/iommu.c | 10 ----------
> include/linux/amd-iommu.h | 1 -
> 4 files changed, 14 deletions(-)
>
> diff --git a/arch/x86/kvm/svm/avic.c b/arch/x86/kvm/svm/avic.c
> index 9024b9fbca53..7f0f6a9cd2e8 100644
> --- a/arch/x86/kvm/svm/avic.c
> +++ b/arch/x86/kvm/svm/avic.c
> @@ -943,9 +943,7 @@ int avic_pi_update_irte(struct kvm_kernel_irqfd *irqfd, struct kvm *kvm,
> /**
> * Here, pi is used to:
> * - Tell IOMMU to use legacy mode for this interrupt.
> - * - Retrieve ga_tag of prior interrupt remapping data.
> */
> - pi.prev_ga_tag = 0;
> pi.is_guest_mode = false;
> ret = irq_set_vcpu_affinity(host_irq, &pi);
> } else {
> diff --git a/drivers/iommu/amd/amd_iommu_types.h b/drivers/iommu/amd/amd_iommu_types.h
> index 23caea22f8dc..319a1b650b3b 100644
> --- a/drivers/iommu/amd/amd_iommu_types.h
> +++ b/drivers/iommu/amd/amd_iommu_types.h
> @@ -1060,7 +1060,6 @@ struct irq_2_irte {
> };
>
> struct amd_ir_data {
> - u32 cached_ga_tag;
> struct amd_iommu *iommu;
> struct irq_2_irte irq_2_irte;
> struct msi_msg msi_entry;
> diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
> index 635774642b89..3c40bc9980b7 100644
> --- a/drivers/iommu/amd/iommu.c
> +++ b/drivers/iommu/amd/iommu.c
> @@ -3858,23 +3858,13 @@ static int amd_ir_set_vcpu_affinity(struct irq_data *data, void *vcpu_info)
> ir_data->cfg = irqd_cfg(data);
> pi_data->ir_data = ir_data;
>
> - pi_data->prev_ga_tag = ir_data->cached_ga_tag;
> if (pi_data->is_guest_mode) {
> ir_data->ga_root_ptr = (vcpu_pi_info->pi_desc_addr >> 12);
> ir_data->ga_vector = vcpu_pi_info->vector;
> ir_data->ga_tag = pi_data->ga_tag;
> ret = amd_iommu_activate_guest_mode(ir_data);
> - if (!ret)
> - ir_data->cached_ga_tag = pi_data->ga_tag;
> } else {
> ret = amd_iommu_deactivate_guest_mode(ir_data);
> -
> - /*
> - * This communicates the ga_tag back to the caller
> - * so that it can do all the necessary clean up.
> - */
> - if (!ret)
> - ir_data->cached_ga_tag = 0;
> }
>
> return ret;
> diff --git a/include/linux/amd-iommu.h b/include/linux/amd-iommu.h
> index 4f433ef39188..deeefc92a5cf 100644
> --- a/include/linux/amd-iommu.h
> +++ b/include/linux/amd-iommu.h
> @@ -19,7 +19,6 @@ struct amd_iommu;
> */
> struct amd_iommu_pi_data {
> u32 ga_tag;
> - u32 prev_ga_tag;
> bool is_guest_mode;
> struct vcpu_data *vcpu_data;
> void *ir_data;