mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-05-26 11:40:24 +02:00
iommu/amd: Remove amd_iommu_apply_erratum_63()
Also replace __set_dev_entry_bit() with set_dte_bit() and remove unused helper functions. Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> Link: https://lore.kernel.org/r/20241118054937.5203-10-suravee.suthikulpanit@amd.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
committed by
Joerg Roedel
parent
457da57646
commit
b0988acc94
@@ -16,7 +16,6 @@ irqreturn_t amd_iommu_int_thread_evtlog(int irq, void *data);
|
||||
irqreturn_t amd_iommu_int_thread_pprlog(int irq, void *data);
|
||||
irqreturn_t amd_iommu_int_thread_galog(int irq, void *data);
|
||||
irqreturn_t amd_iommu_int_handler(int irq, void *data);
|
||||
void amd_iommu_apply_erratum_63(struct amd_iommu *iommu, u16 devid);
|
||||
void amd_iommu_restart_log(struct amd_iommu *iommu, const char *evt_type,
|
||||
u8 cntrl_intr, u8 cntrl_log,
|
||||
u32 status_run_mask, u32 status_overflow_mask);
|
||||
|
||||
@@ -992,38 +992,6 @@ static void set_dte_bit(struct dev_table_entry *dte, u8 bit)
|
||||
dte->data[i] |= (1UL << _bit);
|
||||
}
|
||||
|
||||
static void __set_dev_entry_bit(struct dev_table_entry *dev_table,
|
||||
u16 devid, u8 bit)
|
||||
{
|
||||
int i = (bit >> 6) & 0x03;
|
||||
int _bit = bit & 0x3f;
|
||||
|
||||
dev_table[devid].data[i] |= (1UL << _bit);
|
||||
}
|
||||
|
||||
static void set_dev_entry_bit(struct amd_iommu *iommu, u16 devid, u8 bit)
|
||||
{
|
||||
struct dev_table_entry *dev_table = get_dev_table(iommu);
|
||||
|
||||
return __set_dev_entry_bit(dev_table, devid, bit);
|
||||
}
|
||||
|
||||
static int __get_dev_entry_bit(struct dev_table_entry *dev_table,
|
||||
u16 devid, u8 bit)
|
||||
{
|
||||
int i = (bit >> 6) & 0x03;
|
||||
int _bit = bit & 0x3f;
|
||||
|
||||
return (dev_table[devid].data[i] & (1UL << _bit)) >> _bit;
|
||||
}
|
||||
|
||||
static int get_dev_entry_bit(struct amd_iommu *iommu, u16 devid, u8 bit)
|
||||
{
|
||||
struct dev_table_entry *dev_table = get_dev_table(iommu);
|
||||
|
||||
return __get_dev_entry_bit(dev_table, devid, bit);
|
||||
}
|
||||
|
||||
static bool __copy_device_table(struct amd_iommu *iommu)
|
||||
{
|
||||
u64 int_ctl, int_tab_len, entry = 0;
|
||||
@@ -1179,17 +1147,6 @@ static bool search_ivhd_dte_flags(u16 segid, u16 first, u16 last)
|
||||
return false;
|
||||
}
|
||||
|
||||
void amd_iommu_apply_erratum_63(struct amd_iommu *iommu, u16 devid)
|
||||
{
|
||||
int sysmgt;
|
||||
|
||||
sysmgt = get_dev_entry_bit(iommu, devid, DEV_ENTRY_SYSMGT1) |
|
||||
(get_dev_entry_bit(iommu, devid, DEV_ENTRY_SYSMGT2) << 1);
|
||||
|
||||
if (sysmgt == 0x01)
|
||||
set_dev_entry_bit(iommu, devid, DEV_ENTRY_IW);
|
||||
}
|
||||
|
||||
/*
|
||||
* This function takes the device specific flags read from the ACPI
|
||||
* table and sets up the device table entry with that information
|
||||
@@ -2637,9 +2594,9 @@ static void init_device_table_dma(struct amd_iommu_pci_seg *pci_seg)
|
||||
return;
|
||||
|
||||
for (devid = 0; devid <= pci_seg->last_bdf; ++devid) {
|
||||
__set_dev_entry_bit(dev_table, devid, DEV_ENTRY_VALID);
|
||||
set_dte_bit(&dev_table[devid], DEV_ENTRY_VALID);
|
||||
if (!amd_iommu_snp_en)
|
||||
__set_dev_entry_bit(dev_table, devid, DEV_ENTRY_TRANSLATION);
|
||||
set_dte_bit(&dev_table[devid], DEV_ENTRY_TRANSLATION);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2667,8 +2624,7 @@ static void init_device_table(void)
|
||||
|
||||
for_each_pci_segment(pci_seg) {
|
||||
for (devid = 0; devid <= pci_seg->last_bdf; ++devid)
|
||||
__set_dev_entry_bit(pci_seg->dev_table,
|
||||
devid, DEV_ENTRY_IRQ_TBL_EN);
|
||||
set_dte_bit(&pci_seg->dev_table[devid], DEV_ENTRY_IRQ_TBL_EN);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user