Pipe
thread_id Pipe(int* stdOut, int* stdErr) const;
thread_id Pipe(int* stdOut) const;
Pipe::~Pipe()
Pipe::IsEnabled()
Pipe::Configure(display_mode* mode)
Pipe::_ConfigureTranscoder(display_mode* target)
Pipe::TranscoderMode()
Pipe::SetFDILink(const display_timing& timing, uint32 linkBandwidth, uint32 lanes, uint32 bitsPerPixel)
Pipe::ConfigureScalePos(display_mode* target)
Pipe::ConfigureTimings(display_mode* target, bool hardware, port_index portIndex)
Pipe::ConfigureClocks(const pll_divisors& divisors, uint32 pixelClock,
Pipe::ConfigureClocksSKL(const skl_wrpll_params& wrpll_params, uint32 pixelClock,
Pipe::Pipe(pipe_index pipeIndex)
Pipe::Enable(bool enable)
class Pipe {
Pipe(pipe_index pipeIndex);
~Pipe();
Port::SetPipe(Pipe* pipe)
uint32 Pipe = (read32(INTEL_DISPLAY_PORT_A) & INTEL_DISP_PORTA_IVB_PIPE_MASK)
switch (Pipe) {
DisplayPort::SetPipe(Pipe* pipe)
DigitalDisplayInterface::SetPipe(Pipe* pipe)
virtual status_t SetPipe(Pipe* pipe);
virtual status_t SetPipe(Pipe* pipe);
virtual status_t SetPipe(Pipe* pipe);
::Pipe* GetPipe()
Pipe* fPipe;
gInfo->pipes[i] = new(std::nothrow) Pipe(INTEL_PIPE_A);
gInfo->pipes[i] = new(std::nothrow) Pipe(INTEL_PIPE_B);
gInfo->pipes[i] = new(std::nothrow) Pipe(INTEL_PIPE_C);
gInfo->pipes[i] = new(std::nothrow) Pipe(INTEL_PIPE_D);
Pipe* pipes[MAX_PIPES];
pipe.InitCommon(deviceAddress, 0, speed, Pipe::Default, 8, 0, hubAddress,
BusManager::CancelQueuedTransfers(Pipe *pipe, bool force)
BusManager::NotifyPipeChange(Pipe *pipe, usb_change change)
fDefaultPipes[speed]->InitCommon(0, 0, speed, Pipe::Default, 8, 0, 0, 0);
fDefaultPipe->InitCommon(fDeviceAddress, 0, fSpeed, Pipe::Default,
Pipe* pipe = NULL;
Pipe::pipeDirection direction = Pipe::Out;
direction = Pipe::In;
direction = Pipe::Default;
Pipe* pipe = (Pipe*)GetStack()->GetObject(endpoint->handle);
Pipe::ClearFeature(uint16 selector)
Pipe::GetStatus(uint16 *status)
Pipe::Pipe(Object *parent)
: Pipe(parent)
: Pipe(parent)
Pipe::InitCommon(deviceAddress, endpointAddress, speed, direction,
Pipe::~Pipe()
Pipe::CancelQueuedTransfers(true);
: Pipe(parent),
Pipe::InitCommon(int8 deviceAddress, uint8 endpointAddress, usb_speed speed,
: Pipe(parent),
Pipe::InitCommon(deviceAddress, endpointAddress, speed, direction,
return Pipe::CancelQueuedTransfers(force);
Pipe::InitSuperSpeed(uint8 maxBurst, uint16 bytesPerInterval)
Pipe::SetHubInfo(int8 address, uint8 port)
Pipe::SubmitTransfer(Transfer *transfer)
Pipe::CancelQueuedTransfers(bool force)
Pipe::SetFeature(uint16 selector)
Transfer::Transfer(Pipe *pipe)
(((fPipe->Direction() == Pipe::In) ? 7268 : 6265)
if (fPipe->Direction() == Pipe::In)
Pipe *pipe = (Pipe *)get_debug_variable("_usbPipe", 0);
| (pipe->Direction() == Pipe::In ? USB_ENDPOINT_ADDR_DIR_IN
Pipe *parentPipe = ((Device *)pipe->Parent())->DefaultPipe();
debug_run_transfer(Pipe *pipe, uint8 *data, size_t dataLength,
return ((Pipe *)object.Get())->CancelQueuedTransfers(false);
Pipe *pipe = (Pipe *)get_debug_variable("_usbPipe", 0);
virtual status_t CancelQueuedTransfers(Pipe *pipe,
virtual status_t NotifyPipeChange(Pipe *pipe,
class Pipe : public Object {
Pipe(Object *parent);
virtual ~Pipe();
class ControlPipe : public Pipe {
class InterruptPipe : public Pipe {
class BulkPipe : public Pipe {
class IsochronousPipe : public Pipe {
class Pipe;
Transfer(Pipe *pipe);
Pipe * TransferPipe() const { return fPipe; }
BReference<Pipe> fPipe;
Pipe *pipe = transfer->TransferPipe();
Pipe *pipe = transfer->TransferPipe();
bool directionIn = (pipe->Direction() == Pipe::In);
EHCI::NotifyPipeChange(Pipe *pipe, usb_change change)
EHCI::CancelQueuedTransfers(Pipe *pipe, bool force)
EHCI::CancelQueuedIsochronousTransfers(Pipe *pipe, bool force)
EHCI::InitQueueHead(ehci_qh *queueHead, Pipe *pipe)
EHCI::LinkInterruptQueueHead(ehci_qh *queueHead, Pipe *pipe)
Pipe *pipe = transfer->TransferPipe();
Pipe *pipe = transfer->TransferPipe();
bool directionIn = (pipe->Direction() == Pipe::In);
Pipe *pipe = transfer->TransferPipe();
bool directionIn = (pipe->Direction() == Pipe::In);
EHCI::CreateDescriptorChain(Pipe *pipe, ehci_qtd **_firstDescriptor,
Pipe *pipe = transfer->TransferPipe();
EHCI::LinkPeriodicDebugQueueHead(ehci_qh *queueHead, Pipe *pipe)
Pipe *pipe);
Pipe *pipe);
status_t CreateDescriptorChain(Pipe *pipe,
Pipe * fProcessingPipe;
ehci_qh *queueHead, Pipe *pipe);
virtual status_t CancelQueuedTransfers(Pipe *pipe, bool force);
status_t CancelQueuedIsochronousTransfers(Pipe *pipe, bool force);
virtual status_t NotifyPipeChange(Pipe *pipe,
Pipe *pipe = transfer->TransferPipe();
bool directionIn = (pipe->Direction() == Pipe::In);
Pipe *pipe = transfer->TransferPipe();
bool directionIn = (pipe->Direction() == Pipe::In);
if (pipe->Direction() == Pipe::Out)
OHCI::_InsertEndpointForPipe(Pipe *pipe)
case Pipe::In:
case Pipe::Out:
case Pipe::Default:
OHCI::_RemoveEndpointForPipe(Pipe *pipe)
Pipe *pipe = transfer->TransferPipe();
OHCI::CancelQueuedTransfers(Pipe *pipe, bool force)
OHCI::NotifyPipeChange(Pipe *pipe, usb_change change)
status_t _InsertEndpointForPipe(Pipe *pipe);
status_t _RemoveEndpointForPipe(Pipe *pipe);
Pipe * fProcessingPipe;
virtual status_t CancelQueuedTransfers(Pipe *pipe,
virtual status_t NotifyPipeChange(Pipe *pipe,
UHCI::CancelQueuedIsochronousTransfers(Pipe *pipe, bool force)
Pipe *pipe = transfer->TransferPipe();
Pipe *pipe = transfer->TransferPipe();
bool directionIn = (pipe->Direction() == Pipe::In);
Pipe *pipe = transfer->TransferPipe();
bool directionIn = (pipe->Direction() == Pipe::In);
UHCI::CreateDescriptor(Pipe *pipe, uint8 direction, size_t bufferSize)
UHCI::CreateDescriptorChain(Pipe *pipe, uhci_td **_firstDescriptor,
Pipe *pipe = transfer->TransferPipe();
bool directionIn = (pipe->Direction() == Pipe::In);
if (transfer->TransferPipe()->Direction() == Pipe::In) {
UHCI::CancelQueuedTransfers(Pipe *pipe, bool force)
virtual status_t CancelQueuedTransfers(Pipe *pipe, bool force);
status_t CancelQueuedIsochronousTransfers(Pipe *pipe, bool force);
uhci_td * CreateDescriptor(Pipe *pipe,
status_t CreateDescriptorChain(Pipe *pipe,
Pipe * fProcessingPipe;
XHCI::CancelQueuedTransfers(Pipe *pipe, bool force)
Pipe *pipe = transfer->TransferPipe();
bool directionIn = (transfer->TransferPipe()->Direction() != Pipe::Out);
XHCI::NotifyPipeChange(Pipe *pipe, usb_change change)
pipe.InitCommon(device->address + 1, 0, speed, Pipe::Default, maxPacketSize, 0,
XHCI::_InsertEndpointForPipe(Pipe *pipe)
+ (pipe->Direction() != Pipe::Out ? 1 : 0)) - 1;
pipe->Direction() == Pipe::In, pipe->Interval(), pipe->MaxPacketSize(),
XHCI::_RemoveEndpointForPipe(Pipe *pipe)
(td->transfer->TransferPipe()->Direction() != Pipe::Out));
bool directionIn = (transfer->TransferPipe()->Direction() != Pipe::Out);
Pipe *pipe = transfer->TransferPipe();
Pipe *pipe = transfer->TransferPipe();
Pipe *pipe = transfer->TransferPipe();
bool directionIn = (pipe->Direction() == Pipe::In);
virtual status_t CancelQueuedTransfers(Pipe *pipe, bool force);
virtual status_t NotifyPipeChange(Pipe *pipe,
status_t _InsertEndpointForPipe(Pipe *pipe);
status_t _RemoveEndpointForPipe(Pipe *pipe);
open_params.Pipe.nPipe = index;
open_params.Pipe.bIsInput = stream->use == ECHO_USE_RECORD ? TRUE : FALSE;
open_params.Pipe.wInterleave = channels;
if ( pOpenParameters->Pipe.bIsInput )
for ( i = 0; i < pOpenParameters->Pipe.wInterleave; i++ )
m_Pipes[ wPipeIndex ] = pOpenParameters->Pipe;
( pOpenParameters->Pipe.bIsInput ) ? "Input" : "Output",
pOpenParameters->Pipe.nPipe,
pOpenParameters->Pipe.wInterleave,
wPipe = pOpenParameters->Pipe.nPipe;
wWidth = pOpenParameters->Pipe.wInterleave;
ECHOGALS_AUDIO_PIPE Pipe; // Pipe descriptor
thread_id tid = Pipe(stdOut, stdErr);
thread_id tid = Pipe(fStdOut, fStdErr);
wait_for_thread(Pipe(stdOut, stdErr), &exitCode);