Re : Re : sata_sil problems with SIL3512 controler on a ppc target

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

 



Hello,
I've tried to force this already with no changes in the behaviour (ie : timeout). Actually it's not applying the patch because the value is already correct (I've add some print code to check what was the readed value, and it was 0x10401554).

This is due to the "specific" method I use to run my 2.6 kernel (remember that I'm using an embedded device where a 2.4 kernel + initrd are in flash) :
I'm booting the 2.4 kernel (so It's applying the workaround in the register), then I use a kernel module that is loading my 2.6 kernel in RAM (+ the initrd) and attach a function to run this kernel in the reboot method (using register_reboot_notifier ()). Then when I'm rebooting, after shuting down all stuff, it loads my kernel instead of rebooting ...

The fact is that running the 2.4 kernel available from buffalo (with all needed patches for the platform) using the same loading method is working (I have a warning message telling that I don't have a correct PCI_CACHE_LINE_SIZE value : it should be 0 so it's forcing it to 0 with this message : "BUFFALO:it must be zero for PPC8241/8245" but it's working great). But doing the same (forcing pci cache to 0) in the 2.6 kernel doesn't help. Moreover, the sata_sil driver ask the pci_cache to be enabled ("cache line size not set.  Driver may not function").

What should I have instead of that ? :
SCSI device sda: drive cache: write back 
sda:<3>ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen Best regards,

Sylver

----- Message d'origine ----
De : Tejun Heo <htejun@xxxxxxxxx>
À : snatcher snatcher <snatcher93@xxxxxxxxxxxxxx>
Cc : linux-ide@xxxxxxxxxxxxxxx
Envoyé le : Mercredi, 15 Novembre 2006, 13h59mn 46s
Objet : Re: Re : sata_sil problems with SIL3512 controler on a ppc target

snatcher snatcher wrote:
> By checking the old 2.4.20 driver used for this device, I've found
> the following lines :
> 
> #ifdef CONFIG_BUFFALO_PLATFORM
 > writel(0x10401554, mmio_base + 0x14c);
> writel(0x10401554, mmio_base + 0x1cc);
 > #endif in the sil_init_one function (in sata_sil.c)...
> 
> After some google searching, I've found this message from this
> mailing list : http://www.spinics.net/lists/linux-ide/msg00047.html 
> => It says that for SiI 3114 contoler, we need to force write
> 0x10401554 instead of 0x10401555 in sfis_cfg (SATA FIS reception
> config register). By looking in the source code of the latest
> version, it looks like my controler (Sil 3512) is set to apply this
> workaround too, but according to my boot log, it's not applying it
> (It should write "Applying R_ERR on DMA / activate FIS errata fix"
> just after the error about the PCI cache). I'll add some traces to
> understand what's happening and I'll tell you ... Sylver

Please apply the attached patch and report what happens.

-- 
tejun

diff --git a/drivers/ata/sata_sil.c b/drivers/ata/sata_sil.c
index f844a1f..5c34f75 100644
--- a/drivers/ata/sata_sil.c
+++ b/drivers/ata/sata_sil.c
@@ -593,8 +593,6 @@ static void sil_init_controller(struct p
 
         for (i = 0, cnt = 0; i < n_ports; i++) {
             tmp = readl(mmio_base + sil_port[i].sfis_cfg);
-            if ((tmp & 0x3) != 0x01)
-                continue;
             if (!cnt)
                 dev_printk(KERN_INFO, &pdev->dev,
                        "Applying R_ERR on DMA activate "
diff --git a/include/linux/libata.h b/include/linux/libata.h





	
	
		
___________________________________________________________________________ 
Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! 
Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! Questions/Réponses 
http://fr.answers.yahoo.com
-
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