Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
82c687e4
Commit
82c687e4
authored
Jun 21, 2004
by
Jeff Garzik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[libata ata_piix] combined mode bug fix; improved ICH6 support
parent
ec8a1e9a
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
11 deletions
+14
-11
drivers/scsi/ata_piix.c
drivers/scsi/ata_piix.c
+14
-11
No files found.
drivers/scsi/ata_piix.c
View file @
82c687e4
...
@@ -57,6 +57,7 @@ enum {
...
@@ -57,6 +57,7 @@ enum {
ich5_pata
=
0
,
ich5_pata
=
0
,
ich5_sata
=
1
,
ich5_sata
=
1
,
piix4_pata
=
2
,
piix4_pata
=
2
,
ich6_sata
=
3
,
};
};
static
int
piix_init_one
(
struct
pci_dev
*
pdev
,
static
int
piix_init_one
(
struct
pci_dev
*
pdev
,
...
@@ -91,10 +92,8 @@ static struct pci_device_id piix_pci_tbl[] = {
...
@@ -91,10 +92,8 @@ static struct pci_device_id piix_pci_tbl[] = {
* and enhanced mode, with queueing and other fancy stuff.
* and enhanced mode, with queueing and other fancy stuff.
* This is distinguished by PCI class code.
* This is distinguished by PCI class code.
*/
*/
{
0x8086
,
0x2651
,
PCI_ANY_ID
,
PCI_ANY_ID
,
{
0x8086
,
0x2651
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
ich6_sata
},
PCI_CLASS_STORAGE_IDE
<<
8
,
0xffff00
,
ich5_sata
},
{
0x8086
,
0x2652
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
ich6_sata
},
{
0x8086
,
0x2652
,
PCI_ANY_ID
,
PCI_ANY_ID
,
PCI_CLASS_STORAGE_IDE
<<
8
,
0xffff00
,
ich5_sata
},
{
}
/* terminate list */
{
}
/* terminate list */
};
};
...
@@ -199,6 +198,17 @@ static struct ata_port_info piix_port_info[] = {
...
@@ -199,6 +198,17 @@ static struct ata_port_info piix_port_info[] = {
.
udma_mask
=
ATA_UDMA_MASK_40C
,
/* FIXME: cbl det */
.
udma_mask
=
ATA_UDMA_MASK_40C
,
/* FIXME: cbl det */
.
port_ops
=
&
piix_pata_ops
,
.
port_ops
=
&
piix_pata_ops
,
},
},
/* ich6_sata */
{
.
sht
=
&
piix_sht
,
.
host_flags
=
ATA_FLAG_SATA
|
ATA_FLAG_SRST
|
PIIX_FLAG_COMBINED
|
PIIX_FLAG_CHECKINTR
|
ATA_FLAG_SLAVE_POSS
,
.
pio_mask
=
0x03
,
/* pio3-4 */
.
udma_mask
=
0x7f
,
/* udma0-6 ; FIXME */
.
port_ops
=
&
piix_sata_ops
,
},
};
};
static
struct
pci_bits
piix_enable_bits
[]
=
{
static
struct
pci_bits
piix_enable_bits
[]
=
{
...
@@ -327,13 +337,6 @@ static int piix_sata_probe (struct ata_port *ap)
...
@@ -327,13 +337,6 @@ static int piix_sata_probe (struct ata_port *ap)
static
void
piix_sata_phy_reset
(
struct
ata_port
*
ap
)
static
void
piix_sata_phy_reset
(
struct
ata_port
*
ap
)
{
{
if
(
!
pci_test_config_bits
(
ap
->
host_set
->
pdev
,
&
piix_enable_bits
[
ap
->
port_no
]))
{
ata_port_disable
(
ap
);
printk
(
KERN_INFO
"ata%u: port disabled. ignoring.
\n
"
,
ap
->
id
);
return
;
}
if
(
!
piix_sata_probe
(
ap
))
{
if
(
!
piix_sata_probe
(
ap
))
{
ata_port_disable
(
ap
);
ata_port_disable
(
ap
);
printk
(
KERN_INFO
"ata%u: SATA port has no device.
\n
"
,
ap
->
id
);
printk
(
KERN_INFO
"ata%u: SATA port has no device.
\n
"
,
ap
->
id
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment