lkml.org 
[lkml]   [2004]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] Re: [sata] libata update
Petr Sebor wrote:
> 2.6.5-rc3 + this patch:
>
> sata_via (0000:00:0f.0): PATA sharing not supported (0x2)
> via_sata: probe of (0000:00:0f.0) failed with error -5


Thanks for testing. OK, one bug fix and here's a new patch...

Thanks for all your help in narrowing this down,

Jeff


===== drivers/scsi/sata_via.c 1.10 vs edited =====
--- 1.10/drivers/scsi/sata_via.c Thu Mar 25 07:30:08 2004
+++ edited/drivers/scsi/sata_via.c Wed Mar 31 11:47:24 2004
@@ -39,9 +39,10 @@
enum {
via_sata = 0,

- SATA_CHAN_ENAB = 0x40,
- SATA_INT_GATE = 0x41,
- SATA_NATIVE_MODE = 0x42,
+ SATA_CHAN_ENAB = 0x40, /* SATA channel enable */
+ SATA_INT_GATE = 0x41, /* SATA interrupt gating */
+ SATA_NATIVE_MODE = 0x42, /* Native mode enable */
+ SATA_PATA_SHARING = 0x49, /* PATA/SATA sharing func ctrl */

PORT0 = (1 << 1),
PORT1 = (1 << 0),
@@ -51,6 +52,9 @@
INT_GATE_ALL = PORT0 | PORT1,

NATIVE_MODE_ALL = (1 << 7) | (1 << 6) | (1 << 5) | (1 << 4),
+
+ SATA_EXT_PHY = (1 << 6), /* 0==use PATA, 1==ext phy */
+ SATA_2DEV = (1 << 5), /* SATA is master/slave */
};

static int svia_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);
@@ -136,13 +140,7 @@

static unsigned long svia_scr_addr(unsigned long addr, unsigned int port)
{
- if (port >= 4)
- return 0; /* invalid port */
-
- addr &= ~((1 << 7) | (1 << 6));
- addr |= ((unsigned long)port << 6);
-
- return addr;
+ return addr + (port * 128);
}

/**
@@ -175,6 +173,13 @@
if (rc)
goto err_out;

+ pci_read_config_byte(pdev, SATA_PATA_SHARING, &tmp8);
+ if (tmp8 & SATA_2DEV) {
+ printk(KERN_ERR DRV_NAME "(%s): SATA master/slave not supported (0x%x)\n",
+ pci_name(pdev), (int) tmp8);
+ rc = -EIO;
+ goto err_out_regions;
+ }

for (i = 0; i < ARRAY_SIZE(svia_bar_sizes); i++)
if ((pci_resource_start(pdev, i) == 0) ||
\
 
 \ /
  Last update: 2005-03-22 14:02    [W:0.048 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site