drop the baytrail SDIO quirk patch which seems unneeded
This commit is contained in:
parent
0936a7721a
commit
2f81b0e16d
@ -1,87 +0,0 @@
|
||||
diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
|
||||
index 69e29f4..d79c6d7 100644
|
||||
--- a/drivers/acpi/acpi_lpss.c
|
||||
+++ b/drivers/acpi/acpi_lpss.c
|
||||
@@ -180,6 +180,7 @@ static const struct acpi_device_id acpi_lpss_device_ids[] = {
|
||||
{ "80860F14", (unsigned long)&byt_sdio_dev_desc },
|
||||
{ "80860F41", (unsigned long)&byt_i2c_dev_desc },
|
||||
{ "INT33B2", },
|
||||
+ { "INT33FC", },
|
||||
|
||||
{ "INT3430", (unsigned long)&lpt_dev_desc },
|
||||
{ "INT3431", (unsigned long)&lpt_dev_desc },
|
||||
diff --git a/drivers/mmc/host/sdhci-acpi.c b/drivers/mmc/host/sdhci-acpi.c
|
||||
index ebb3f39..ebed2a0 100644
|
||||
--- a/drivers/mmc/host/sdhci-acpi.c
|
||||
+++ b/drivers/mmc/host/sdhci-acpi.c
|
||||
@@ -123,7 +123,7 @@ static const struct sdhci_acpi_slot sdhci_acpi_slot_int_emmc = {
|
||||
|
||||
static const struct sdhci_acpi_slot sdhci_acpi_slot_int_sdio = {
|
||||
.quirks = SDHCI_QUIRK_BROKEN_CARD_DETECTION,
|
||||
- .quirks2 = SDHCI_QUIRK2_HOST_OFF_CARD_ON,
|
||||
+ .quirks2 = SDHCI_QUIRK2_HOST_OFF_CARD_ON | SDHCI_QUIRK2_BROKEN_POWER_ENABLE,
|
||||
.caps = MMC_CAP_NONREMOVABLE | MMC_CAP_POWER_OFF_CARD,
|
||||
.flags = SDHCI_ACPI_RUNTIME_PM,
|
||||
.pm_caps = MMC_PM_KEEP_POWER,
|
||||
diff --git a/drivers/pinctrl/pinctrl-baytrail.c b/drivers/pinctrl/pinctrl-baytrail.c
|
||||
index 6e8301f..6c8eda2 100644
|
||||
--- a/drivers/pinctrl/pinctrl-baytrail.c
|
||||
+++ b/drivers/pinctrl/pinctrl-baytrail.c
|
||||
@@ -151,9 +151,9 @@ static void __iomem *byt_gpio_reg(struct gpio_chip *chip, unsigned offset,
|
||||
|
||||
static bool is_special_pin(struct byt_gpio *vg, unsigned offset)
|
||||
{
|
||||
- /* SCORE pin 92-93 */
|
||||
+ /* SCORE pin 92-93; 41 for SDIO pwr_en bug */
|
||||
if (!strcmp(vg->range->name, BYT_SCORE_ACPI_UID) &&
|
||||
- offset >= 92 && offset <= 93)
|
||||
+ ((offset >= 92 && offset <= 93) || (offset == 41)))
|
||||
return true;
|
||||
|
||||
/* SUS pin 11-21 */
|
||||
@@ -176,6 +176,10 @@ static int byt_gpio_request(struct gpio_chip *chip, unsigned offset)
|
||||
* But, some pins may have func pin mux 001 represents
|
||||
* GPIO function. Only allow user to export pin with
|
||||
* func pin mux preset as GPIO function by BIOS/FW.
|
||||
+ *
|
||||
+ * We do make an exception, however, for pin 41 which
|
||||
+ * is needed in order to power up the SDIO bus (as per
|
||||
+ * the intel erratum)
|
||||
*/
|
||||
value = readl(reg) & BYT_PIN_MUX;
|
||||
special = is_special_pin(vg, offset);
|
||||
@@ -185,6 +189,13 @@ static int byt_gpio_request(struct gpio_chip *chip, unsigned offset)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
+ /* This is an attempt to stop the SDHCI drivers from requesting IRQ lines
|
||||
+ * through the pinctrl driver. This may be a quirk in the hardware or it
|
||||
+ * may be a bug here in the IRQ handling
|
||||
+ */
|
||||
+ if (offset == 38)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
pm_runtime_get(&vg->pdev->dev);
|
||||
|
||||
return 0;
|
||||
@@ -572,6 +583,7 @@ static const struct dev_pm_ops byt_gpio_pm_ops = {
|
||||
|
||||
static const struct acpi_device_id byt_gpio_acpi_match[] = {
|
||||
{ "INT33B2", 0 },
|
||||
+ { "INT33FC", 0 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(acpi, byt_gpio_acpi_match);
|
||||
diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h
|
||||
index 7be12b8..3a7fd87 100644
|
||||
--- a/include/linux/mmc/sdhci.h
|
||||
+++ b/include/linux/mmc/sdhci.h
|
||||
@@ -102,6 +102,8 @@ struct sdhci_host {
|
||||
#define SDHCI_QUIRK2_BROKEN_HS200 (1<<6)
|
||||
/* Controller does not support DDR50 */
|
||||
#define SDHCI_QUIRK2_BROKEN_DDR50 (1<<7)
|
||||
+/* Controller cannot initialize power (must use GPIO instead) */
|
||||
+#define SDHCI_QUIRK2_BROKEN_POWER_ENABLE (1<<8)
|
||||
|
||||
int irq; /* Device IRQ */
|
||||
void __iomem *ioaddr; /* Mapped address */
|
@ -631,10 +631,6 @@ Patch30000: kernel-arm64.patch
|
||||
# http://www.spinics.net/lists/linux-i2c/msg15201.html
|
||||
Patch31010: 0001-ACPI-temporary-dep-solution-for-battery-support.patch
|
||||
|
||||
# Test fix for SDIO device enumeration from Doug Johnson
|
||||
# https://bugzilla.kernel.org/show_bug.cgi?id=67921
|
||||
Patch31011: baytrail_gpio_quirk_v3.patch
|
||||
|
||||
# Add SDIO ID for the V8P wireless adapter to ath6kl driver
|
||||
Patch31200: support-Dell-OEM-chipset-found-in-Venue-8-Pro-SDIO-I.patch
|
||||
|
||||
@ -1379,9 +1375,6 @@ ApplyPatch kernel-arm64.patch -R
|
||||
|
||||
# AWB (BAYTRAIL) PATCH APPLICATIONS
|
||||
ApplyPatch 0001-ACPI-temporary-dep-solution-for-battery-support.patch
|
||||
# Doesn't apply cleanly to 3.16
|
||||
#ApplyPatch baytrail_gpio_quirk_v3.patch
|
||||
|
||||
ApplyPatch support-Dell-OEM-chipset-found-in-Venue-8-Pro-SDIO-I.patch
|
||||
|
||||
# END OF AWB (BAYTRAIL) PATCH APPLICATIONS
|
||||
|
Loading…
Reference in New Issue
Block a user