Skip to content

Commit 6576916

Browse files
andy-shevwsakernel
authored andcommitted
i2c: designware-pci: Group AMD NAVI quirk parts together
The code is ogranized in a way that all related parts to the certain platform quirk go together. This is not the case for AMD NAVI. Shuffle code to make it happen. While at it, drop the frequency definition and use hard coded value as it's done for other platforms and add a comment to the PCI ID list. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Wolfram Sang <wsa@kernel.org>
1 parent 3616936 commit 6576916

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

drivers/i2c/busses/i2c-designware-pcidrv.c

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#include "i2c-ccgx-ucsi.h"
2828

2929
#define DRIVER_NAME "i2c-designware-pci"
30-
#define AMD_CLK_RATE_HZ 100000
3130

3231
enum dw_pci_ctl_id_t {
3332
medfield,
@@ -100,11 +99,6 @@ static u32 mfld_get_clk_rate_khz(struct dw_i2c_dev *dev)
10099
return 25000;
101100
}
102101

103-
static u32 navi_amd_get_clk_rate_khz(struct dw_i2c_dev *dev)
104-
{
105-
return AMD_CLK_RATE_HZ;
106-
}
107-
108102
static int mfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c)
109103
{
110104
struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev);
@@ -126,15 +120,6 @@ static int mfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c)
126120
return -ENODEV;
127121
}
128122

129-
static int navi_amd_setup(struct pci_dev *pdev, struct dw_pci_controller *c)
130-
{
131-
struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev);
132-
133-
dev->flags |= MODEL_AMD_NAVI_GPU;
134-
dev->timings.bus_freq_hz = I2C_MAX_STANDARD_MODE_FREQ;
135-
return 0;
136-
}
137-
138123
static int mrfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c)
139124
{
140125
/*
@@ -159,6 +144,20 @@ static u32 ehl_get_clk_rate_khz(struct dw_i2c_dev *dev)
159144
return 100000;
160145
}
161146

147+
static u32 navi_amd_get_clk_rate_khz(struct dw_i2c_dev *dev)
148+
{
149+
return 100000;
150+
}
151+
152+
static int navi_amd_setup(struct pci_dev *pdev, struct dw_pci_controller *c)
153+
{
154+
struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev);
155+
156+
dev->flags |= MODEL_AMD_NAVI_GPU;
157+
dev->timings.bus_freq_hz = I2C_MAX_STANDARD_MODE_FREQ;
158+
return 0;
159+
}
160+
162161
static struct dw_pci_controller dw_pci_controllers[] = {
163162
[medfield] = {
164163
.bus_num = -1,
@@ -392,6 +391,7 @@ static const struct pci_device_id i2_designware_pci_ids[] = {
392391
{ PCI_VDEVICE(INTEL, 0x4bbe), elkhartlake },
393392
{ PCI_VDEVICE(INTEL, 0x4bbf), elkhartlake },
394393
{ PCI_VDEVICE(INTEL, 0x4bc0), elkhartlake },
394+
/* AMD NAVI */
395395
{ PCI_VDEVICE(ATI, 0x7314), navi_amd },
396396
{ PCI_VDEVICE(ATI, 0x73a4), navi_amd },
397397
{ PCI_VDEVICE(ATI, 0x73e4), navi_amd },

0 commit comments

Comments
 (0)