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
6664cef1
Commit
6664cef1
authored
Sep 16, 2002
by
Jens Axboe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] remove pdc202xx.h
remove unused pdc202xx.h
parent
1ab068b3
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
436 deletions
+0
-436
drivers/ide/pci/pdc202xx.h
drivers/ide/pci/pdc202xx.h
+0
-436
No files found.
drivers/ide/pci/pdc202xx.h
deleted
100644 → 0
View file @
1ab068b3
#ifndef PDC202XX_H
#define PDC202XX_H
#include <linux/config.h>
#include <linux/pci.h>
#include <linux/ide.h>
#define DISPLAY_PDC202XX_TIMINGS
#ifndef SPLIT_BYTE
#define SPLIT_BYTE(B,H,L) ((H)=(B>>4), (L)=(B-((B>>4)<<4)))
#endif
#define PDC202XX_DEBUG_DRIVE_INFO 0
#define PDC202XX_DECODE_REGISTER_INFO 0
const
char
*
pdc_quirk_drives
[]
=
{
"QUANTUM FIREBALLlct08 08"
,
"QUANTUM FIREBALLP KA6.4"
,
"QUANTUM FIREBALLP KA9.1"
,
"QUANTUM FIREBALLP LM20.4"
,
"QUANTUM FIREBALLP KX13.6"
,
"QUANTUM FIREBALLP KX20.5"
,
"QUANTUM FIREBALLP KX27.3"
,
"QUANTUM FIREBALLP LM20.5"
,
NULL
};
static
inline
u8
*
pdc202xx_pio_verbose
(
u32
drive_pci
)
{
if
((
drive_pci
&
0x000ff000
)
==
0x000ff000
)
return
(
"NOTSET"
);
if
((
drive_pci
&
0x00000401
)
==
0x00000401
)
return
(
"PIO 4"
);
if
((
drive_pci
&
0x00000602
)
==
0x00000602
)
return
(
"PIO 3"
);
if
((
drive_pci
&
0x00000803
)
==
0x00000803
)
return
(
"PIO 2"
);
if
((
drive_pci
&
0x00000C05
)
==
0x00000C05
)
return
(
"PIO 1"
);
if
((
drive_pci
&
0x00001309
)
==
0x00001309
)
return
(
"PIO 0"
);
return
(
"PIO ?"
);
}
static
inline
u8
*
pdc202xx_dma_verbose
(
u32
drive_pci
)
{
if
((
drive_pci
&
0x00036000
)
==
0x00036000
)
return
(
"MWDMA 2"
);
if
((
drive_pci
&
0x00046000
)
==
0x00046000
)
return
(
"MWDMA 1"
);
if
((
drive_pci
&
0x00056000
)
==
0x00056000
)
return
(
"MWDMA 0"
);
if
((
drive_pci
&
0x00056000
)
==
0x00056000
)
return
(
"SWDMA 2"
);
if
((
drive_pci
&
0x00068000
)
==
0x00068000
)
return
(
"SWDMA 1"
);
if
((
drive_pci
&
0x000BC000
)
==
0x000BC000
)
return
(
"SWDMA 0"
);
return
(
"PIO---"
);
}
static
inline
u8
*
pdc202xx_ultra_verbose
(
u32
drive_pci
,
u16
slow_cable
)
{
if
((
drive_pci
&
0x000ff000
)
==
0x000ff000
)
return
(
"NOTSET"
);
if
((
drive_pci
&
0x00012000
)
==
0x00012000
)
return
((
slow_cable
)
?
"UDMA 2"
:
"UDMA 4"
);
if
((
drive_pci
&
0x00024000
)
==
0x00024000
)
return
((
slow_cable
)
?
"UDMA 1"
:
"UDMA 3"
);
if
((
drive_pci
&
0x00036000
)
==
0x00036000
)
return
(
"UDMA 0"
);
return
(
pdc202xx_dma_verbose
(
drive_pci
));
}
/* A Register */
#define SYNC_ERRDY_EN 0xC0
#define SYNC_IN 0x80
/* control bit, different for master vs. slave drives */
#define ERRDY_EN 0x40
/* control bit, different for master vs. slave drives */
#define IORDY_EN 0x20
/* PIO: IOREADY */
#define PREFETCH_EN 0x10
/* PIO: PREFETCH */
#define PA3 0x08
/* PIO"A" timing */
#define PA2 0x04
/* PIO"A" timing */
#define PA1 0x02
/* PIO"A" timing */
#define PA0 0x01
/* PIO"A" timing */
/* B Register */
#define MB2 0x80
/* DMA"B" timing */
#define MB1 0x40
/* DMA"B" timing */
#define MB0 0x20
/* DMA"B" timing */
#define PB4 0x10
/* PIO_FORCE 1:0 */
#define PB3 0x08
/* PIO"B" timing */
/* PIO flow Control mode */
#define PB2 0x04
/* PIO"B" timing */
/* PIO 4 */
#define PB1 0x02
/* PIO"B" timing */
/* PIO 3 half */
#define PB0 0x01
/* PIO"B" timing */
/* PIO 3 other half */
/* C Register */
#define IORDYp_NO_SPEED 0x4F
#define SPEED_DIS 0x0F
#define DMARQp 0x80
#define IORDYp 0x40
#define DMAR_EN 0x20
#define DMAW_EN 0x10
#define MC3 0x08
/* DMA"C" timing */
#define MC2 0x04
/* DMA"C" timing */
#define MC1 0x02
/* DMA"C" timing */
#define MC0 0x01
/* DMA"C" timing */
#if PDC202XX_DECODE_REGISTER_INFO
#define REG_A 0x01
#define REG_B 0x02
#define REG_C 0x04
#define REG_D 0x08
static
void
decode_registers
(
u8
registers
,
u8
value
)
{
u8
bit
=
0
,
bit1
=
0
,
bit2
=
0
;
switch
(
registers
)
{
case
REG_A
:
bit2
=
0
;
printk
(
"A Register "
);
if
(
value
&
0x80
)
printk
(
"SYNC_IN "
);
if
(
value
&
0x40
)
printk
(
"ERRDY_EN "
);
if
(
value
&
0x20
)
printk
(
"IORDY_EN "
);
if
(
value
&
0x10
)
printk
(
"PREFETCH_EN "
);
if
(
value
&
0x08
)
{
printk
(
"PA3 "
);
bit2
|=
0x08
;
}
if
(
value
&
0x04
)
{
printk
(
"PA2 "
);
bit2
|=
0x04
;
}
if
(
value
&
0x02
)
{
printk
(
"PA1 "
);
bit2
|=
0x02
;
}
if
(
value
&
0x01
)
{
printk
(
"PA0 "
);
bit2
|=
0x01
;
}
printk
(
"PIO(A) = %d "
,
bit2
);
break
;
case
REG_B
:
bit1
=
0
;
bit2
=
0
;
printk
(
"B Register "
);
if
(
value
&
0x80
)
{
printk
(
"MB2 "
);
bit1
|=
0x80
;
}
if
(
value
&
0x40
)
{
printk
(
"MB1 "
);
bit1
|=
0x40
;
}
if
(
value
&
0x20
)
{
printk
(
"MB0 "
);
bit1
|=
0x20
;
}
printk
(
"DMA(B) = %d "
,
bit1
>>
5
);
if
(
value
&
0x10
)
printk
(
"PIO_FORCED/PB4 "
);
if
(
value
&
0x08
)
{
printk
(
"PB3 "
);
bit2
|=
0x08
;
}
if
(
value
&
0x04
)
{
printk
(
"PB2 "
);
bit2
|=
0x04
;
}
if
(
value
&
0x02
)
{
printk
(
"PB1 "
);
bit2
|=
0x02
;
}
if
(
value
&
0x01
)
{
printk
(
"PB0 "
);
bit2
|=
0x01
;
}
printk
(
"PIO(B) = %d "
,
bit2
);
break
;
case
REG_C
:
bit2
=
0
;
printk
(
"C Register "
);
if
(
value
&
0x80
)
printk
(
"DMARQp "
);
if
(
value
&
0x40
)
printk
(
"IORDYp "
);
if
(
value
&
0x20
)
printk
(
"DMAR_EN "
);
if
(
value
&
0x10
)
printk
(
"DMAW_EN "
);
if
(
value
&
0x08
)
{
printk
(
"MC3 "
);
bit2
|=
0x08
;
}
if
(
value
&
0x04
)
{
printk
(
"MC2 "
);
bit2
|=
0x04
;
}
if
(
value
&
0x02
)
{
printk
(
"MC1 "
);
bit2
|=
0x02
;
}
if
(
value
&
0x01
)
{
printk
(
"MC0 "
);
bit2
|=
0x01
;
}
printk
(
"DMA(C) = %d "
,
bit2
);
break
;
case
REG_D
:
printk
(
"D Register "
);
break
;
default:
return
;
}
printk
(
"
\n
%s "
,
(
registers
&
REG_D
)
?
"DP"
:
(
registers
&
REG_C
)
?
"CP"
:
(
registers
&
REG_B
)
?
"BP"
:
(
registers
&
REG_A
)
?
"AP"
:
"ERROR"
);
for
(
bit
=
128
;
bit
>
0
;
bit
/=
2
)
printk
(
"%s"
,
(
value
&
bit
)
?
"1"
:
"0"
);
printk
(
"
\n
"
);
}
#endif
/* PDC202XX_DECODE_REGISTER_INFO */
#define set_2regs(a, b) \
do { \
hwif->OUTB((a + adj), indexreg); \
hwif->OUTB(b, datareg); \
} while(0)
#define set_ultra(a, b, c) \
do { \
set_2regs(0x10,(a)); \
set_2regs(0x11,(b)); \
set_2regs(0x12,(c)); \
} while(0)
#define set_ata2(a, b) \
do { \
set_2regs(0x0e,(a)); \
set_2regs(0x0f,(b)); \
} while(0)
#define set_pio(a, b, c) \
do { \
set_2regs(0x0c,(a)); \
set_2regs(0x0d,(b)); \
set_2regs(0x13,(c)); \
} while(0)
#define DISPLAY_PDC202XX_TIMINGS
#if defined(DISPLAY_PDC202XX_TIMINGS) && defined(CONFIG_PROC_FS)
#include <linux/stat.h>
#include <linux/proc_fs.h>
static
u8
pdc202xx_proc
;
static
int
pdc202xx_get_info
(
char
*
,
char
**
,
off_t
,
int
);
static
ide_pci_host_proc_t
pdc202xx_procs
[]
__initdata
=
{
{
name:
"pdc202xx"
,
set:
1
,
get_info:
pdc202xx_get_info
,
parent:
NULL
,
},
};
#endif
/* DISPLAY_PDC202XX_TIMINGS && CONFIG_PROC_FS */
static
void
init_setup_pdc202ata4
(
struct
pci_dev
*
dev
,
ide_pci_device_t
*
d
);
static
void
init_setup_pdc20265
(
struct
pci_dev
*
,
ide_pci_device_t
*
);
static
void
init_setup_pdc202xx
(
struct
pci_dev
*
,
ide_pci_device_t
*
);
static
void
init_setup_pdc20270
(
struct
pci_dev
*
,
ide_pci_device_t
*
);
static
void
init_setup_pdc20276
(
struct
pci_dev
*
dev
,
ide_pci_device_t
*
d
);
static
unsigned
int
init_chipset_pdc202xx
(
struct
pci_dev
*
,
const
char
*
);
static
void
init_hwif_pdc202xx
(
ide_hwif_t
*
);
static
void
init_hwif_pdc202new
(
ide_hwif_t
*
);
static
void
init_dma_pdc202xx
(
ide_hwif_t
*
,
unsigned
long
);
static
void
init_dma_pdc202new
(
ide_hwif_t
*
,
unsigned
long
);
static
ide_pci_device_t
pdc202xx_chipsets
[]
__initdata
=
{
{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20246
,
name:
"PDC20246"
,
init_setup:
init_setup_pdc202ata4
,
init_chipset:
init_chipset_pdc202xx
,
init_iops:
NULL
,
init_hwif:
init_hwif_pdc202xx
,
init_dma:
init_dma_pdc202xx
,
channels:
2
,
autodma:
AUTODMA
,
#ifdef CONFIG_PDC202XX_FORCE
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
#else
/* !CONFIG_PDC202XX_FORCE */
enablebits:
{{
0x50
,
0x02
,
0x02
},
{
0x50
,
0x04
,
0x04
}},
#endif
bootable:
OFF_BOARD
,
extra:
16
,
},{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20262
,
name:
"PDC20262"
,
init_setup:
init_setup_pdc202ata4
,
init_chipset:
init_chipset_pdc202xx
,
init_iops:
NULL
,
init_hwif:
init_hwif_pdc202xx
,
init_dma:
init_dma_pdc202xx
,
channels:
2
,
autodma:
AUTODMA
,
#ifdef CONFIG_PDC202XX_FORCE
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
#else
/* !CONFIG_PDC202XX_FORCE */
enablebits:
{{
0x50
,
0x02
,
0x02
},
{
0x50
,
0x04
,
0x04
}},
#endif
bootable:
OFF_BOARD
,
extra:
48
,
},{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20263
,
name:
"PDC20263"
,
init_setup:
init_setup_pdc202ata4
,
init_chipset:
init_chipset_pdc202xx
,
init_iops:
NULL
,
init_hwif:
init_hwif_pdc202xx
,
init_dma:
init_dma_pdc202xx
,
channels:
2
,
autodma:
AUTODMA
,
#ifdef CONFIG_PDC202XX_FORCE
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
#else
/* !CONFIG_PDC202XX_FORCE */
enablebits:
{{
0x50
,
0x02
,
0x02
},
{
0x50
,
0x04
,
0x04
}},
#endif
bootable:
OFF_BOARD
,
extra:
48
,
},{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20265
,
name:
"PDC20265"
,
init_setup:
init_setup_pdc20265
,
init_chipset:
init_chipset_pdc202xx
,
init_hwif:
init_hwif_pdc202xx
,
init_dma:
init_dma_pdc202xx
,
channels:
2
,
autodma:
AUTODMA
,
#ifdef CONFIG_PDC202XX_FORCE
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
#else
/* !CONFIG_PDC202XX_FORCE */
enablebits:
{{
0x50
,
0x02
,
0x02
},
{
0x50
,
0x04
,
0x04
}},
#endif
bootable:
OFF_BOARD
,
extra:
48
,
},{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20267
,
name:
"PDC20267"
,
init_setup:
init_setup_pdc202xx
,
init_chipset:
init_chipset_pdc202xx
,
init_iops:
NULL
,
init_hwif:
init_hwif_pdc202xx
,
init_dma:
init_dma_pdc202xx
,
channels:
2
,
autodma:
AUTODMA
,
#ifdef CONFIG_PDC202XX_FORCE
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
#else
/* !CONFIG_PDC202XX_FORCE */
enablebits:
{{
0x50
,
0x02
,
0x02
},
{
0x50
,
0x04
,
0x04
}},
#endif
bootable:
OFF_BOARD
,
extra:
48
,
},{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20268
,
name:
"PDC20268"
,
init_setup:
init_setup_pdc202xx
,
init_chipset:
init_chipset_pdc202xx
,
init_iops:
NULL
,
init_hwif:
init_hwif_pdc202new
,
init_dma:
init_dma_pdc202new
,
channels:
2
,
autodma:
AUTODMA
,
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
bootable:
OFF_BOARD
,
extra:
0
,
},{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20269
,
name:
"PDC20269"
,
init_setup:
init_setup_pdc202xx
,
init_chipset:
init_chipset_pdc202xx
,
init_iops:
NULL
,
init_hwif:
init_hwif_pdc202new
,
init_dma:
init_dma_pdc202new
,
channels:
2
,
autodma:
AUTODMA
,
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
bootable:
OFF_BOARD
,
extra:
0
,
},{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20270
,
name:
"PDC20270"
,
init_setup:
init_setup_pdc20270
,
init_chipset:
init_chipset_pdc202xx
,
init_iops:
NULL
,
init_hwif:
init_hwif_pdc202new
,
init_dma:
init_dma_pdc202new
,
channels:
2
,
autodma:
AUTODMA
,
#ifdef CONFIG_PDC202XX_FORCE
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
#else
/* !CONFIG_PDC202XX_FORCE */
enablebits:
{{
0x50
,
0x02
,
0x02
},
{
0x50
,
0x04
,
0x04
}},
#endif
bootable:
OFF_BOARD
,
extra:
0
,
},{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20271
,
name:
"PDC20271"
,
init_setup:
init_setup_pdc202xx
,
init_chipset:
init_chipset_pdc202xx
,
init_iops:
NULL
,
init_hwif:
init_hwif_pdc202new
,
init_dma:
init_dma_pdc202new
,
channels:
2
,
autodma:
AUTODMA
,
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
bootable:
OFF_BOARD
,
extra:
0
,
},{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20275
,
name:
"PDC20275"
,
init_setup:
init_setup_pdc202xx
,
init_chipset:
init_chipset_pdc202xx
,
init_iops:
NULL
,
init_hwif:
init_hwif_pdc202new
,
init_dma:
init_dma_pdc202new
,
channels:
2
,
autodma:
AUTODMA
,
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
bootable:
OFF_BOARD
,
extra:
0
,
},{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20276
,
name:
"PDC20276"
,
init_setup:
init_setup_pdc20276
,
init_chipset:
init_chipset_pdc202xx
,
init_iops:
NULL
,
init_hwif:
init_hwif_pdc202new
,
init_dma:
init_dma_pdc202new
,
channels:
2
,
autodma:
AUTODMA
,
#ifdef CONFIG_PDC202XX_FORCE
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
#else
/* !CONFIG_PDC202XX_FORCE */
enablebits:
{{
0x50
,
0x02
,
0x02
},
{
0x50
,
0x04
,
0x04
}},
#endif
bootable:
OFF_BOARD
,
extra:
0
,
},{
vendor:
PCI_VENDOR_ID_PROMISE
,
device:
PCI_DEVICE_ID_PROMISE_20277
,
name:
"PDC20277"
,
init_setup:
init_setup_pdc202xx
,
init_chipset:
init_chipset_pdc202xx
,
init_iops:
NULL
,
init_hwif:
init_hwif_pdc202new
,
init_dma:
init_dma_pdc202new
,
channels:
2
,
autodma:
AUTODMA
,
enablebits:
{{
0x00
,
0x00
,
0x00
},
{
0x00
,
0x00
,
0x00
}},
bootable:
OFF_BOARD
,
extra:
0
,
},{
vendor:
0
,
device:
0
,
channels:
0
,
bootable:
EOL
,
}
};
#endif
/* PDC202XX_H */
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