NetBSD-Bugs archive

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

Re: port-vax/49517: si driver has DMA problems



The following reply was made to PR port-vax/49517; it has been noted by GNATS.

From: David Brownlee <abs%absd.org@localhost>
To: "gnats-bugs%netbsd.org@localhost" <gnats-bugs%netbsd.org@localhost>
Cc: port-vax-maintainer%netbsd.org@localhost, 
	"gnats-admin%netbsd.org@localhost" <gnats-admin%netbsd.org@localhost>, netbsd-bugs%netbsd.org@localhost, 
	port-vax List <port-vax%netbsd.org@localhost>
Subject: Re: port-vax/49517: si driver has DMA problems
Date: Tue, 20 Jan 2015 16:28:05 +0000

 Just a random thought, could this is be related to trying a MAXPHYS
 (64K) sized transfer? I seem to recall something related to the vax
 NCR5380 having a less than 64K max transfer size limit...
 
 On 30 December 2014 at 21:10,  <martin%netbsd.org@localhost> wrote:
 >>Number:         49517
 >>Category:       port-vax
 >>Synopsis:       si driver has DMA problems
 >>Confidential:   no
 >>Severity:       serious
 >>Priority:       medium
 >>Responsible:    port-vax-maintainer
 >>State:          open
 >>Class:          sw-bug
 >>Submitter-Id:   net
 >>Arrival-Date:   Tue Dec 30 21:10:00 +0000 2014
 >>Originator:     Martin Husemann
 >>Release:        NetBSD 7.99.2
 >>Organization:
 > The NetBSD Foundation, Inc.
 >>Environment:
 > System: NetBSD  7.99.3 NetBSD 7.99.3 (GENERIC) #8: Tue Dec 30 19:18:41 CET 2014  martin%seven-days-to-the-wolves.aprisoft.de@localhost:/usr/obj/vax/usr/src/sys/arch/vax/compile/GENERIC vax
 > Architecture: vax
 > Machine: vax
 >>Description:
 >
 > The NCR5380 driver seems to corrupt kernel memory on incoming (i.e. read)
 > transfers basically imediately. Random things happen (programs die, ...)
 > after a few transfers.
 >
 > Forcing all IN operations to do PIO makes the system pretty much stable:
 >
 > Index: ncr.c
 > ===================================================================
 > RCS file: /cvsroot/src/sys/arch/vax/vsa/ncr.c,v
 > retrieving revision 1.48
 > diff -u -r1.48 ncr.c
 > --- ncr.c       14 Dec 2010 23:31:16 -0000      1.48
 > +++ ncr.c       30 Dec 2014 21:01:29 -0000
 > @@ -254,6 +254,9 @@
 >         if (sr->sr_flags & SR_IMMED)
 >                 return;
 >
 > +       if (!(xs->xs_control & XS_CTL_DATA_OUT))
 > +               return;
 > +
 >         xlen = ncr_sc->sc_datalen;
 >
 >         /* Make sure our caller checked sc_min_dma_len. */
 >
 >
 >>How-To-Repeat:
 >
 > Try to install on a MicroVax 3100 to a scsi disk.
 >
 >>Fix:
 > n/a
 >
 


Home | Main Index | Thread Index | Old Index