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
Kirill Smelkov
linux
Commits
509c4ed3
Commit
509c4ed3
authored
Jun 15, 2002
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge kiwi:v2.5/linux into home.transmeta.com:/home/torvalds/v2.5/linux
parents
9f64c00f
78929a18
Changes
28
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
246 additions
and
459 deletions
+246
-459
arch/i386/kernel/dmi_scan.c
arch/i386/kernel/dmi_scan.c
+0
-28
drivers/ide/Config.help
drivers/ide/Config.help
+2
-0
drivers/ide/Config.in
drivers/ide/Config.in
+1
-1
drivers/ide/aec62xx.c
drivers/ide/aec62xx.c
+0
-2
drivers/ide/alim15x3.c
drivers/ide/alim15x3.c
+1
-2
drivers/ide/amd74xx.c
drivers/ide/amd74xx.c
+0
-2
drivers/ide/cmd64x.c
drivers/ide/cmd64x.c
+89
-94
drivers/ide/cy82c693.c
drivers/ide/cy82c693.c
+4
-4
drivers/ide/hpt34x.c
drivers/ide/hpt34x.c
+0
-1
drivers/ide/hpt366.c
drivers/ide/hpt366.c
+3
-31
drivers/ide/ide-disk.c
drivers/ide/ide-disk.c
+67
-131
drivers/ide/ide-pmac.c
drivers/ide/ide-pmac.c
+1
-16
drivers/ide/ide-taskfile.c
drivers/ide/ide-taskfile.c
+7
-5
drivers/ide/ide.c
drivers/ide/ide.c
+1
-1
drivers/ide/ioctl.c
drivers/ide/ioctl.c
+1
-12
drivers/ide/it8172.c
drivers/ide/it8172.c
+18
-52
drivers/ide/opti621.c
drivers/ide/opti621.c
+1
-2
drivers/ide/pcidma.c
drivers/ide/pcidma.c
+1
-1
drivers/ide/pdc202xx.c
drivers/ide/pdc202xx.c
+1
-5
drivers/ide/piix.c
drivers/ide/piix.c
+0
-2
drivers/ide/probe.c
drivers/ide/probe.c
+4
-0
drivers/ide/serverworks.c
drivers/ide/serverworks.c
+18
-31
drivers/ide/sis5513.c
drivers/ide/sis5513.c
+15
-22
drivers/ide/tcq.c
drivers/ide/tcq.c
+4
-4
drivers/ide/trm290.c
drivers/ide/trm290.c
+1
-1
drivers/ide/via82cxxx.c
drivers/ide/via82cxxx.c
+0
-2
fs/smbfs/smb_debug.h
fs/smbfs/smb_debug.h
+4
-4
include/linux/ide.h
include/linux/ide.h
+2
-3
No files found.
arch/i386/kernel/dmi_scan.c
View file @
509c4ed3
...
...
@@ -185,28 +185,6 @@ struct dmi_blacklist
#define NO_MATCH { NONE, NULL}
#define MATCH(a,b) { a, b }
/*
* We have problems with IDE DMA on some platforms. In paticular the
* KT7 series. On these it seems the newer BIOS has fixed them. The
* rule needs to be improved to match specific BIOS revisions with
* corruption problems
*/
#if 0
static __init int disable_ide_dma(struct dmi_blacklist *d)
{
#ifdef CONFIG_BLK_DEV_IDE
extern int noautodma;
if(noautodma == 0)
{
noautodma = 1;
printk(KERN_INFO "%s series board detected. Disabling IDE DMA.\n", d->ident);
}
#endif
return 0;
}
#endif
/*
* Reboot options and system auto-detection code provided by
* Dell Computer Corporation so their systems "just work". :-)
...
...
@@ -511,12 +489,6 @@ static __init int print_if_true(struct dmi_blacklist *d)
*/
static
__initdata
struct
dmi_blacklist
dmi_blacklist
[]
=
{
#if 0
{ disable_ide_dma, "KT7", { /* Overbroad right now - kill DMA on problem KT7 boards */
MATCH(DMI_PRODUCT_NAME, "KT7-RAID"),
NO_MATCH, NO_MATCH, NO_MATCH
} },
#endif
{
broken_ps2_resume
,
"Dell Latitude C600"
,
{
/* Handle problems with APM on the C600 */
MATCH
(
DMI_SYS_VENDOR
,
"Dell"
),
MATCH
(
DMI_PRODUCT_NAME
,
"Latitude C600"
),
...
...
drivers/ide/Config.help
View file @
509c4ed3
...
...
@@ -372,6 +372,8 @@ CONFIG_BLK_DEV_HPT366
HPT366 is an Ultra DMA chipset for ATA-66.
HPT368 is an Ultra DMA chipset for ATA-66 RAID Based.
HPT370 is an Ultra DMA chipset for ATA-100.
HPT372 is an Ultra DMA chipset for ATA-100.
HPT374 is an Ultra DMA chipset for ATA-100.
This driver adds up to 4 more EIDE devices sharing a single
interrupt.
...
...
drivers/ide/Config.in
View file @
509c4ed3
...
...
@@ -50,7 +50,7 @@ if [ "$CONFIG_BLK_DEV_IDE" != "n" ]; then
dep_bool ' Cyrix CS5530 MediaGX chipset support' CONFIG_BLK_DEV_CS5530 $CONFIG_BLK_DEV_IDEDMA_PCI
dep_bool ' HPT34X chipset support' CONFIG_BLK_DEV_HPT34X $CONFIG_BLK_DEV_IDEDMA_PCI
dep_mbool ' HPT34X AUTODMA support (EXPERMENTAL)' CONFIG_HPT34X_AUTODMA $CONFIG_BLK_DEV_HPT34X $CONFIG_EXPERIMENTAL
dep_bool ' HPT36
6
chipset support' CONFIG_BLK_DEV_HPT366 $CONFIG_BLK_DEV_IDEDMA_PCI
dep_bool ' HPT36
X/37X
chipset support' CONFIG_BLK_DEV_HPT366 $CONFIG_BLK_DEV_IDEDMA_PCI
dep_bool ' Intel and Efar (SMsC) chipset support' CONFIG_BLK_DEV_PIIX $CONFIG_BLK_DEV_IDEDMA_PCI
if [ "$CONFIG_MIPS_ITE8172" = "y" -o "$CONFIG_MIPS_IVR" = "y" ]; then
dep_mbool ' IT8172 IDE support' CONFIG_BLK_DEV_IT8172 $CONFIG_BLK_DEV_IDEDMA_PCI
...
...
drivers/ide/aec62xx.c
View file @
509c4ed3
...
...
@@ -141,8 +141,6 @@ static int aec_set_drive(struct ata_device *drive, unsigned char speed)
else
aec_set_speed_new
(
drive
->
channel
->
pci_dev
,
drive
->
dn
,
&
t
);
drive
->
current_speed
=
speed
;
return
0
;
}
...
...
drivers/ide/alim15x3.c
View file @
509c4ed3
...
...
@@ -53,6 +53,7 @@ static void ali15x3_tune_drive(struct ata_device *drive, byte pio)
t
=
ata_timing_data
(
pio
);
/* FIXME: use generic ata-timing library --bkz */
s_time
=
t
->
setup
;
a_time
=
t
->
active
;
if
((
s_clc
=
(
s_time
*
system_bus_speed
+
999999
)
/
1000000
)
>=
8
)
...
...
@@ -171,8 +172,6 @@ static int ali15x3_tune_chipset(struct ata_device *drive, byte speed)
}
#endif
/* CONFIG_BLK_DEV_IDEDMA */
drive
->
current_speed
=
speed
;
return
ide_config_drive_speed
(
drive
,
speed
);
}
...
...
drivers/ide/amd74xx.c
View file @
509c4ed3
...
...
@@ -153,8 +153,6 @@ static int amd_set_drive(struct ata_device *drive, unsigned char speed)
amd_set_speed
(
drive
->
channel
->
pci_dev
,
drive
->
dn
,
&
t
);
drive
->
current_speed
=
speed
;
return
0
;
}
...
...
drivers/ide/cmd64x.c
View file @
509c4ed3
This diff is collapsed.
Click to expand it.
drivers/ide/cy82c693.c
View file @
509c4ed3
...
...
@@ -204,7 +204,7 @@ static void cy82c693_dma_enable(struct ata_device *drive, int mode, int single)
data
=
IN_BYTE
(
CY82_DATA_PORT
);
printk
(
KERN_INFO
"%s (ch=%d, dev=%d): DMA mode is %d (single=%d)
\n
"
,
drive
->
name
,
drive
->
channel
->
unit
,
drive
->
select
.
b
.
unit
,
(
data
&
0x3
),
((
data
>>
2
)
&
1
));
#endif
/* CY82C693_DEBUG_LOGS */
#endif
data
=
(
byte
)
mode
|
(
byte
)(
single
<<
2
);
...
...
@@ -213,7 +213,7 @@ static void cy82c693_dma_enable(struct ata_device *drive, int mode, int single)
#if CY82C693_DEBUG_INFO
printk
(
KERN_INFO
"%s (ch=%d, dev=%d): set DMA mode to %d (single=%d)
\n
"
,
drive
->
name
,
drive
->
channel
->
unit
,
drive
->
select
.
b
.
unit
,
mode
,
single
);
#endif
/* CY82C693_DEBUG_INFO */
#endif
/*
* note: below we set the value for Bus Master IDE TimeOut Register
...
...
@@ -231,7 +231,7 @@ static void cy82c693_dma_enable(struct ata_device *drive, int mode, int single)
#if CY82C693_DEBUG_INFO
printk
(
KERN_INFO
"%s: Set IDE Bus Master TimeOut Register to 0x%X
\n
"
,
drive
->
name
,
data
);
#endif
/* CY82C693_DEBUG_INFO */
#endif
}
/*
...
...
@@ -331,7 +331,7 @@ static void cy82c693_tune_drive(struct ata_device *drive, byte pio)
#if CY82C693_DEBUG_INFO
printk
(
KERN_INFO
"%s: Selected PIO mode %d
\n
"
,
drive
->
name
,
pio
);
#endif
/* CY82C693_DEBUG_INFO */
#endif
compute_clocks
(
pio
,
&
pclk
);
/* let's calc the values for this PIO mode */
...
...
drivers/ide/hpt34x.c
View file @
509c4ed3
...
...
@@ -63,7 +63,6 @@ static int hpt34x_tune_chipset(struct ata_device *drive, u8 speed)
udma
,
pio
,
err
);
#endif
drive
->
current_speed
=
speed
;
return
ide_config_drive_speed
(
drive
,
speed
);
}
...
...
drivers/ide/hpt366.c
View file @
509c4ed3
...
...
@@ -140,7 +140,7 @@ struct chipset_bus_clock_list_entry {
unsigned
int
chipset_settings
;
};
/* key for bus clock timings
/* key for bus clock timings
for HPT370
* bit
* 0:3 data_high_time. inactive time of DIOW_/DIOR_ for PIO and MW
* DMA. cycles = value + 1
...
...
@@ -408,26 +408,6 @@ static struct chipset_bus_clock_list_entry thirty_three_base_hpt374[] = {
{
0
,
0x06814e93
}
};
#if 0
static struct chipset_bus_clock_list_entry fifty_base_hpt374[] = {
{ XFER_UDMA_6, },
{ XFER_UDMA_5, },
{ XFER_UDMA_4, },
{ XFER_UDMA_3, },
{ XFER_UDMA_2, },
{ XFER_UDMA_1, },
{ XFER_UDMA_0, },
{ XFER_MW_DMA_2, },
{ XFER_MW_DMA_1, },
{ XFER_MW_DMA_0, },
{ XFER_PIO_4, },
{ XFER_PIO_3, },
{ XFER_PIO_2, },
{ XFER_PIO_1, },
{ XFER_PIO_0, },
{ 0, }
};
#endif
#if 0
static struct chipset_bus_clock_list_entry sixty_six_base_hpt374[] = {
{ XFER_UDMA_6, 0x12406231 }, /* checkme */
...
...
@@ -678,21 +658,13 @@ static int hpt3xx_tune_chipset(struct ata_device *drive, u8 speed)
}
else
{
hpt366_tune_chipset
(
drive
,
speed
);
}
drive
->
current_speed
=
speed
;
return
ide_config_drive_speed
(
drive
,
speed
);
}
static
void
hpt3xx_tune_drive
(
struct
ata_device
*
drive
,
u8
pio
)
{
u8
speed
;
switch
(
pio
)
{
case
4
:
speed
=
XFER_PIO_4
;
break
;
case
3
:
speed
=
XFER_PIO_3
;
break
;
case
2
:
speed
=
XFER_PIO_2
;
break
;
case
1
:
speed
=
XFER_PIO_1
;
break
;
default:
speed
=
XFER_PIO_0
;
break
;
}
(
void
)
hpt3xx_tune_chipset
(
drive
,
speed
);
(
void
)
hpt3xx_tune_chipset
(
drive
,
XFER_PIO_0
+
min_t
(
u8
,
pio
,
4
));
}
#ifdef CONFIG_BLK_DEV_IDEDMA
...
...
drivers/ide/ide-disk.c
View file @
509c4ed3
This diff is collapsed.
Click to expand it.
drivers/ide/ide-pmac.c
View file @
509c4ed3
...
...
@@ -341,21 +341,6 @@ pmac_ide_init_hwif_ports(hw_regs_t *hw,
}
}
#if 0
/* This one could be later extended to handle CMD IDE and be used by some kind
* of /proc interface. I want to be able to get the devicetree path of a block
* device for yaboot configuration
*/
struct device_node*
pmac_ide_get_devnode(struct ata_device *drive)
{
int i = pmac_ide_find(drive);
if (i < 0)
return NULL;
return pmac_ide[i].node;
}
#endif
/* Setup timings for the selected drive (master/slave). I still need to verify if this
* is enough, I beleive selectproc will be called whenever an IDE command is started,
* but... */
...
...
@@ -1365,7 +1350,7 @@ static int pmac_udma_start(struct ata_device *drive, struct request *rq)
*/
ix
=
pmac_ide_find
(
drive
);
if
(
ix
<
0
)
return
ide_st
art
ed
;
return
ide_st
opp
ed
;
dma
=
pmac_ide
[
ix
].
dma_regs
;
ata4
=
(
pmac_ide
[
ix
].
kind
==
controller_kl_ata4
||
...
...
drivers/ide/ide-taskfile.c
View file @
509c4ed3
...
...
@@ -242,8 +242,9 @@ int ide_do_drive_cmd(struct ata_device *drive, struct request *rq, ide_action_t
/*
* Invoked on completion of a special REQ_SPECIAL command.
*/
ide_startstop_t
ata_special_intr
(
struct
ata_device
*
drive
,
struct
request
*
rq
)
{
static
ide_startstop_t
special_intr
(
struct
ata_device
*
drive
,
struct
request
*
rq
)
{
struct
ata_taskfile
*
ar
=
rq
->
special
;
ide_startstop_t
ret
=
ide_stopped
;
...
...
@@ -292,16 +293,18 @@ ide_startstop_t ata_special_intr(struct ata_device *drive, struct
return
ret
;
}
int
ide_raw_taskfile
(
struct
ata_device
*
drive
,
struct
ata_taskfile
*
ar
)
int
ide_raw_taskfile
(
struct
ata_device
*
drive
,
struct
ata_taskfile
*
ar
,
char
*
buffer
)
{
struct
request
req
;
ar
->
command_type
=
IDE_DRIVE_TASK_NO_DATA
;
ar
->
XXX_handler
=
ata_
special_intr
;
ar
->
XXX_handler
=
special_intr
;
memset
(
&
req
,
0
,
sizeof
(
req
));
req
.
flags
=
REQ_SPECIAL
;
req
.
special
=
ar
;
req
.
buffer
=
buffer
;
return
ide_do_drive_cmd
(
drive
,
&
req
,
ide_wait
);
}
...
...
@@ -310,5 +313,4 @@ EXPORT_SYMBOL(drive_is_ready);
EXPORT_SYMBOL
(
ide_do_drive_cmd
);
EXPORT_SYMBOL
(
ata_read
);
EXPORT_SYMBOL
(
ata_write
);
EXPORT_SYMBOL
(
ata_special_intr
);
EXPORT_SYMBOL
(
ide_raw_taskfile
);
drivers/ide/ide.c
View file @
509c4ed3
...
...
@@ -560,7 +560,7 @@ static int do_recalibrate(struct ata_device *drive)
memset
(
&
args
,
0
,
sizeof
(
args
));
args
.
taskfile
.
sector_count
=
drive
->
sect
;
args
.
cmd
=
WIN_RESTORE
;
ide_raw_taskfile
(
drive
,
&
args
);
ide_raw_taskfile
(
drive
,
&
args
,
NULL
);
printk
(
KERN_INFO
"%s: done!
\n
"
,
drive
->
name
);
}
...
...
drivers/ide/ioctl.c
View file @
509c4ed3
...
...
@@ -47,7 +47,6 @@ static int do_cmd_ioctl(struct ata_device *drive, unsigned long arg)
u8
*
argbuf
=
vals
;
int
argsize
=
4
;
struct
ata_taskfile
args
;
struct
request
req
;
/* Second phase.
*/
...
...
@@ -78,17 +77,7 @@ static int do_cmd_ioctl(struct ata_device *drive, unsigned long arg)
memset
(
argbuf
+
4
,
0
,
argsize
-
4
);
}
/* Issue ATA command and wait for completion.
*/
args
.
command_type
=
IDE_DRIVE_TASK_NO_DATA
;
args
.
XXX_handler
=
ata_special_intr
;
memset
(
&
req
,
0
,
sizeof
(
req
));
req
.
flags
=
REQ_SPECIAL
;
req
.
special
=
&
args
;
req
.
buffer
=
argbuf
+
4
;
err
=
ide_do_drive_cmd
(
drive
,
&
req
,
ide_wait
);
err
=
ide_raw_taskfile
(
drive
,
&
args
,
argbuf
+
4
);
argbuf
[
0
]
=
drive
->
status
;
argbuf
[
1
]
=
args
.
taskfile
.
feature
;
...
...
drivers/ide/it8172.c
View file @
509c4ed3
...
...
@@ -45,21 +45,11 @@
#include "ata-timing.h"
#include "pcihost.h"
/*
* Prototypes
*/
static
void
it8172_tune_drive
(
struct
ata_device
*
drive
,
byte
pio
);
#if defined(CONFIG_BLK_DEV_IDEDMA) && defined(CONFIG_IT8172_TUNING)
static
byte
it8172_dma_2_pio
(
byte
xfer_rate
);
static
int
it8172_tune_chipset
(
struct
ata_device
*
drive
,
byte
speed
);
static
int
it8172_config_chipset_for_dma
(
struct
ata_device
*
drive
);
static
int
it8172_dmaproc
(
ide_dma_action_t
func
,
struct
ata_device
*
drive
);
#endif
void
__init
ide_init_it8172
(
struct
ata_channel
*
channel
);
static
void
it8172_tune_drive
(
struct
ata_device
*
drive
,
byte
pio
)
/* FIXME: fix locking --bkz */
static
void
it8172_tune_drive
(
struct
ata_device
*
drive
,
u8
pio
)
{
struct
pci_dev
*
dev
=
drive
->
channel
->
pci_dev
;
unsigned
long
flags
;
u16
drive_enables
;
u32
drive_timing
;
...
...
@@ -70,8 +60,8 @@ static void it8172_tune_drive (struct ata_device *drive, byte pio)
else
pio
=
min_t
(
byte
,
pio
,
4
);
pci_read_config_word
(
drive
->
channel
->
pci_
dev
,
master_port
,
&
master_data
);
pci_read_config_dword
(
drive
->
channel
->
pci_
dev
,
slave_port
,
&
slave_data
);
pci_read_config_word
(
dev
,
master_port
,
&
master_data
);
pci_read_config_dword
(
dev
,
slave_port
,
&
slave_data
);
/*
* FIX! The DIOR/DIOW pulse width and recovery times in port 0x44
...
...
@@ -102,7 +92,7 @@ static void it8172_tune_drive (struct ata_device *drive, byte pio)
save_flags
(
flags
);
cli
();
pci_write_config_word
(
drive
->
channel
->
pci_
dev
,
master_port
,
master_data
);
pci_write_config_word
(
dev
,
master_port
,
master_data
);
restore_flags
(
flags
);
}
...
...
@@ -110,7 +100,7 @@ static void it8172_tune_drive (struct ata_device *drive, byte pio)
/*
*
*/
static
byte
it8172_dma_2_pio
(
byte
xfer_rate
)
static
u8
it8172_dma_2_pio
(
u8
xfer_rate
)
{
switch
(
xfer_rate
)
{
case
XFER_UDMA_5
:
...
...
@@ -139,7 +129,7 @@ static byte it8172_dma_2_pio (byte xfer_rate)
}
}
static
int
it8172_tune_chipset
(
struct
ata_device
*
drive
,
byte
speed
)
static
int
it8172_tune_chipset
(
struct
ata_device
*
drive
,
u8
speed
)
{
struct
ata_channel
*
hwif
=
drive
->
channel
;
struct
pci_dev
*
dev
=
hwif
->
pci_dev
;
...
...
@@ -147,7 +137,7 @@ static int it8172_tune_chipset (struct ata_device *drive, byte speed)
int
u_flag
=
1
<<
drive
->
dn
;
int
u_speed
=
0
;
int
err
=
0
;
byte
reg48
,
reg4a
;
u8
reg48
,
reg4a
;
pci_read_config_byte
(
dev
,
0x48
,
&
reg48
);
pci_read_config_byte
(
dev
,
0x4a
,
&
reg4a
);
...
...
@@ -187,52 +177,28 @@ static int it8172_tune_chipset (struct ata_device *drive, byte speed)
it8172_tune_drive
(
drive
,
it8172_dma_2_pio
(
speed
));
err
=
ide_config_drive_speed
(
drive
,
speed
);
drive
->
current_speed
=
speed
;
return
err
;
return
ide_config_drive_speed
(
drive
,
speed
);
}
static
int
it8172_
config_chipset_for_dma
(
struct
ata_device
*
drive
)
static
int
it8172_
udma_setup
(
struct
ata_device
*
drive
)
{
struct
hd_driveid
*
id
=
drive
->
id
;
byte
speed
;
speed
=
ata_timing_mode
(
drive
,
XFER_PIO
|
XFER_EPIO
|
XFER_SWDMA
|
XFER_MWDMA
|
XFER_UDMA
);
u8
speed
=
ata_timing_mode
(
drive
,
XFER_PIO
|
XFER_EPIO
|
XFER_SWDMA
|
XFER_MWDMA
|
XFER_UDMA
);
(
void
)
it8172_tune_chipset
(
drive
,
speed
);
return
((
int
)((
id
->
dma_ultra
>>
11
)
&
7
)
?
ide_dma_on
:
((
id
->
dma_ultra
>>
8
)
&
7
)
?
ide_dma_on
:
((
id
->
dma_mword
>>
8
)
&
7
)
?
ide_dma_on
:
((
id
->
dma_1word
>>
8
)
&
7
)
?
ide_dma_on
:
ide_dma_off_quietly
);
}
static
int
it8172_dmaproc
(
ide_dma_action_t
func
,
struct
ata_device
*
drive
)
{
switch
(
func
)
{
case
ide_dma_check
:
return
ide_dmaproc
((
ide_dma_action_t
)
it8172_config_chipset_for_dma
(
drive
),
drive
);
default
:
break
;
}
/* Other cases are done by generic IDE-DMA code. */
return
ide_dmaproc
(
func
,
drive
);
return
!
it8172_tune_chipset
(
drive
,
speed
);
}
#endif
/* defined(CONFIG_BLK_DEV_IDEDMA) && (CONFIG_IT8172_TUNING) */
static
unsigned
int
__init
pci_init_it8172
(
struct
pci_dev
*
dev
)
static
unsigned
int
__init
pci_init_it8172
(
struct
pci_dev
*
dev
)
{
unsigned
char
progif
;
u8
progif
;
/*
* Place both IDE interfaces into PCI "native" mode
*/
(
void
)
pci_read_config_byte
(
dev
,
PCI_CLASS_PROG
,
&
progif
);
(
void
)
pci_write_config_byte
(
dev
,
PCI_CLASS_PROG
,
progif
|
0x05
);
pci_read_config_byte
(
dev
,
PCI_CLASS_PROG
,
&
progif
);
pci_write_config_byte
(
dev
,
PCI_CLASS_PROG
,
progif
|
0x05
);
return
IT8172_IDE_IRQ
;
}
...
...
drivers/ide/opti621.c
View file @
509c4ed3
...
...
@@ -342,9 +342,8 @@ int __init init_opti621(void)
{
int
i
;
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
chipsets
);
++
i
)
{
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
chipsets
);
++
i
)
ata_register_chipset
(
&
chipsets
[
i
]);
}
return
0
;
}
drivers/ide/pcidma.c
View file @
509c4ed3
...
...
@@ -415,7 +415,7 @@ void udma_destroy_table(struct ata_channel *ch)
*
* Channel lock should be held.
*/
int
udma_pci_start
(
struct
ata_device
*
drive
,
struct
request
*
rq
)
void
udma_pci_start
(
struct
ata_device
*
drive
,
struct
request
*
rq
)
{
struct
ata_channel
*
ch
=
drive
->
channel
;
unsigned
long
dma_base
=
ch
->
dma_base
;
...
...
drivers/ide/pdc202xx.c
View file @
509c4ed3
...
...
@@ -230,8 +230,6 @@ static int pdc202xx_tune_chipset(struct ata_device *drive, byte speed)
printk
(
KERN_DEBUG
"DP(%x)
\n
"
,
DP
);
#endif
drive
->
current_speed
=
speed
;
#if PDC202XX_DEBUG_DRIVE_INFO
printk
(
"%s: %02x drive%d 0x%08x "
,
drive
->
name
,
speed
,
...
...
@@ -352,8 +350,6 @@ static int pdc202xx_new_tune_chipset(struct ata_device *drive, byte speed)
;
}
drive
->
current_speed
=
speed
;
return
ide_config_drive_speed
(
drive
,
speed
);
}
...
...
@@ -551,7 +547,7 @@ static int pdc202xx_udma_setup(struct ata_device *drive)
return
0
;
}
static
int
pdc202xx_udma_start
(
struct
ata_device
*
drive
,
struct
request
*
rq
)
static
void
pdc202xx_udma_start
(
struct
ata_device
*
drive
,
struct
request
*
rq
)
{
struct
ata_channel
*
ch
=
drive
->
channel
;
u32
high_16
=
pci_resource_start
(
ch
->
pci_dev
,
4
);
...
...
drivers/ide/piix.c
View file @
509c4ed3
...
...
@@ -222,8 +222,6 @@ static int piix_set_drive(struct ata_device *drive, unsigned char speed)
piix_set_speed
(
drive
->
channel
->
pci_dev
,
drive
->
dn
,
&
t
,
umul
);
drive
->
current_speed
=
speed
;
return
0
;
}
...
...
drivers/ide/probe.c
View file @
509c4ed3
...
...
@@ -339,6 +339,8 @@ int ide_config_drive_speed(struct ata_device *drive, byte speed)
ata_irq_enable
(
drive
,
1
);
udelay
(
1
);
/* FIXME: use ata_status_poll() --bkz */
ata_busy_poll
(
drive
,
WAIT_CMD
);
/*
...
...
@@ -395,6 +397,8 @@ int ide_config_drive_speed(struct ata_device *drive, byte speed)
default:
break
;
}
drive
->
current_speed
=
speed
;
return
error
;
}
...
...
drivers/ide/serverworks.c
View file @
509c4ed3
...
...
@@ -123,23 +123,21 @@ static int svwks_ratemask(struct ata_device *drive)
return
map
;
}
static
int
svwks_tune_chipset
(
struct
ata_device
*
drive
,
byte
speed
)
static
int
svwks_tune_chipset
(
struct
ata_device
*
drive
,
u8
speed
)
{
static
u8
dma_modes
[]
=
{
0x77
,
0x21
,
0x20
};
static
u8
pio_modes
[]
=
{
0x5d
,
0x47
,
0x34
,
0x22
,
0x20
};
struct
ata_channel
*
hwif
=
drive
->
channel
;
struct
pci_dev
*
dev
=
hwif
->
pci_dev
;
byte
unit
=
(
drive
->
select
.
b
.
unit
&
0x01
);
byte
csb5
=
(
dev
->
device
==
PCI_DEVICE_ID_SERVERWORKS_CSB5IDE
)
?
1
:
0
;
byte
drive_pci
,
drive_pci2
;
byte
drive_pci3
=
hwif
->
unit
?
0x57
:
0x56
;
struct
ata_channel
*
ch
=
drive
->
channel
;
struct
pci_dev
*
dev
=
ch
->
pci_dev
;
u8
unit
=
drive
->
select
.
b
.
unit
&
0x01
;
u8
drive_pci
,
drive_pci2
;
u8
drive_pci3
=
ch
->
unit
?
0x57
:
0x56
;
byte
ultra_enable
,
ultra_timing
,
dma_timing
,
pio_timing
;
u
nsigned
short
csb5_pio
;
u8
ultra_enable
,
ultra_timing
,
dma_timing
,
pio_timing
;
u
16
csb5_pio
;
byte
pio
=
ata_timing_mode
(
drive
,
XFER_PIO
|
XFER_EPIO
)
-
XFER_PIO_0
;
u8
pio
=
ata_timing_mode
(
drive
,
XFER_PIO
|
XFER_EPIO
)
-
XFER_PIO_0
;
switch
(
drive
->
dn
)
{
case
0
:
drive_pci
=
0x41
;
break
;
...
...
@@ -213,7 +211,8 @@ static int svwks_tune_chipset(struct ata_device *drive, byte speed)
#endif
pci_write_config_byte
(
dev
,
drive_pci
,
pio_timing
);
if
(
csb5
)
if
(
dev
->
device
==
PCI_DEVICE_ID_SERVERWORKS_CSB5IDE
)
pci_write_config_word
(
dev
,
0x4A
,
csb5_pio
);
#ifdef CONFIG_BLK_DEV_IDEDMA
...
...
@@ -221,29 +220,20 @@ static int svwks_tune_chipset(struct ata_device *drive, byte speed)
pci_write_config_byte
(
dev
,
drive_pci3
,
ultra_timing
);
pci_write_config_byte
(
dev
,
0x54
,
ultra_enable
);
#endif
drive
->
current_speed
=
speed
;
return
ide_config_drive_speed
(
drive
,
speed
);
}
static
void
svwks_tune_drive
(
struct
ata_device
*
drive
,
byte
pio
)
static
void
svwks_tune_drive
(
struct
ata_device
*
drive
,
u8
pio
)
{
byte
speed
;
switch
(
pio
)
{
case
4
:
speed
=
XFER_PIO_4
;
break
;
case
3
:
speed
=
XFER_PIO_3
;
break
;
case
2
:
speed
=
XFER_PIO_2
;
break
;
case
1
:
speed
=
XFER_PIO_1
;
break
;
default:
speed
=
XFER_PIO_0
;
break
;
}
(
void
)
svwks_tune_chipset
(
drive
,
speed
);
(
void
)
svwks_tune_chipset
(
drive
,
XFER_PIO_0
+
min_t
(
u8
,
pio
,
4
));
}
#ifdef CONFIG_BLK_DEV_IDEDMA
static
int
config_chipset_for_dma
(
struct
ata_device
*
drive
)
{
int
map
;
byte
mode
;
u8
mode
;
/* FIXME: check SWDMA modes --bkz */
map
=
XFER_MWDMA
|
svwks_ratemask
(
drive
);
...
...
@@ -354,7 +344,7 @@ static int svwks_udma_stop(struct ata_device *drive)
static
unsigned
int
__init
svwks_init_chipset
(
struct
pci_dev
*
dev
)
{
unsigned
int
reg
;
byte
btr
;
u8
btr
;
/* save revision id to determine DMA capability */
pci_read_config_byte
(
dev
,
PCI_REVISION_ID
,
&
svwks_revision
);
...
...
@@ -404,8 +394,7 @@ static unsigned int __init svwks_init_chipset(struct pci_dev *dev)
static
unsigned
int
__init
ata66_svwks_dell
(
struct
ata_channel
*
hwif
)
{
struct
pci_dev
*
dev
=
hwif
->
pci_dev
;
if
(
dev
->
subsystem_vendor
==
PCI_VENDOR_ID_DELL
&&
dev
->
vendor
==
PCI_VENDOR_ID_SERVERWORKS
&&
if
(
dev
->
vendor
==
PCI_VENDOR_ID_SERVERWORKS
&&
(
dev
->
device
==
PCI_DEVICE_ID_SERVERWORKS_CSB5IDE
||
dev
->
device
==
PCI_DEVICE_ID_SERVERWORKS_CSB6IDE
))
return
((
1
<<
(
hwif
->
unit
+
14
))
&
...
...
@@ -422,8 +411,7 @@ static unsigned int __init ata66_svwks_dell(struct ata_channel *hwif)
static
unsigned
int
__init
ata66_svwks_cobalt
(
struct
ata_channel
*
hwif
)
{
struct
pci_dev
*
dev
=
hwif
->
pci_dev
;
if
(
dev
->
subsystem_vendor
==
PCI_VENDOR_ID_SUN
&&
dev
->
vendor
==
PCI_VENDOR_ID_SERVERWORKS
&&
if
(
dev
->
vendor
==
PCI_VENDOR_ID_SERVERWORKS
&&
dev
->
device
==
PCI_DEVICE_ID_SERVERWORKS_CSB5IDE
)
return
((
1
<<
(
hwif
->
unit
+
14
))
&
dev
->
subsystem_device
)
?
1
:
0
;
...
...
@@ -501,9 +489,8 @@ int __init init_svwks(void)
{
int
i
;
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
chipsets
);
++
i
)
{
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
chipsets
);
++
i
)
ata_register_chipset
(
&
chipsets
[
i
]);
}
return
0
;
}
drivers/ide/sis5513.c
View file @
509c4ed3
...
...
@@ -267,7 +267,7 @@ static int config_art_rwp_pio(struct ata_device *drive, u8 pio)
{
struct
ata_channel
*
hwif
=
drive
->
channel
;
struct
pci_dev
*
dev
=
hwif
->
pci_dev
;
u8
drive_pci
,
test1
,
test2
,
speed
;
u8
drive_pci
,
test1
,
test2
;
#ifdef DEBUG
sis5513_load_verify_registers
(
dev
,
"config_drive_art_rwp_pio start"
);
...
...
@@ -280,13 +280,10 @@ static int config_art_rwp_pio(struct ata_device *drive, u8 pio)
drive
->
dn
,
pio
,
timing
);
#endif
switch
(
drive
->
dn
)
{
case
0
:
drive_pci
=
0x40
;
break
;
case
1
:
drive_pci
=
0x42
;
break
;
case
2
:
drive_pci
=
0x44
;
break
;
case
3
:
drive_pci
=
0x46
;
break
;
default:
return
1
;
}
if
(
drive
->
dn
>
3
)
/* FIXME: remove this --bkz */
return
1
;
drive_pci
=
0x40
+
(
drive
->
dn
<<
1
);
/* register layout changed with newer ATA100 chips */
if
(
chipset_family
<
ATA_100
)
{
...
...
@@ -321,9 +318,8 @@ static int config_art_rwp_pio(struct ata_device *drive, u8 pio)
#ifdef DEBUG
sis5513_load_verify_registers
(
dev
,
"config_drive_art_rwp_pio start"
);
#endif
speed
=
XFER_PIO_0
+
min_t
(
u8
,
pio
,
4
);
drive
->
current_speed
=
speed
;
return
ide_config_drive_speed
(
drive
,
speed
);
return
ide_config_drive_speed
(
drive
,
XFER_PIO_0
+
min_t
(
u8
,
pio
,
4
));
}
static
int
sis5513_tune_chipset
(
struct
ata_device
*
drive
,
u8
speed
)
...
...
@@ -338,13 +334,11 @@ static int sis5513_tune_chipset(struct ata_device *drive, u8 speed)
printk
(
"SIS5513: sis5513_tune_chipset, drive %d, speed %d
\n
"
,
drive
->
dn
,
speed
);
#endif
switch
(
drive
->
dn
)
{
case
0
:
drive_pci
=
0x40
;
break
;
case
1
:
drive_pci
=
0x42
;
break
;
case
2
:
drive_pci
=
0x44
;
break
;
case
3
:
drive_pci
=
0x46
;
break
;
default:
return
0
;
}
if
(
drive
->
dn
>
3
)
/* FIXME: remove this --bkz */
return
1
;
drive_pci
=
0x40
+
(
drive
->
dn
<<
1
);
#ifdef BROKEN_LEVEL
#ifdef DEBUG
...
...
@@ -396,11 +390,10 @@ static int sis5513_tune_chipset(struct ata_device *drive, u8 speed)
default:
return
config_art_rwp_pio
(
drive
,
0
);
}
drive
->
current_speed
=
speed
;
#ifdef DEBUG
sis5513_load_verify_registers
(
dev
,
"sis5513_tune_chipset end"
);
#endif
return
((
int
)
ide_config_drive_speed
(
drive
,
speed
)
);
return
ide_config_drive_speed
(
drive
,
speed
);
}
static
void
sis5513_tune_drive
(
struct
ata_device
*
drive
,
u8
pio
)
...
...
@@ -568,8 +561,8 @@ static unsigned int __init pci_init_sis5513(struct pci_dev *dev)
static
unsigned
int
__init
ata66_sis5513
(
struct
ata_channel
*
hwif
)
{
byte
reg48h
=
0
,
ata66
=
0
;
byte
mask
=
hwif
->
unit
?
0x20
:
0x10
;
u8
reg48h
,
ata66
=
0
;
u8
mask
=
hwif
->
unit
?
0x20
:
0x10
;
pci_read_config_byte
(
hwif
->
pci_dev
,
0x48
,
&
reg48h
);
if
(
chipset_family
>=
ATA_66
)
{
...
...
drivers/ide/tcq.c
View file @
509c4ed3
...
...
@@ -430,7 +430,7 @@ static int check_autopoll(struct ata_device *drive)
memset
(
&
args
,
0
,
sizeof
(
args
));
args
.
taskfile
.
feature
=
0x01
;
args
.
cmd
=
WIN_NOP
;
ide_raw_taskfile
(
drive
,
&
args
);
ide_raw_taskfile
(
drive
,
&
args
,
NULL
);
if
(
args
.
taskfile
.
feature
&
ABRT_ERR
)
return
1
;
...
...
@@ -458,7 +458,7 @@ static int configure_tcq(struct ata_device *drive)
memset
(
&
args
,
0
,
sizeof
(
args
));
args
.
taskfile
.
feature
=
SETFEATURES_EN_WCACHE
;
args
.
cmd
=
WIN_SETFEATURES
;
if
(
ide_raw_taskfile
(
drive
,
&
args
))
{
if
(
ide_raw_taskfile
(
drive
,
&
args
,
NULL
))
{
printk
(
"%s: failed to enable write cache
\n
"
,
drive
->
name
);
return
1
;
}
...
...
@@ -470,7 +470,7 @@ static int configure_tcq(struct ata_device *drive)
memset
(
&
args
,
0
,
sizeof
(
args
));
args
.
taskfile
.
feature
=
SETFEATURES_DIS_RI
;
args
.
cmd
=
WIN_SETFEATURES
;
if
(
ide_raw_taskfile
(
drive
,
&
args
))
{
if
(
ide_raw_taskfile
(
drive
,
&
args
,
NULL
))
{
printk
(
"%s: disabling release interrupt fail
\n
"
,
drive
->
name
);
return
1
;
}
...
...
@@ -482,7 +482,7 @@ static int configure_tcq(struct ata_device *drive)
memset
(
&
args
,
0
,
sizeof
(
args
));
args
.
taskfile
.
feature
=
SETFEATURES_EN_SI
;
args
.
cmd
=
WIN_SETFEATURES
;
if
(
ide_raw_taskfile
(
drive
,
&
args
))
{
if
(
ide_raw_taskfile
(
drive
,
&
args
,
NULL
))
{
printk
(
"%s: enabling service interrupt fail
\n
"
,
drive
->
name
);
return
1
;
}
...
...
drivers/ide/trm290.c
View file @
509c4ed3
...
...
@@ -176,7 +176,7 @@ static void trm290_selectproc(struct ata_device *drive)
}
#ifdef CONFIG_BLK_DEV_IDEDMA
static
int
trm290_udma_start
(
struct
ata_device
*
drive
,
struct
request
*
__rq
)
static
void
trm290_udma_start
(
struct
ata_device
*
drive
,
struct
request
*
__rq
)
{
/* Nothing to be done here. */
}
...
...
drivers/ide/via82cxxx.c
View file @
509c4ed3
...
...
@@ -199,8 +199,6 @@ static int via_set_drive(struct ata_device *drive, unsigned char speed)
via_set_speed
(
drive
->
channel
->
pci_dev
,
drive
->
dn
,
&
t
);
drive
->
current_speed
=
speed
;
return
0
;
}
...
...
fs/smbfs/smb_debug.h
View file @
509c4ed3
...
...
@@ -11,14 +11,14 @@
* these are normally enabled.
*/
#ifdef SMBFS_PARANOIA
# define PARANOIA(f, a...) printk(KERN_NOTICE "%s: " f, __FUNCTION__, ## a)
# define PARANOIA(f, a...) printk(KERN_NOTICE "%s: " f, __FUNCTION__
, ## a)
#else
# define PARANOIA(f, a...) do { ; } while(0)
#endif
/* lots of debug messages */
#ifdef SMBFS_DEBUG_VERBOSE
# define VERBOSE(f, a...) printk(KERN_DEBUG "%s: " f, __FUNCTION__, ## a)
# define VERBOSE(f, a...) printk(KERN_DEBUG "%s: " f, __FUNCTION__
, ## a)
#else
# define VERBOSE(f, a...) do { ; } while(0)
#endif
...
...
@@ -28,7 +28,7 @@
* too common name.
*/
#ifdef SMBFS_DEBUG
#define DEBUG1(
x...) printk(KERN_DEBUG __FUNCTION__ ": " x
)
#define DEBUG1(
f, a...) printk(KERN_DEBUG "%s: " f, __FUNCTION__ , ## a
)
#else
#define DEBUG1(
x
...) do { ; } while(0)
#define DEBUG1(
f, a
...) do { ; } while(0)
#endif
include/linux/ide.h
View file @
509c4ed3
...
...
@@ -680,8 +680,7 @@ static inline void ide_unmap_rq(struct request *rq, char *to,
bio_kunmap_irq
(
to
,
flags
);
}
extern
ide_startstop_t
ata_special_intr
(
struct
ata_device
*
,
struct
request
*
);
extern
int
ide_raw_taskfile
(
struct
ata_device
*
,
struct
ata_taskfile
*
);
extern
int
ide_raw_taskfile
(
struct
ata_device
*
,
struct
ata_taskfile
*
,
char
*
);
extern
void
ide_fix_driveid
(
struct
hd_driveid
*
id
);
extern
int
ide_config_drive_speed
(
struct
ata_device
*
,
byte
);
...
...
@@ -785,7 +784,7 @@ static inline void udma_irq_lost(struct ata_device *drive)
#ifdef CONFIG_BLK_DEV_IDEDMA
extern
void
udma_pci_enable
(
struct
ata_device
*
drive
,
int
on
,
int
verbose
);
extern
int
udma_pci_start
(
struct
ata_device
*
drive
,
struct
request
*
rq
);
extern
void
udma_pci_start
(
struct
ata_device
*
drive
,
struct
request
*
rq
);
extern
int
udma_pci_stop
(
struct
ata_device
*
drive
);
extern
int
udma_pci_init
(
struct
ata_device
*
drive
,
struct
request
*
rq
);
extern
int
udma_pci_irq_status
(
struct
ata_device
*
drive
);
...
...
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