Example #1
0
NTSTATUS
MPIssueScbPoMgmtCommand(
    IN PFDO_DATA          FdoData,
    IN PCSR_FILTER_STRUC  pNewFilter,
    IN BOOLEAN            WaitForScb
    )
{
    NTSTATUS status = STATUS_UNSUCCESSFUL;

    UNREFERENCED_PARAMETER( pNewFilter );
    UNREFERENCED_PARAMETER( WaitForScb );

    TraceEvents(TRACE_LEVEL_VERBOSE, DBG_POWER,
                "--> MPIssueScbPoMgmtCommand\n");

    do
    {
        // Set up SCB to issue this command

        status = MPSetUpFilterCB(FdoData);

        if (status != STATUS_SUCCESS)
        {
            break;
        }

        // Submit the configure command to the chip, and wait for
        // it to complete.

        FdoData->CSRAddress->ScbGeneralPointer = FdoData->NonTxCmdBlockPhys;

        status = D100SubmitCommandBlockAndWait(FdoData);

        if(status != STATUS_SUCCESS)
        {
            status = STATUS_DEVICE_DATA_ERROR;
            break;
        }

    } WHILE (FALSE);

    TraceEvents(TRACE_LEVEL_VERBOSE, DBG_POWER,
                "<-- MPIssueScbPoMgmtCommand %x\n", status);

    return status;
}
Example #2
0
NTSTATUS
MPIssueScbPoMgmtCommand(
    __in PFDO_DATA FdoData,
    __in PCSR_FILTER_STRUC pNewFilter,
    __in BOOLEAN WaitForScb
    )
{
    NTSTATUS status = STATUS_UNSUCCESSFUL;

    DebugPrint(TRACE, DBG_POWER, "--> MPIssueScbPoMgmtCommand\n");

    do
    {
        // Set up SCB to issue this command

        status = MPSetUpFilterCB(FdoData);

        if (status != STATUS_SUCCESS)
        {
            break;
        }

        // Submit the configure command to the chip, and wait for it to complete.

        FdoData->CSRAddress->ScbGeneralPointer = FdoData->NonTxCmdBlockPhys;

        status = D100SubmitCommandBlockAndWait(FdoData);

        if(status != STATUS_SUCCESS)
        {
            status = STATUS_DEVICE_DATA_ERROR;
            break;
        }

    } while (FALSE);

    DebugPrint(TRACE, DBG_POWER, "<-- MPIssueScbPoMgmtCommand %x\n", status);

    return status;
}