Skip to content

Commit b0988ac

Browse files
ssuthiku-amdjoergroedel
authored andcommitted
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 <[email protected]> Signed-off-by: Suravee Suthikulpanit <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Joerg Roedel <[email protected]>
1 parent 457da57 commit b0988ac

File tree

2 files changed

+3
-48
lines changed

2 files changed

+3
-48
lines changed

drivers/iommu/amd/amd_iommu.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ irqreturn_t amd_iommu_int_thread_evtlog(int irq, void *data);
1616
irqreturn_t amd_iommu_int_thread_pprlog(int irq, void *data);
1717
irqreturn_t amd_iommu_int_thread_galog(int irq, void *data);
1818
irqreturn_t amd_iommu_int_handler(int irq, void *data);
19-
void amd_iommu_apply_erratum_63(struct amd_iommu *iommu, u16 devid);
2019
void amd_iommu_restart_log(struct amd_iommu *iommu, const char *evt_type,
2120
u8 cntrl_intr, u8 cntrl_log,
2221
u32 status_run_mask, u32 status_overflow_mask);

drivers/iommu/amd/init.c

Lines changed: 3 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -992,38 +992,6 @@ static void set_dte_bit(struct dev_table_entry *dte, u8 bit)
992992
dte->data[i] |= (1UL << _bit);
993993
}
994994

995-
static void __set_dev_entry_bit(struct dev_table_entry *dev_table,
996-
u16 devid, u8 bit)
997-
{
998-
int i = (bit >> 6) & 0x03;
999-
int _bit = bit & 0x3f;
1000-
1001-
dev_table[devid].data[i] |= (1UL << _bit);
1002-
}
1003-
1004-
static void set_dev_entry_bit(struct amd_iommu *iommu, u16 devid, u8 bit)
1005-
{
1006-
struct dev_table_entry *dev_table = get_dev_table(iommu);
1007-
1008-
return __set_dev_entry_bit(dev_table, devid, bit);
1009-
}
1010-
1011-
static int __get_dev_entry_bit(struct dev_table_entry *dev_table,
1012-
u16 devid, u8 bit)
1013-
{
1014-
int i = (bit >> 6) & 0x03;
1015-
int _bit = bit & 0x3f;
1016-
1017-
return (dev_table[devid].data[i] & (1UL << _bit)) >> _bit;
1018-
}
1019-
1020-
static int get_dev_entry_bit(struct amd_iommu *iommu, u16 devid, u8 bit)
1021-
{
1022-
struct dev_table_entry *dev_table = get_dev_table(iommu);
1023-
1024-
return __get_dev_entry_bit(dev_table, devid, bit);
1025-
}
1026-
1027995
static bool __copy_device_table(struct amd_iommu *iommu)
1028996
{
1029997
u64 int_ctl, int_tab_len, entry = 0;
@@ -1179,17 +1147,6 @@ static bool search_ivhd_dte_flags(u16 segid, u16 first, u16 last)
11791147
return false;
11801148
}
11811149

1182-
void amd_iommu_apply_erratum_63(struct amd_iommu *iommu, u16 devid)
1183-
{
1184-
int sysmgt;
1185-
1186-
sysmgt = get_dev_entry_bit(iommu, devid, DEV_ENTRY_SYSMGT1) |
1187-
(get_dev_entry_bit(iommu, devid, DEV_ENTRY_SYSMGT2) << 1);
1188-
1189-
if (sysmgt == 0x01)
1190-
set_dev_entry_bit(iommu, devid, DEV_ENTRY_IW);
1191-
}
1192-
11931150
/*
11941151
* This function takes the device specific flags read from the ACPI
11951152
* 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)
26372594
return;
26382595

26392596
for (devid = 0; devid <= pci_seg->last_bdf; ++devid) {
2640-
__set_dev_entry_bit(dev_table, devid, DEV_ENTRY_VALID);
2597+
set_dte_bit(&dev_table[devid], DEV_ENTRY_VALID);
26412598
if (!amd_iommu_snp_en)
2642-
__set_dev_entry_bit(dev_table, devid, DEV_ENTRY_TRANSLATION);
2599+
set_dte_bit(&dev_table[devid], DEV_ENTRY_TRANSLATION);
26432600
}
26442601
}
26452602

@@ -2667,8 +2624,7 @@ static void init_device_table(void)
26672624

26682625
for_each_pci_segment(pci_seg) {
26692626
for (devid = 0; devid <= pci_seg->last_bdf; ++devid)
2670-
__set_dev_entry_bit(pci_seg->dev_table,
2671-
devid, DEV_ENTRY_IRQ_TBL_EN);
2627+
set_dte_bit(&pci_seg->dev_table[devid], DEV_ENTRY_IRQ_TBL_EN);
26722628
}
26732629
}
26742630

0 commit comments

Comments
 (0)