Applied patch2 from bug #2243 for further testing.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25635 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Marcus Overhagen
2008-05-24 14:15:13 +00:00
parent 33e9755153
commit 4f04d37ff3
2 changed files with 10 additions and 6 deletions
@@ -412,7 +412,7 @@ fwohci_probe_phy(struct fwohci_softc *sc)
* number of port supported by core-logic.
* It is not actually available port on your PC .
*/
OWRITE(sc, OHCI_HCCCTL, OHCI_HCC_LPS);
OWRITE(sc, OHCI_HCCCTL, OHCI_HCC_LPS | OHCI_HCC_POSTWR);
DELAY(500);
reg = fwphy_rddata(sc, FW_PHY_SPD_REG);
@@ -706,10 +706,10 @@ fwohci_init(struct fwohci_softc *sc)
sc->sid_buf = sc->sid_dma.v_addr = buf_virt;
sc->sid_dma.bus_addr = (bus_addr_t)buf_phy;
sc->fc.config_rom = sc->crom_dma.v_addr = buf_virt + OHCI_SIDSIZE;
sc->crom_dma.bus_addr = (bus_addr_t)((char *)buf_phy + OHCI_SIDSIZE);
sc->dummy_dma.v_addr = (char *)buf_virt + OHCI_SIDSIZE + sizeof(uint32_t);
sc->dummy_dma.bus_addr = (bus_addr_t)((char *)buf_phy +
OHCI_SIDSIZE + sizeof(uint32_t));
sc->crom_dma.bus_addr = (bus_addr_t)(buf_phy + OHCI_SIDSIZE);
sc->dummy_dma.v_addr = buf_virt + OHCI_SIDSIZE + CROMSIZE;
sc->dummy_dma.bus_addr = (bus_addr_t)(buf_phy +
OHCI_SIDSIZE + CROMSIZE);
fwohci_db_init(sc, &sc->arrq);
if ((sc->arrq.flags & FWOHCI_DBCH_INIT) == 0)
@@ -57,10 +57,13 @@
#include "fwohcireg.h"
#include "fwohcivar.h"
#define PCIM_CMD_IOS 0x0001
#define PCIM_CMD_MEMEN 0x0002
#define PCIM_CMD_BUSMASTEREN 0x0004
#define PCIM_CMD_MWRICEN 0x0010
#define PCIM_CMD_IOS 0x0001
#define PCIM_CMD_PERRESPEN 0x0040
#define PCIM_CMD_SERRESPEN 0x0100
extern pci_module_info *gPci;
extern pci_info *pciInfo[MAX_CARDS];
extern fwohci_softc_t *gFwohci_softc[MAX_CARDS];
@@ -149,6 +152,7 @@ fwohci_pci_attach(int index)
#if 1 /* for broken hardware */
val &= ~PCIM_CMD_MWRICEN;
val &= ~(PCIM_CMD_SERRESPEN | PCIM_CMD_PERRESPEN);
#endif
gPci->write_pci_config(info->bus, info->device, info->function,
PCI_command, 2, val);