Re: HPMC bus timeout on C3600

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

 



On Thu, 25 Dec 2008 14:36:25 -0700
Grant Grundler <grundler@xxxxxxxxxxxxxxxx> wrote:

> > Anything else I can do/provide to troubleshoot this ?
> 
> Two things:
> o consider posting some of the original findings on linux-ide and see
> if anyone has tested this controller on PPC or IA64.  I'm looking for
> any other architecture that has "hard fail" behavior like parisc does.
>   Testing on any other Big Endian HW would be worth hearing about too.
> 
> o write a quick and dirty "hpmc_symbols" script as described above
> and run it on the HPMC you provided earlier.
> 
> Debugging this further wil probably require modifying the sata_sil
> driver to log (e.g. ktrace) it's activities while under test.

Will do, just haven't had time yet.

I quickly looked into why the OS HPMC handler wasn't triggered and the
issue comes from the fact that the length provided to the PDC is
incorrect. The doc states that it should be in bytes while we provide it
in words.

I've attached a small patch that solves this little issue.

Cheers,
  Guy


OS HPMC handler length needs to be in bytes, not in words.

Signed-off-by: Guy Martin <gmsoft@xxxxxxxxxxxx>

--- /root/traps.c.orig	2009-01-02 09:20:41.000000000 +0100
+++ arch/parisc/kernel/traps.c	2009-01-02 09:23:47.000000000 +0100
@@ -840,7 +840,7 @@
 
 	/* Compute Checksum for HPMC handler */
 
-	length = os_hpmc_end - os_hpmc;
+	length = (os_hpmc_end - os_hpmc) * sizeof(u32);
 	ivap[7] = length;
 
 	hpmcp = (u32 *)os_hpmc;

[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux