Bug 4192

Summary: (sata sis) doesnt support sis965L
Product: IO/Storage Reporter: Rituraj (ritu_turu)
Component: Serial ATAAssignee: Jeff Garzik (jgarzik)
Status: CLOSED CODE_FIX    
Severity: normal CC: areus, bunk, keith, matafagafo
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: all 2.6 series upto 2.6.12 Subsystem:
Regression: --- Bisected commit-id:
Attachments: SiS's submission of SATA support for PCI ID 0x182
updated SiS's support for PCI ID 0x182 to 2.6.11
Mandriva_sis182_sata_sis_patch

Description Rituraj 2005-02-10 02:01:53 UTC
Distribution:Any(tried Gentoo/Debian/Fedora/Ubuntu with latest kernels)
Hardware Environment:Sis motherboard K8S MX, AMD64(2800+), SATA HDD
Software Environment:GNU/Linux kernels 2.6.8 & 2.6.9
Problem Description:
I have a AMD64 +asus k8s mx motherboard(SIS chipset
760GX & sis 965L) + samsung 80GB sata. 

I am not able to install GNU/Linux on my system as
Linux does not detect my sata drive. I have tried
debian, gentoo , slackware, ubuntu, fedora, mepis(all above 2.6.8 kernels) etc.
without success.

All the above mentined distros do not have sata module
built into installer so i did ALT+F2 modprobe
sata_sis.
It loads libata and sata_sis but i do not see any hdd
drives under /proc/scsi/scsi.Neither is the drive
listed in /dev/hd* or /dev/sd*
lspci -n shows sata as 0000:00:05 Unknown device 0182.
Windows XP 64 bit works well on this system so there
is no hardware problem. There are no drivers available
from asus or sis for linux.

Sata_sis module upto 2.6.10 currently supports sis964
but mine is sis965L.

I have done a lot of googling and found only open
ended questions without any solution. Some answers on
google suggest a workaround to do install on IDE hdd
and then rebuild the kernel to include sata support
and then boot that kernel from SATA drive ---this
seems to be a bit time consuming and i dont have a IDE
drive currently. Also if there is no sis965L support
there is no use of this workaround to use IDE.
Please let me know if there is any other solution
or/and if someone has info that the future kernels
will support this chipset.

Additional info: 
i have even inserted all sata* scsi* raid*
modules(even sd_mod). Also did noapic noprob at
bootup. 

I am really keen to run GNU/Linux on my pc as i have
bought it to use blender3D with high redering speed of
64 bit AMD.

Thank you in anticipation.

Regards;
Rituraj




Steps to reproduce: Installing GNU/Linux any distro doesnt detect media for
partitioning.
Comment 1 Jeff Garzik 2005-02-13 10:29:52 UTC
Created attachment 4542 [details]
SiS's submission of SATA support for PCI ID 0x182

SiS submitted a patch for this, unfortunately it needs a lot of work before it
can be merged.
Comment 2 Shawn Starr 2005-04-25 14:40:57 UTC
Is this in 2.6.12-rc3? or did it made it into 2.6.11?
Comment 3 Prem Kurian Philip 2005-04-26 03:16:38 UTC
Has this been fixed?
Comment 4 Rituraj 2005-06-22 01:09:46 UTC
The 2.6.12 kernel released today also doesnt include a patch for this. How long
should I use Windows OS on my PC? Will the patch be integrated in future releases?
Please update me.
Comment 5 Jukka Jylanki 2005-06-26 12:18:51 UTC
I suppose it has not been fixed in 2.6.12.1 either? I have ASUS K8S-MX with
sis965L and the sata_sis module doesn't work. I tried the linux driver module
from sis homepage, got me a kernel panic. It was for 2.6.10 kernel tho, but
built fine in 2.6.12.1. Any known workarounds? 
Comment 6 Rituraj 2005-06-27 01:07:12 UTC
Added Kernel Version-->"all 2.6 series upto 2.6.12" 
Comment 7 Ajesh 2005-07-13 01:15:17 UTC
Almost same configuration I too have. Tried installing SuSE 9.3 but not able to
install. In which version I can install. I wanted to use Linux desperately.
Comment 8 Martin Palma 2005-07-20 01:44:57 UTC
Does the Patch work with the 2.6.12.3 Kernel?
Comment 9 Guillaume Laur 2005-08-01 14:38:29 UTC
Created attachment 5463 [details]
updated SiS's support for PCI ID 0x182 to 2.6.11

I managed to update the SiS patch for 2.6.11. Working like a charm for me, hope
it will help some people until the driver is fixed in the official sources...
Comment 10 Jeff Garzik 2005-08-19 17:02:26 UTC
Problems with the proposed patch:


1) duplicates SATA phy reset

2) abuses infrastructure to support PATA, rather than doing it properly.  doing
it properly involves an approach similar to that found in the
'promise-sata-pata' branch of libata-dev.git.  Same problem as Promise
SATA+PATA, with the same solution.

3) duplicates ATA bus reset, except, does it poorly

4) duplicates ata_busy_sleep()

5) appears to do strange things with PATA devices, when one uses the
->scr_write() and ->scr_read() hooks -- hooks used to talk to SATA PHYs (never
PATA devices).

6) [maybe] sets DMA/PIO timings even for SATA devices.  This -may- be needed,
depending on PATA<->SATA bridge presence in the host controller

7) Pads DMA to 32-bit boundary.  Should be done in libata core, this is needed
for all host controllers.

8) The DMA pad code is very buggy.  It uses the dma_map_single() to map a
buffer, but never synchronizes nor flushes the buffer.  This can and will lead
to data corruption, particularly on x86-64 platform.
Comment 11 Todd 2005-09-13 11:06:11 UTC
Is there any chance this patch can be cleaned up enough to be usable?  I need
this driver desparately for a client, and I'm afraid to set up their hardware
with the sis supplied driver for 2.6.10 if it could cause data corruption.  If I
had C and device driver skills I would jump on it, but I don't...  I can test
and report though!  
Comment 12 Ralf Pichner 2005-09-24 09:05:57 UTC
Created attachment 6133 [details]
Mandriva_sis182_sata_sis_patch
Comment 13 Ralf Pichner 2005-09-24 09:06:57 UTC
I have seen, that Mandriva have added their own patch to the current Mandriva
Linux 2006 RC2. 

http://www.mandrivalinux.com/en/mandrivalinux-2006-beta.php3

 kernel 2.6.12-12mdk

    * 2.6.12.6
    * Added sata_sil24 module, SiS182? minimal support, SiS190? driver, support
of the IDE chipset of the SiS965L? boards.

I'm currently using this patch with the 2.6.13 x86_64 kernel (gentoo) and it's
working (but i don't know if it is safe too use it)


libata version 1.12 loaded.
ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 17 (level, low) -> IRQ 217
sata_sis: Detected SiS 182 chipset
ata1: SATA max UDMA/133 cmd 0xE880 ctl 0xE802 bmdma 0xE080 irq 217
ata2: SATA max UDMA/133 cmd 0xE480 ctl 0xE402 bmdma 0xE088 irq 217
ata1: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4003 85:3468 86:3c01 87:4003 88:007f
ata1: dev 0 ATA, max UDMA/133, 312581808 sectors: lba48
ata1: dev 0 configured for UDMA/133
scsi0 : sata_sis
ata2: no device found (phy stat 00000001)
scsi1 : sata_sis
  Vendor: ATA       Model: ST3160827AS       Rev: 3.42
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9 >
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0

Comment 14 Arnaud Patard 2005-09-29 06:26:06 UTC
Ralf, 
afaik the patch made is way in 2.6.14-rc2