Re: [Patch] Enable AHCI on certain ich chipsets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

Joerg Dorchain wrote:

During resume from suspend to ram, the kernel pci layer restores
the registers for the SATA controller once, then says okay, and
sets dev->state_saved = false. However, since the restore goes
>from highest address (the BARs [base address registers]) to
lowest register, some of the higher registers are set as RO
because according to the lower registers controller is in PIIX
mode.  This patch introduces a workaround for
this problem, hacking around the PCI API by setting pdev->state_saved = true
before we do the restore.

This only describes drivers/ata/ahci.c change.

Well, the functionality of the patch to quirks.c is described in
the comments on the top of it. Should that be repeated?

   Yes, certainly.

And looks like it
should be in a patch of its own...

I need both parts in order to use the AHCI driver and having
suspend/resume work, hence they are together.

They are solving two different issues, as far as I understand, hence should be in two different patches. One issue per patch is the basic rule.

Bye,

Joerg

Signed-Off-By: joerg Dorchain<joerg@xxxxxxxxxxxx>

--- linux/drivers/pci/quirks.c.orig	2011-02-04 18:29:03.000000000 +0100
+++ linux/drivers/pci/quirks.c	2011-02-11 13:44:12.000000000 +0100
@@ -2684,6 +2684,74 @@
[...]
+static void ich789_force_ahci_mode(struct pci_dev *pdev)
+{
+	u8 amrval;
+	u8 sclkgc;
+	const int ich89_address_map_reg = 0x90;
+	const int ich89_sata_clock_gen_config_reg = 0x9c;
+
+	if (!ich_force_ahci_mode)
+		return;
+
+	/* ICH8 datasheet section 12.1.33 */
+	if (!pci_bus_read_config_byte(pdev->bus, PCI_DEVFN(PCI_SLOT(pdev->devfn), 2),
+        	ich89_address_map_reg, &amrval)) {

Still spaces at the start of line... run your patches thru scripts/checkpatch.pl -- it notices such style violations.

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux