Moved PCI IDE Bus Master slot, etc. initialization from reset() to init(), should fix them being reset to invalid values on the VIA chipset.
This commit is contained in:
@@ -405,9 +405,6 @@ sff_bus_master_reset(sff8038i_t *dev, uint16_t old_base)
|
|||||||
dev->addr = 0x00000000;
|
dev->addr = 0x00000000;
|
||||||
dev->ptr0 = 0x00;
|
dev->ptr0 = 0x00;
|
||||||
dev->count = dev->eot = 0x00000000;
|
dev->count = dev->eot = 0x00000000;
|
||||||
dev->slot = 7;
|
|
||||||
dev->irq_mode = 2;
|
|
||||||
dev->irq_pin = PCI_INTA;
|
|
||||||
|
|
||||||
ide_pri_disable();
|
ide_pri_disable();
|
||||||
ide_sec_disable();
|
ide_sec_disable();
|
||||||
@@ -478,6 +475,10 @@ static void
|
|||||||
|
|
||||||
ide_set_bus_master(next_id, sff_bus_master_dma, sff_bus_master_set_irq, dev);
|
ide_set_bus_master(next_id, sff_bus_master_dma, sff_bus_master_set_irq, dev);
|
||||||
|
|
||||||
|
dev->slot = 7;
|
||||||
|
dev->irq_mode = 2;
|
||||||
|
dev->irq_pin = PCI_INTA;
|
||||||
|
|
||||||
next_id++;
|
next_id++;
|
||||||
|
|
||||||
return dev;
|
return dev;
|
||||||
|
|||||||
Reference in New Issue
Block a user