Re: SiS 5513 rev 0x015597/5598 freeze diff

2012-01-14 Thread Loganaden Velvindron
On Wed, Jan 04, 2012 at 02:55:04PM +1100, Jonathan Gray wrote:
 On Mon, Jan 02, 2012 at 04:35:39PM -0500, Loganaden Velvindron wrote:
  Attaching any CDROM/DVDRIVE causes this error message
  when mouting a disk.
  
  cd0(pciide0:0:1): timeout
  type: atapi
  c_bcount : 2048
  c_skip : 0
  
  The machine then freezes and a hard reboot is necessary.
  
  This issue has been reported by 2 users in the past:
  http://archives.neohapsis.com/archives/openbsd/2005-11/0782.html
  ``
cd0(pciide0:0:0): timeout
type: atapi
c_bcount: 0
c_skip: 0
cd0(pciide0:0:0): timeout
type: atapi
c_bcount: 32
  
  A workaround was to disable pciide:
  UKC disable pciide*
  59 pciide* disabled
  UKC quit
  Continuing... 
  
  Looking closely, these problems occur with this variant of the SiS 5513
  EIDE chipset:
  pciide0 at pci0 dev 2 function 5 SiS 5513 EIDE rev 0x01: 5597/5598: DMA, 
  chann
  el 0 wired to compatibility, channel 1 wired to compatibility
  atapiscsi0 at pciide0 channel 0 drive 1
  scsibus0 at atapiscsi0: 2 targets
  cd0 at scsibus0 targ 0 lun 0: ATAPI, CD-ROM 52X, 172A ATAPI 5/cdrom 
  removable
  cd0(pciide0:0:1): using PIO mode 4, DMA mode 2
  
  By disabling dma, the issue goes away.
  
  Looking at pciide.c shows that there are 2 variants of the 5597/5598:
  The one with rev 0xd0 which support UDMA and the previous versions
  with no support for UltraDMA. To be more precise UDMA exists but it's
  buggy.
  
  It appears that rev 0x01 has a buggy DMA support. Falling back to PIO
  works fine. The diff disables DMA silently but not enabling DMA capabilities
  on rev 0x01 of 5597/5598.
 
 Disabling DMA is quite a large hammer, it seems more likely the timings need
 to be adjusted or some config space io needs to happen.  I can't see any
 revision specific errata in the FreeBSD/Linux code.

Chris (chris@) tracked down the problem. According to:
http://svn.netlabs.org/repos/xata/ATA/tags/v1.8.11/doc/ChipList.txt
Variants below 0xd0 have a problem using UDMA.

Mine is hooked to this:
pcib0 at pci0 dev 2 function 0 SiS 968 ISA rev 0x01

What's needed is to add it to the sis_hostbr table.
pciide0 at pci0 dev 2 function 5 SiS 5513 EIDE rev 0x01: 968: DMA, channel 0 
wired to compatibility, channel 1 wired to compatibility
avail mem = 2042195968 (1947MB)
pcib0 at pci0 dev 2 function 0 SiS 968 ISA rev 0x01
pciide0 at pci0 dev 2 function 5 SiS 5513 EIDE rev 0x01: 968: DMA, channel 0 
wired to compatibility, channel 1 wired to compatibility

(Huge thanks to Chris :-))


Here's the diff:
Index: src/sys/dev/pci/pciide.c
===
RCS file: /cvs/src/sys/dev/pci/pciide.c,v
retrieving revision 1.336
diff -u -p -r1.336 pciide.c
--- src/sys/dev/pci/pciide.c4 Jan 2012 03:38:59 -   1.336
+++ src/sys/dev/pci/pciide.c14 Jan 2012 13:50:30 -
@@ -4966,7 +4966,8 @@ static struct sis_hostbr_type {
{PCI_PRODUCT_SIS_962, 0x00, 6, 962, SIS_TYPE_133NEW},
{PCI_PRODUCT_SIS_963, 0x00, 6, 963, SIS_TYPE_133NEW},
{PCI_PRODUCT_SIS_964, 0x00, 6, 964, SIS_TYPE_133NEW},
-   {PCI_PRODUCT_SIS_965, 0x00, 6, 965, SIS_TYPE_133NEW}
+   {PCI_PRODUCT_SIS_965, 0x00, 6, 965, SIS_TYPE_133NEW},
+   {PCI_PRODUCT_SIS_968, 0x00, 6, 968, SIS_TYPE_133NEW}
 };
 
 static struct sis_hostbr_type *sis_hostbr_type_match;



Re: SiS 5513 rev 0x015597/5598 freeze diff

2012-01-14 Thread Jonathan Gray
On Sat, Jan 14, 2012 at 08:56:58AM -0500, Loganaden Velvindron wrote:
 On Wed, Jan 04, 2012 at 02:55:04PM +1100, Jonathan Gray wrote:
  On Mon, Jan 02, 2012 at 04:35:39PM -0500, Loganaden Velvindron wrote:
   Attaching any CDROM/DVDRIVE causes this error message
   when mouting a disk.
   
   cd0(pciide0:0:1): timeout
   type: atapi
   c_bcount : 2048
   c_skip : 0
   
   The machine then freezes and a hard reboot is necessary.
   
   This issue has been reported by 2 users in the past:
   http://archives.neohapsis.com/archives/openbsd/2005-11/0782.html
   ``
 cd0(pciide0:0:0): timeout
 type: atapi
 c_bcount: 0
 c_skip: 0
 cd0(pciide0:0:0): timeout
 type: atapi
 c_bcount: 32
   
   A workaround was to disable pciide:
   UKC disable pciide*
   59 pciide* disabled
   UKC quit
   Continuing... 
   
   Looking closely, these problems occur with this variant of the SiS 5513
   EIDE chipset:
   pciide0 at pci0 dev 2 function 5 SiS 5513 EIDE rev 0x01: 5597/5598: 
   DMA, chann
   el 0 wired to compatibility, channel 1 wired to compatibility
   atapiscsi0 at pciide0 channel 0 drive 1
   scsibus0 at atapiscsi0: 2 targets
   cd0 at scsibus0 targ 0 lun 0: ATAPI, CD-ROM 52X, 172A ATAPI 5/cdrom 
   removable
   cd0(pciide0:0:1): using PIO mode 4, DMA mode 2
   
   By disabling dma, the issue goes away.
   
   Looking at pciide.c shows that there are 2 variants of the 5597/5598:
   The one with rev 0xd0 which support UDMA and the previous versions
   with no support for UltraDMA. To be more precise UDMA exists but it's
   buggy.
   
   It appears that rev 0x01 has a buggy DMA support. Falling back to PIO
   works fine. The diff disables DMA silently but not enabling DMA 
   capabilities
   on rev 0x01 of 5597/5598.
  
  Disabling DMA is quite a large hammer, it seems more likely the timings need
  to be adjusted or some config space io needs to happen.  I can't see any
  revision specific errata in the FreeBSD/Linux code.
 
 Chris (chris@) tracked down the problem. According to:
 http://svn.netlabs.org/repos/xata/ATA/tags/v1.8.11/doc/ChipList.txt
 Variants below 0xd0 have a problem using UDMA.
 
 Mine is hooked to this:
 pcib0 at pci0 dev 2 function 0 SiS 968 ISA rev 0x01
 
 What's needed is to add it to the sis_hostbr table.
 pciide0 at pci0 dev 2 function 5 SiS 5513 EIDE rev 0x01: 968: DMA, channel 
 0 wired to compatibility, channel 1 wired to compatibility
 avail mem = 2042195968 (1947MB)
 pcib0 at pci0 dev 2 function 0 SiS 968 ISA rev 0x01
 pciide0 at pci0 dev 2 function 5 SiS 5513 EIDE rev 0x01: 968: DMA, channel 
 0 wired to compatibility, channel 1 wired to compatibility
 
 (Huge thanks to Chris :-))

Ah yes, I'd forgotten the horrors of the sis part of pciide.  I wish they'd
stop making chipsets already.

Which Chris by the way?  Chris Cappuccio?

Anyway, I'll likely commit the diff with the addition of 966 tomorrow,
(the 967 doesn't seem to exist).

Index: pciide.c
===
RCS file: /cvs/src/sys/dev/pci/pciide.c,v
retrieving revision 1.336
diff -u -p -r1.336 pciide.c
--- pciide.c4 Jan 2012 03:38:59 -   1.336
+++ pciide.c14 Jan 2012 14:12:40 -
@@ -4966,7 +4966,9 @@ static struct sis_hostbr_type {
{PCI_PRODUCT_SIS_962, 0x00, 6, 962, SIS_TYPE_133NEW},
{PCI_PRODUCT_SIS_963, 0x00, 6, 963, SIS_TYPE_133NEW},
{PCI_PRODUCT_SIS_964, 0x00, 6, 964, SIS_TYPE_133NEW},
-   {PCI_PRODUCT_SIS_965, 0x00, 6, 965, SIS_TYPE_133NEW}
+   {PCI_PRODUCT_SIS_965, 0x00, 6, 965, SIS_TYPE_133NEW},
+   {PCI_PRODUCT_SIS_966, 0x00, 6, 966, SIS_TYPE_133NEW},
+   {PCI_PRODUCT_SIS_968, 0x00, 6, 968, SIS_TYPE_133NEW}
 };
 
 static struct sis_hostbr_type *sis_hostbr_type_match;



Re: SiS 5513 rev 0x015597/5598 freeze diff

2012-01-14 Thread Loganaden Velvindron
Yep, Chris Cappuccio.

He says that there are still issues with the SiS code. Instead
of defaulting to SiS 5597/5598, perhaps it would have been
better not to attach as it would have made the problem more
obvious.

Also, I sent a mail to a guy who works on SiS chipset support
in Linux. No reply up to now. I was looking for the datasheets.

According to the URL chris sent me, the 966 should also work,
but I can't test it.

Thanks for the upcoming commit, I'll be able to upgrade painlessly
to 5.1 :-)

On Sat, Jan 14, 2012 at 6:21 PM, Jonathan Gray j...@goblin.cx wrote:

 On Sat, Jan 14, 2012 at 08:56:58AM -0500, Loganaden Velvindron wrote:
  On Wed, Jan 04, 2012 at 02:55:04PM +1100, Jonathan Gray wrote:
   On Mon, Jan 02, 2012 at 04:35:39PM -0500, Loganaden Velvindron wrote:
Attaching any CDROM/DVDRIVE causes this error message
when mouting a disk.
   
cd0(pciide0:0:1): timeout
type: atapi
c_bcount : 2048
c_skip : 0
   
The machine then freezes and a hard reboot is necessary.
   
This issue has been reported by 2 users in the past:
http://archives.neohapsis.com/archives/openbsd/2005-11/0782.html
``
  cd0(pciide0:0:0): timeout
  type: atapi
  c_bcount: 0
  c_skip: 0
  cd0(pciide0:0:0): timeout
  type: atapi
  c_bcount: 32
   
A workaround was to disable pciide:
UKC disable pciide*
59 pciide* disabled
UKC quit
Continuing...
   
Looking closely, these problems occur with this variant of the SiS
 5513
EIDE chipset:
pciide0 at pci0 dev 2 function 5 SiS 5513 EIDE rev 0x01:
 5597/5598: DMA, chann
el 0 wired to compatibility, channel 1 wired to compatibility
atapiscsi0 at pciide0 channel 0 drive 1
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: ATAPI, CD-ROM 52X, 172A ATAPI
 5/cdrom removable
cd0(pciide0:0:1): using PIO mode 4, DMA mode 2
   
By disabling dma, the issue goes away.
   
Looking at pciide.c shows that there are 2 variants of the 5597/5598:
The one with rev 0xd0 which support UDMA and the previous versions
with no support for UltraDMA. To be more precise UDMA exists but it's
buggy.
   
It appears that rev 0x01 has a buggy DMA support. Falling back to PIO
works fine. The diff disables DMA silently but not enabling DMA
 capabilities
on rev 0x01 of 5597/5598.
  
   Disabling DMA is quite a large hammer, it seems more likely the
 timings need
   to be adjusted or some config space io needs to happen.  I can't see
 any
   revision specific errata in the FreeBSD/Linux code.
 
  Chris (chris@) tracked down the problem. According to:
  http://svn.netlabs.org/repos/xata/ATA/tags/v1.8.11/doc/ChipList.txt
  Variants below 0xd0 have a problem using UDMA.
 
  Mine is hooked to this:
  pcib0 at pci0 dev 2 function 0 SiS 968 ISA rev 0x01
 
  What's needed is to add it to the sis_hostbr table.
  pciide0 at pci0 dev 2 function 5 SiS 5513 EIDE rev 0x01: 968: DMA,
 channel 0 wired to compatibility, channel 1 wired to compatibility
  avail mem = 2042195968 (1947MB)
  pcib0 at pci0 dev 2 function 0 SiS 968 ISA rev 0x01
  pciide0 at pci0 dev 2 function 5 SiS 5513 EIDE rev 0x01: 968: DMA,
 channel 0 wired to compatibility, channel 1 wired to compatibility
 
  (Huge thanks to Chris :-))

 Ah yes, I'd forgotten the horrors of the sis part of pciide.  I wish they'd
 stop making chipsets already.

 Which Chris by the way?  Chris Cappuccio?

 Anyway, I'll likely commit the diff with the addition of 966 tomorrow,
 (the 967 doesn't seem to exist).

 Index: pciide.c
 ===
 RCS file: /cvs/src/sys/dev/pci/pciide.c,v
 retrieving revision 1.336
 diff -u -p -r1.336 pciide.c
 --- pciide.c4 Jan 2012 03:38:59 -   1.336
 +++ pciide.c14 Jan 2012 14:12:40 -
 @@ -4966,7 +4966,9 @@ static struct sis_hostbr_type {
 {PCI_PRODUCT_SIS_962, 0x00, 6, 962, SIS_TYPE_133NEW},
{PCI_PRODUCT_SIS_963, 0x00, 6, 963, SIS_TYPE_133NEW},
{PCI_PRODUCT_SIS_964, 0x00, 6, 964, SIS_TYPE_133NEW},
 -   {PCI_PRODUCT_SIS_965, 0x00, 6, 965, SIS_TYPE_133NEW}
 +   {PCI_PRODUCT_SIS_965, 0x00, 6, 965, SIS_TYPE_133NEW},
 +   {PCI_PRODUCT_SIS_966, 0x00, 6, 966, SIS_TYPE_133NEW},
 +   {PCI_PRODUCT_SIS_968, 0x00, 6, 968, SIS_TYPE_133NEW}
  };

  static struct sis_hostbr_type *sis_hostbr_type_match;




-- 
Brightest day,
Blackest night,
No bug shall escape my sight,
And those who worship evil's mind,
be wary of my powers,
puffy lantern's light !



Re: vmmap replacement -- please test

2012-01-14 Thread David Coppa
On Sat, Jan 14, 2012 at 8:42 AM, Ariane van der Steldt ari...@stack.nl wrote:

 Everybody thanks for testing this, it's been a tremendous help to me.

 As far as I'm concerned, this diff will be commited once we unlock after
 release (in a coordinated manner ofcourse, since this is uvm we're
 talking about).

Great news.
I'm using your diff on my amd64 laptop since 15 days and no problems.

Thanks a lot for your work,
David



Re: vmmap replacement -- please test

2012-01-14 Thread Steffen Daode Nurpmeso
Ariane van der Steldt wrote [2012-01-14 08:42+0100]:
 As far as I'm concerned, this diff will be commited once we unlock after
 release (in a coordinated manner ofcourse, since this is uvm we're
 talking about).
 It's about time too, ofcourse: 64 revisions of the same diff is alot. :D
 -- 
 Ariane

I too cannot report anything to bring you forward (amd64).

--steffen