9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: erik quanstrom <quanstro@quanstro.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] VIA VT8237 SATA/RAID i/o errors, dma doesnt work
Date: Fri,  8 Feb 2008 09:55:25 -0500	[thread overview]
Message-ID: <675fc52d4267e9ef68bedb3cfb468f58@quanstro.net> (raw)
In-Reply-To: <47AC224F.4090700@gmx.de>

> I changed sdata.c to:
>
> return SDretry if starting dmarequest fails,
> return SDretry and reseting controller if dma times out,
> return SDretry on request is done and error signaled,
>
> and added a counter that resets the controller if a request
> was 1000 times retried...

you might want to loop internally instead of counting to 1000.
(which may be too high.  i would think that 2 or 4 would do it.
have you seen differently?)  if more than one thread is doing i/o
to the disk and you have a bad sector, it may take an arbitrary
amount of time before you discover this fact.

> The machine ran the whole night with bodth drives in DMA and heavy load.
> vacing, pingflooded from outside, ddtest on both drives and still alive! :-)

good deal.  via's product page
www.via.com.tw/en/products/chipsets/southbridge/vt8237/specs.jsp
indicates that the nic & sata controller are both integrated into the sb.
perhaps this extra southbridge configuration (pci.c) would make the
sdata hack unnecessary?

static void
viaset(Pcidev *p, uchar link, uchar irq)
{
	uchar pirq;

	pirq = pcicfgr8(p, 0x55 + (link >> 1));
	pirq &= (link & 1)? 0x0f: 0xf0;
	pirq |= (link & 1)? (irq << 4): (irq & 15);
	pcicfgw8(p, 0x55 + (link>>1), pirq);
	if(p->vid != 0x3177 && p->vid != 0x3227)
		return;

	/* Set transition time to max */
	pcicfgw8(p, 0xec, pcicfgr8(p, 0xec) & ~4);
	pcicfgw8(p, 0xe4, pcicfgr8(p, 0xe4) & ~0x80);
	pcicfgw8(p, 0xe5, pcicfgr8(p, 0xe5) | 0x80);

//	if(pcicfgr8(p, 0x81) & 0x80)
//		acpiregs = pcicfgr32(p, 0x88) & 0xff00;
}

- erik


  reply	other threads:[~2008-02-08 14:55 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <54b639a7eb08c31e4ef2a6d9fd7b6a62@quanstro.net>
2008-02-08  9:35 ` Kernel Panic
2008-02-08 14:55   ` erik quanstrom [this message]
2008-02-08 15:34     ` [9fans] VIA VT8237 SATA/RAID i/o errors, dma doesnt work (VIA Rhine II) Kernel Panic
2008-02-08 14:56   ` [9fans] VIA VT8237 SATA/RAID i/o errors, dma doesnt work Robert Raschke
2008-02-08 15:27     ` Robert Raschke
2008-02-06 17:58 [9fans] usb ohci support arrives -- another caution Sape Mullender
2008-02-06 19:23 ` [9fans] VIA VT8237 SATA/RAID i/o errors, dma doesnt work cinap_lenrek
2008-02-06 20:04   ` erik quanstrom
2008-02-06 22:29     ` cinap_lenrek
2008-02-06 22:40       ` erik quanstrom
2008-02-06 23:26         ` cinap_lenrek
  -- strict thread matches above, loose matches on Subject: below --
2008-02-05 22:13 cinap_lenrek
2008-02-06  8:41 ` Kernel Panic
2008-02-06  9:45   ` erik quanstrom
2008-02-06 10:43     ` Kernel Panic
2008-02-06 11:03       ` erik quanstrom
2008-02-05  8:18 Kernel Panic
2008-02-05  8:54 ` Lorenzo Fernando Bivens de la Fuente
2008-02-05 13:20 ` erik quanstrom
2008-02-05 19:48 ` Robert Raschke
2008-02-06  2:01 ` arisawa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=675fc52d4267e9ef68bedb3cfb468f58@quanstro.net \
    --to=quanstro@quanstro.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).