mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 02:04:19 +08:00
mmc: sdhci-pci: Change AMD SDHCI quirk application scope
Change this quirk to apply to AMD Carrizo platform. Signed-off-by: Wan ZongShun <Vincent.Wan@amd.com> Tested-by: Nath, Arindam <Arindam.Nath@amd.com> Tested-by: Ramesh, Ramya <Ramya.Ramesh@amd.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
bcb299947f
commit
b5e97d6e58
@ -724,14 +724,37 @@ static const struct sdhci_pci_fixes sdhci_rtsx = {
|
||||
.probe_slot = rtsx_probe_slot,
|
||||
};
|
||||
|
||||
/*AMD chipset generation*/
|
||||
enum amd_chipset_gen {
|
||||
AMD_CHIPSET_BEFORE_ML,
|
||||
AMD_CHIPSET_CZ,
|
||||
AMD_CHIPSET_NL,
|
||||
AMD_CHIPSET_UNKNOWN,
|
||||
};
|
||||
|
||||
static int amd_probe(struct sdhci_pci_chip *chip)
|
||||
{
|
||||
struct pci_dev *smbus_dev;
|
||||
enum amd_chipset_gen gen;
|
||||
|
||||
smbus_dev = pci_get_device(PCI_VENDOR_ID_AMD,
|
||||
PCI_DEVICE_ID_AMD_HUDSON2_SMBUS, NULL);
|
||||
if (smbus_dev) {
|
||||
gen = AMD_CHIPSET_BEFORE_ML;
|
||||
} else {
|
||||
smbus_dev = pci_get_device(PCI_VENDOR_ID_AMD,
|
||||
PCI_DEVICE_ID_AMD_KERNCZ_SMBUS, NULL);
|
||||
if (smbus_dev) {
|
||||
if (smbus_dev->revision < 0x51)
|
||||
gen = AMD_CHIPSET_CZ;
|
||||
else
|
||||
gen = AMD_CHIPSET_NL;
|
||||
} else {
|
||||
gen = AMD_CHIPSET_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
if (smbus_dev && (smbus_dev->revision < 0x51)) {
|
||||
if ((gen == AMD_CHIPSET_BEFORE_ML) || (gen == AMD_CHIPSET_CZ)) {
|
||||
chip->quirks2 |= SDHCI_QUIRK2_CLEAR_TRANSFERMODE_REG_BEFORE_CMD;
|
||||
chip->quirks2 |= SDHCI_QUIRK2_BROKEN_HS200;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user