[PATCH v2] Enable DMA for Ricoh reader on Lenovo laptops

Vasily Khoruzhick
2010-02-02T16:18:39Z

[-- Attachment #1.1: Type: Text/Plain, Size: 410 bytes --]

В сообщении от 1 февраля 2010 11:10:53 автор Vasily Khoruzhick написал:
> Ricoh SD/MMC card reader on Lenovo laptops (3000 n100, 3000 n200) doesn't
> announce DMA capability, however it supports DMA. Without this patch audio
> clicks and cursor is jerky during card access.

It seems that Ricoh R5C822 card reader on mentioned laptops need one more
quirk. Here's updated patch.

[-- Attachment #1.2: 0001-Enable-DMA-for-Ricoh-reader-on-Lenovo-laptops.patch --]
[-- Type: text/x-patch, Size: 1219 bytes --]

From 3b93e891e0e37afefc1f1eca461dcfc3ded879f9 Mon Sep 17 00:00:00 2001
From: Vasily Khoruzhick <anarsoul@gmail.com>
Date: Tue, 2 Feb 2010 18:12:54 +0200
Subject: [PATCH v2] Enable DMA for Ricoh reader on Lenovo laptops

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
---
drivers/mmc/host/sdhci-pci.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
index 5c3a176..d49e5ff 100644
--- a/drivers/mmc/host/sdhci-pci.c
+++ b/drivers/mmc/host/sdhci-pci.c
@@ -80,13 +80,17 @@ struct sdhci_pci_chip {

static int ricoh_probe(struct sdhci_pci_chip *chip)
{
- if (chip->pdev->subsystem_vendor == PCI_VENDOR_ID_IBM)
+ if (chip->pdev->subsystem_vendor == PCI_VENDOR_ID_IBM ||
+ chip->pdev->subsystem_vendor == PCI_VENDOR_ID_LENOVO)
chip->quirks |= SDHCI_QUIRK_CLOCK_BEFORE_RESET;

if (chip->pdev->subsystem_vendor == PCI_VENDOR_ID_SAMSUNG ||
chip->pdev->subsystem_vendor == PCI_VENDOR_ID_SONY)
chip->quirks |= SDHCI_QUIRK_NO_CARD_NO_RESET;

+ if (chip->pdev->subsystem_vendor == PCI_VENDOR_ID_LENOVO)
+ chip->quirks |= SDHCI_QUIRK_FORCE_DMA;
+
return 0;
}

--
1.6.6.1