Bug 174985

Summary: AHCI or ATA-ATI bug on BSD 8 and above (ATI SB600; ahci timeout; on BSD 7 - no bug)
Product: Base System Reporter: NIKA <ngovoruha>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description NIKA 2013-01-05 00:40:00 UTC
I get a bug when I run install program FreeBSD 9.1 on my ASUS A7U notebook (ATI RS690 chipset; ATI SB600 south bridge; Seagate SATAI harddrive; BIOS a7uas.206, if it's important). This bug I have posted already (it has ID "kern/174880"), but later I guessed to turn on Verbose option and wrote detailed dmesg. So, previous PR is about the same bug and can be closed.

The bug is the following. FreeBSD 9.1 (FreeBSD 8.3 too) can not see my harddrive. The message is: "ahcich1: Timeout on slot 0 port 0". So, install program can not resume - no hard drive in the system. My BIOS does not have option to switch drive to PATA mode, so AHCI is required.

At the same time, FreeBSD 7.4 can see it. With FreeBSD 7.4 is no problem. Clearly, some bug in AHCI or ATA-ATI driver appeared in 8R.

I am interested to use PCBSD, but can not do it. Please, help.

Below - messages from dmesg, which can relate to this bug (FreeBSD 9.1):

**********************************************************
Comment 1 Alexander Motin freebsd_committer freebsd_triage 2013-01-15 10:13:13 UTC
dmesg message got lost somewhere. Unfortunately I haven't seen the
problem on hardware I have, so try to give more information.

-- 
Alexander Motin
Comment 2 Alexander Motin freebsd_committer freebsd_triage 2013-01-15 10:14:23 UTC
On 15.01.2013 12:13, Alexander Motin wrote:
> dmesg message got lost somewhere. Unfortunately I haven't seen the
> problem on hardware I have, so try to give more information.

PS: Please boot with verbose messages enabled in boot menu to get more
details.

-- 
Alexander Motin
Comment 3 dfilter service freebsd_committer freebsd_triage 2013-01-24 09:34:01 UTC
Author: mav
Date: Thu Jan 24 09:33:43 2013
New Revision: 245875
URL: http://svnweb.freebsd.org/changeset/base/245875

Log:
  Disable MSI interrupts for SB600 chipset.  According to the report they are
  not functional.
  
  PR:		kern/174880, kern/174985, kern/175002
  MFC after:	1 week

Modified:
  head/sys/dev/ahci/ahci.c

Modified: head/sys/dev/ahci/ahci.c
==============================================================================
--- head/sys/dev/ahci/ahci.c	Thu Jan 24 09:30:42 2013	(r245874)
+++ head/sys/dev/ahci/ahci.c	Thu Jan 24 09:33:43 2013	(r245875)
@@ -114,8 +114,9 @@ static struct {
 #define AHCI_Q_NOAA	512
 #define AHCI_Q_NOCOUNT	1024
 #define AHCI_Q_ALTSIG	2048
+#define AHCI_Q_NOMSI	4096
 } ahci_ids[] = {
-	{0x43801002, 0x00, "ATI IXP600",	0},
+	{0x43801002, 0x00, "ATI IXP600",	AHCI_Q_NOMSI},
 	{0x43901002, 0x00, "ATI IXP700",	0},
 	{0x43911002, 0x00, "ATI IXP700",	0},
 	{0x43921002, 0x00, "ATI IXP700",	0},
@@ -634,6 +635,8 @@ ahci_setup_interrupt(device_t dev)
 	int i, msi = 1;
 
 	/* Process hints. */
+	if (ctlr->quirks & AHCI_Q_NOMSI)
+		msi = 0;
 	resource_int_value(device_get_name(dev),
 	    device_get_unit(dev), "msi", &msi);
 	if (msi < 0)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 4 dfilter service freebsd_committer freebsd_triage 2013-01-31 20:47:42 UTC
Author: mav
Date: Thu Jan 31 20:47:35 2013
New Revision: 246156
URL: http://svnweb.freebsd.org/changeset/base/246156

Log:
  MFC r245875:
  Disable MSI interrupts for SB600 chipset.  According to the report they are
  not functional.
  
  PR:		kern/174880, kern/174985, kern/175002

Modified:
  stable/9/sys/dev/ahci/ahci.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/ahci/ahci.c
==============================================================================
--- stable/9/sys/dev/ahci/ahci.c	Thu Jan 31 20:32:11 2013	(r246155)
+++ stable/9/sys/dev/ahci/ahci.c	Thu Jan 31 20:47:35 2013	(r246156)
@@ -120,8 +120,9 @@ static struct {
 #define AHCI_Q_NOAA	512
 #define AHCI_Q_NOCOUNT	1024
 #define AHCI_Q_ALTSIG	2048
+#define AHCI_Q_NOMSI	4096
 } ahci_ids[] = {
-	{0x43801002, 0x00, "ATI IXP600",	0},
+	{0x43801002, 0x00, "ATI IXP600",	AHCI_Q_NOMSI},
 	{0x43901002, 0x00, "ATI IXP700",	0},
 	{0x43911002, 0x00, "ATI IXP700",	0},
 	{0x43921002, 0x00, "ATI IXP700",	0},
@@ -638,6 +639,8 @@ ahci_setup_interrupt(device_t dev)
 	int i, msi = 1;
 
 	/* Process hints. */
+	if (ctlr->quirks & AHCI_Q_NOMSI)
+		msi = 0;
 	resource_int_value(device_get_name(dev),
 	    device_get_unit(dev), "msi", &msi);
 	if (msi < 0)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 5 dfilter service freebsd_committer freebsd_triage 2013-01-31 20:49:09 UTC
Author: mav
Date: Thu Jan 31 20:48:56 2013
New Revision: 246157
URL: http://svnweb.freebsd.org/changeset/base/246157

Log:
  MFC r245875:
  Disable MSI interrupts for SB600 chipset.  According to the report they are
  not functional.
  
  PR:		kern/174880, kern/174985, kern/175002

Modified:
  stable/8/sys/dev/ahci/ahci.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/dev/   (props changed)
  stable/8/sys/dev/ahci/   (props changed)

Modified: stable/8/sys/dev/ahci/ahci.c
==============================================================================
--- stable/8/sys/dev/ahci/ahci.c	Thu Jan 31 20:47:35 2013	(r246156)
+++ stable/8/sys/dev/ahci/ahci.c	Thu Jan 31 20:48:56 2013	(r246157)
@@ -120,8 +120,9 @@ static struct {
 #define AHCI_Q_NOAA	512
 #define AHCI_Q_NOCOUNT	1024
 #define AHCI_Q_ALTSIG	2048
+#define AHCI_Q_NOMSI	4096
 } ahci_ids[] = {
-	{0x43801002, 0x00, "ATI IXP600",	0},
+	{0x43801002, 0x00, "ATI IXP600",	AHCI_Q_NOMSI},
 	{0x43901002, 0x00, "ATI IXP700",	0},
 	{0x43911002, 0x00, "ATI IXP700",	0},
 	{0x43921002, 0x00, "ATI IXP700",	0},
@@ -641,6 +642,8 @@ ahci_setup_interrupt(device_t dev)
 	int i, msi = 1;
 
 	/* Process hints. */
+	if (ctlr->quirks & AHCI_Q_NOMSI)
+		msi = 0;
 	resource_int_value(device_get_name(dev),
 	    device_get_unit(dev), "msi", &msi);
 	if (msi < 0)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 6 Alexander Motin freebsd_committer freebsd_triage 2013-01-31 20:55:36 UTC
State Changed
From-To: open->closed

Patch disabling MSI for SB600 chipset AHCI committed and merged to 8/9-STABLE.