|
@@ -162,7 +162,7 @@ static u8 pdc202xx_old_cable_detect (ide_hwif_t *hwif)
|
|
|
*/
|
|
|
static void pdc_old_enable_66MHz_clock(ide_hwif_t *hwif)
|
|
|
{
|
|
|
- unsigned long clock_reg = hwif->dma_master + 0x11;
|
|
|
+ unsigned long clock_reg = hwif->extra_base + 0x01;
|
|
|
u8 clock = inb(clock_reg);
|
|
|
|
|
|
outb(clock | (hwif->channel ? 0x08 : 0x02), clock_reg);
|
|
@@ -170,7 +170,7 @@ static void pdc_old_enable_66MHz_clock(ide_hwif_t *hwif)
|
|
|
|
|
|
static void pdc_old_disable_66MHz_clock(ide_hwif_t *hwif)
|
|
|
{
|
|
|
- unsigned long clock_reg = hwif->dma_master + 0x11;
|
|
|
+ unsigned long clock_reg = hwif->extra_base + 0x01;
|
|
|
u8 clock = inb(clock_reg);
|
|
|
|
|
|
outb(clock & ~(hwif->channel ? 0x08 : 0x02), clock_reg);
|
|
@@ -193,7 +193,7 @@ static void pdc202xx_old_ide_dma_start(ide_drive_t *drive)
|
|
|
if (drive->media != ide_disk || drive->addressing == 1) {
|
|
|
struct request *rq = HWGROUP(drive)->rq;
|
|
|
ide_hwif_t *hwif = HWIF(drive);
|
|
|
- unsigned long high_16 = hwif->dma_master;
|
|
|
+ unsigned long high_16 = hwif->extra_base - 16;
|
|
|
unsigned long atapi_reg = high_16 + (hwif->channel ? 0x24 : 0x20);
|
|
|
u32 word_count = 0;
|
|
|
u8 clock = inb(high_16 + 0x11);
|
|
@@ -212,7 +212,7 @@ static int pdc202xx_old_ide_dma_end(ide_drive_t *drive)
|
|
|
{
|
|
|
if (drive->media != ide_disk || drive->addressing == 1) {
|
|
|
ide_hwif_t *hwif = HWIF(drive);
|
|
|
- unsigned long high_16 = hwif->dma_master;
|
|
|
+ unsigned long high_16 = hwif->extra_base - 16;
|
|
|
unsigned long atapi_reg = high_16 + (hwif->channel ? 0x24 : 0x20);
|
|
|
u8 clock = 0;
|
|
|
|
|
@@ -228,7 +228,7 @@ static int pdc202xx_old_ide_dma_end(ide_drive_t *drive)
|
|
|
static int pdc202xx_old_ide_dma_test_irq(ide_drive_t *drive)
|
|
|
{
|
|
|
ide_hwif_t *hwif = HWIF(drive);
|
|
|
- unsigned long high_16 = hwif->dma_master;
|
|
|
+ unsigned long high_16 = hwif->extra_base - 16;
|
|
|
u8 dma_stat = inb(hwif->dma_status);
|
|
|
u8 sc1d = inb(high_16 + 0x001d);
|
|
|
|
|
@@ -271,7 +271,7 @@ static void pdc202xx_dma_timeout(ide_drive_t *drive)
|
|
|
|
|
|
static void pdc202xx_reset_host (ide_hwif_t *hwif)
|
|
|
{
|
|
|
- unsigned long high_16 = hwif->dma_master;
|
|
|
+ unsigned long high_16 = hwif->extra_base - 16;
|
|
|
u8 udma_speed_flag = inb(high_16 | 0x001f);
|
|
|
|
|
|
outb(udma_speed_flag | 0x10, high_16 | 0x001f);
|