1 |
----- Original Message ----- |
2 |
From: "Felipe Ribeiro" <felipernb@×××××.com> |
3 |
To: <gentoo-amd64@l.g.o> |
4 |
Sent: Monday, December 12, 2005 4:50 AM |
5 |
Subject: Re: [gentoo-amd64] Re: Kernel panic - not syncing: VFS: Unable to |
6 |
mount root fs on unknown block(2,0) |
7 |
|
8 |
|
9 |
> and what about dma? when you use generic driver, can you enable it? it |
10 |
> always recognize my chipset as sis5513 :-( |
11 |
|
12 |
i don't know, but your .config has generic 'idedma' choices selected |
13 |
(defaults) so presumably you only lose special 5513 features by removing |
14 |
5513 ide support. |
15 |
|
16 |
> |
17 |
<snip> |
18 |
|
19 |
this discussion found at http://kerneltrap.org/node/4925 may be of help: |
20 |
|
21 |
Ok, it seems that for some reason, sis5513.c doesn't reference the product |
22 |
ID # for the sis5513 (go figure). Here is the code which specifies which IDs |
23 |
to look for |
24 |
(/usr/src/linux/drivers/ide/pci/sis5513.c): |
25 |
/* |
26 |
* Devices supported |
27 |
*/ |
28 |
static const struct { |
29 |
const char *name; |
30 |
u16 host_id; |
31 |
u8 chipset_family; |
32 |
u8 flags; |
33 |
} SiSHostChipInfo[] = { |
34 |
{ "SiS745", PCI_DEVICE_ID_SI_745, ATA_100 }, |
35 |
{ "SiS735", PCI_DEVICE_ID_SI_735, ATA_100 }, |
36 |
{ "SiS733", PCI_DEVICE_ID_SI_733, ATA_100 }, |
37 |
{ "SiS635", PCI_DEVICE_ID_SI_635, ATA_100 }, |
38 |
{ "SiS633", PCI_DEVICE_ID_SI_633, ATA_100 }, |
39 |
{ "SiS730", PCI_DEVICE_ID_SI_730, ATA_100a }, |
40 |
{ "SiS550", PCI_DEVICE_ID_SI_550, ATA_100a }, |
41 |
{ "SiS640", PCI_DEVICE_ID_SI_640, ATA_66 }, |
42 |
{ "SiS630", PCI_DEVICE_ID_SI_630, ATA_66 }, |
43 |
{ "SiS620", PCI_DEVICE_ID_SI_620, ATA_66 }, |
44 |
{ "SiS540", PCI_DEVICE_ID_SI_540, ATA_66 }, |
45 |
{ "SiS530", PCI_DEVICE_ID_SI_530, ATA_66 }, |
46 |
{ "SiS5600", PCI_DEVICE_ID_SI_5600, ATA_33 }, |
47 |
{ "SiS5598", PCI_DEVICE_ID_SI_5598, ATA_33 }, |
48 |
{ "SiS5597", PCI_DEVICE_ID_SI_5597, ATA_33 }, |
49 |
{ "SiS5591/2", PCI_DEVICE_ID_SI_5591, ATA_33 }, |
50 |
{ "SiS5582", PCI_DEVICE_ID_SI_5582, ATA_33 }, |
51 |
{ "SiS5581", PCI_DEVICE_ID_SI_5581, ATA_33 }, |
52 |
{ "SiS5596", PCI_DEVICE_ID_SI_5596, ATA_16 }, |
53 |
{ "SiS5571", PCI_DEVICE_ID_SI_5571, ATA_16 }, |
54 |
{ "SiS551x", PCI_DEVICE_ID_SI_5511, ATA_16 }, |
55 |
}; |
56 |
--- |
57 |
One would assume that SiS551x would support the SiS5513 controller, but |
58 |
apparenlty this isn't the case. The device ID for the 5513 controller |
59 |
differs from that of the 5511 controller, so I have no idea why there is no |
60 |
entry for the sis5513. Anyway, I used 'lspci -n' and double-checked that |
61 |
against /usr/src/linux/include/linux/pci_ids.h. After that, I simply |
62 |
appended this line to the SiSHostChipInfo[] structure right after the entry |
63 |
for SiS551x: |
64 |
{ "SiS5513", PCI_DEVICE_ID_SI_5513, ATA_16 }, |
65 |
It is really a simple solution and I'm surprised noone else has |
66 |
noticed/posted it before. Perhaps I'm missing something or something. All I |
67 |
know is that SIS5513 used to return -1 and now it seems to load properly and |
68 |
my DMA is now enable-able :). |
69 |
Feel free to let me know if it worked for you, maybe it will be added to the |
70 |
kernel tree later or something. |
71 |
[ reply ] |
72 |
|
73 |
Hi sinthetek, What a g |
74 |
Comment posted by Anonymous (not verified) on Thursday, May 12, 2005 - 00:52 |
75 |
Hi sinthetek, |
76 |
What a great solution that I search for centuries. It's even better put |
77 |
ATA_133 instead of ATA_16. |
78 |
{ "SiS5513", PCI_DEVICE_ID_SI_5513, ATA_16 }, |
79 |
Gideon |
80 |
|
81 |
-- |
82 |
gentoo-amd64@g.o mailing list |