Revert r21231 as it's supposedly not possible. Someone implement OHCI then pleazzze!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21241 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
db8890ba1d
commit
b0341b286b
@ -10,7 +10,6 @@
|
|||||||
#include <PCI.h>
|
#include <PCI.h>
|
||||||
#include <USB3.h>
|
#include <USB3.h>
|
||||||
#include <KernelExport.h>
|
#include <KernelExport.h>
|
||||||
#include <driver_settings.h>
|
|
||||||
|
|
||||||
#include "ehci.h"
|
#include "ehci.h"
|
||||||
|
|
||||||
@ -111,7 +110,6 @@ EHCI::EHCI(pci_info *info, Stack *stack)
|
|||||||
fFreeListHead(NULL),
|
fFreeListHead(NULL),
|
||||||
fRootHub(NULL),
|
fRootHub(NULL),
|
||||||
fRootHubAddress(0),
|
fRootHubAddress(0),
|
||||||
fKeepPortOwnership(false),
|
|
||||||
fPortCount(0),
|
fPortCount(0),
|
||||||
fPortResetChange(0),
|
fPortResetChange(0),
|
||||||
fPortSuspendChange(0)
|
fPortSuspendChange(0)
|
||||||
@ -124,12 +122,6 @@ EHCI::EHCI(pci_info *info, Stack *stack)
|
|||||||
TRACE(("usb_ehci: constructing new EHCI Host Controller Driver\n"));
|
TRACE(("usb_ehci: constructing new EHCI Host Controller Driver\n"));
|
||||||
fInitOK = false;
|
fInitOK = false;
|
||||||
|
|
||||||
void *handle = load_driver_settings("ehci");
|
|
||||||
if (handle) {
|
|
||||||
fKeepPortOwnership = get_driver_boolean_parameter(handle, "keep_port_ownership", false, true);
|
|
||||||
unload_driver_settings(handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
// enable busmaster and memory mapped access
|
// enable busmaster and memory mapped access
|
||||||
uint16 command = sPCIModule->read_pci_config(fPCIInfo->bus,
|
uint16 command = sPCIModule->read_pci_config(fPCIInfo->bus,
|
||||||
fPCIInfo->device, fPCIInfo->function, PCI_command, 2);
|
fPCIInfo->device, fPCIInfo->function, PCI_command, 2);
|
||||||
@ -685,7 +677,7 @@ EHCI::ResetPort(uint8 index)
|
|||||||
uint32 portRegister = EHCI_PORTSC + index * sizeof(uint32);
|
uint32 portRegister = EHCI_PORTSC + index * sizeof(uint32);
|
||||||
uint32 portStatus = ReadOpReg(portRegister) & EHCI_PORTSC_DATAMASK;
|
uint32 portStatus = ReadOpReg(portRegister) & EHCI_PORTSC_DATAMASK;
|
||||||
|
|
||||||
if (!fKeepPortOwnership && (portStatus & EHCI_PORTSC_DMINUS)) {
|
if (portStatus & EHCI_PORTSC_DMINUS) {
|
||||||
TRACE(("usb_ehci: lowspeed device connected, giving up port ownership\n"));
|
TRACE(("usb_ehci: lowspeed device connected, giving up port ownership\n"));
|
||||||
// there is a lowspeed device connected.
|
// there is a lowspeed device connected.
|
||||||
// we give the ownership to a companion controller.
|
// we give the ownership to a companion controller.
|
||||||
@ -709,7 +701,7 @@ EHCI::ResetPort(uint8 index)
|
|||||||
return B_ERROR;
|
return B_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!fKeepPortOwnership && (portStatus & EHCI_PORTSC_ENABLE) == 0) {
|
if ((portStatus & EHCI_PORTSC_ENABLE) == 0) {
|
||||||
TRACE(("usb_ehci: fullspeed device connected, giving up port ownership\n"));
|
TRACE(("usb_ehci: fullspeed device connected, giving up port ownership\n"));
|
||||||
// the port was not enabled, this means that no high speed device is
|
// the port was not enabled, this means that no high speed device is
|
||||||
// attached to this port. we give up ownership to a companion controler
|
// attached to this port. we give up ownership to a companion controler
|
||||||
|
@ -156,7 +156,6 @@ static pci_module_info *sPCIModule;
|
|||||||
uint8 fRootHubAddress;
|
uint8 fRootHubAddress;
|
||||||
|
|
||||||
// Port management
|
// Port management
|
||||||
bool fKeepPortOwnership;
|
|
||||||
uint8 fPortCount;
|
uint8 fPortCount;
|
||||||
uint16 fPortResetChange;
|
uint16 fPortResetChange;
|
||||||
uint16 fPortSuspendChange;
|
uint16 fPortSuspendChange;
|
||||||
|
Loading…
Reference in New Issue
Block a user