From d100419a8d5f1acc1c68fa227afb507a9bd07f42 Mon Sep 17 00:00:00 2001 From: Dmitry Shmidt Date: Thu, 17 Jan 2013 14:02:41 -0800 Subject: wl1271: Remove obsolete files Change-Id: I19c9ee8b975db9d6946c39529a4b01e3ba75b098 Signed-off-by: Dmitry Shmidt --- .../stad/src/AirLink_Managment/spectrumMngmntMgr.c | 564 --------------------- 1 file changed, 564 deletions(-) delete mode 100644 wl1271/stad/src/AirLink_Managment/spectrumMngmntMgr.c (limited to 'wl1271/stad/src/AirLink_Managment/spectrumMngmntMgr.c') diff --git a/wl1271/stad/src/AirLink_Managment/spectrumMngmntMgr.c b/wl1271/stad/src/AirLink_Managment/spectrumMngmntMgr.c deleted file mode 100644 index 5bc2b023..00000000 --- a/wl1271/stad/src/AirLink_Managment/spectrumMngmntMgr.c +++ /dev/null @@ -1,564 +0,0 @@ -/* - * spectrumMngmntMgr.c - * - * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name Texas Instruments nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/** \file spectrumMngmntMgr.c - * - * - * \see spectrumMngmntMgr.h - */ - -/****************************************************************************************************/ -/* */ -/* MODULE: spectrumMngmntMgr.c */ -/* PURPOSE: */ -/* */ -/****************************************************************************************************/ - -#define __FILE_ID__ FILE_ID_6 -#include "report.h" -#include "osApi.h" -#include "siteMgrApi.h" -#include "regulatoryDomainApi.h" -#include "mlmeBuilder.h" -#include "Ctrl.h" -#include "spectrumMngmntMgr.h" - -#define RADAR_THRESHOLD_IN_PRECENTS (5) -#define DOT11H_REQUEST_IE_HDR_LEN 3 -#define DOT11H_REQUEST_IE_LEN 7 -#define DOT11_MEASUREMENT_REQUEST_ELE_ID (38) - - -/********************************************************************************/ -/* Internal functions prototypes. */ -/********************************************************************************/ - -/* The following function uses features from the old Measurement module. */ -/* It will have to be adapted to using the new Measurement Manager. */ -#if 0 - -static void buildMapSubFieldForBasicReport(TI_HANDLE hMeasurementMgr, TI_UINT8* map); - -#endif - - -/********************************************************************************/ -/* Internal Structures. */ -/********************************************************************************/ -typedef struct -{ - TI_UINT8 dialogToken; - TI_UINT8 activatioDelay; - TI_UINT8 measurementOffset; -} dot11hFrameReqHdr_t; - -typedef struct -{ - TI_UINT8 IeId; - TI_UINT8 Length; - TI_UINT8 Token; -} dot11hReqIEHdr_t; - -/********************************************************************************/ -/* Interface functions Implementation. */ -/********************************************************************************/ - -/*************************************************************************** - * NOTE: The next 3 functions represent the following situations: Receiving - * of TPC request, receving Quite IE and receiving Switch Channel IE. - * The Measurement SM should be updated to handle this states. - ***************************************************************************/ - - -/*********************************************************************** - * measurementMgr_getBasicMeasurementParam - *********************************************************************** -DESCRIPTION: - - -INPUT: hMeasurementMgr - MeasurementMgr Handle - -OUTPUT: pAcxStatisitics - - pMediumOccupancy - - -RETURN: TI_OK on success, TI_NOK otherwise -************************************************************************/ - -/* The following function uses features from the old Measurement module. */ -/* It will have to be adapted to using the new Measurement Manager. */ -#if 0 - -TI_STATUS measurementMgr_getBasicMeasurementParam(TI_HANDLE hMeasurementMgr, - acxStatisitcs_t* pAcxStatisitics, - mediumOccupancy_t* pMediumOccupancy) -{ - - whalParamInfo_t whalParam; - measurementMgr_t *pMeasurementMgr = (measurementMgr_t*)hMeasurementMgr; - - /* getting the ACX statisitc counters by calling the HAL */ - whalParam.paramType = HAL_CTRL_ACX_STATISTICS_PARAM; - if( (status = whalCtrl_GetParam(pMeasurementMgr->hHalCtrl,&whalParam)) == TI_OK) - { - pAcxStatisitics->FWpacketReceived = whalParam.content.acxStatisitics.FWpacketReceived; - pAcxStatisitics->HALpacketReceived = whalParam.content.acxStatisitics.HALpacketReceived; - } - - /*FIXME*/ - WLAN_OS_REPORT(("-------------- FW total---------------, %d\n\n", - pAcxStatisitics->FWpacketReceived)); - WLAN_OS_REPORT(("-------------- Driver Total---------------, %d\n\n", - pAcxStatisitics->HALpacketReceived)); - - /******************************************************* - * NOTE: If not using a call back function the required * - * information will not be received * - *******************************************************/ - /* getting the Medium Occupancy by calling the HAL */ - whalParam.paramType = HAL_CTRL_MEDIUM_OCCUPANCY_PARAM; - whalParam.content.interogateCmdCBParams.CB_Func = NULL; - whalParam.content.interogateCmdCBParams.CB_handle = hMeasurementMgr; - whalParam.content.interogateCmdCBParams.CB_buf = NULL; - - if( (status = whalCtrl_GetParam(pMeasurementMgr->hHalCtrl,&whalParam)) == TI_OK) - { - return status; - } - - return status; -} - -#endif - -/*********************************************************************** - * NOTE: The next 4 functions (dot11h...) should be corrected according - * to the 802.11h standered. - ***********************************************************************/ - -/************************************************************************ -* measurementMgr_dot11hParserFrameReq * -************************************************************************ -DESCRIPTION: Frame Request Parser function, called by the Measurement - object when a measurement request frame is received. - performs the following: - - Parsers the received frame request. - -INPUT: hMeasurementMgr - MeasurementMgr Handle - pData - The frame request - dataLen - The frame'sa length - -OUTPUT: fraemReq - The Parsered Frame Request - -RETURN: TI_OK on success, TI_NOK otherwise - -************************************************************************/ -TI_STATUS measurementMgr_dot11hParseFrameReq(TI_HANDLE hMeasurementMgr, - TI_UINT8 *pData, TI_INT32 dataLen, - TMeasurementFrameRequest *frameReq) -{ - dot11hFrameReqHdr_t *dot11hFrameReqHdr; - - dot11hFrameReqHdr = (dot11hFrameReqHdr_t*)pData; - - frameReq->hdr->dialogToken = (TI_UINT16)dot11hFrameReqHdr->dialogToken; - frameReq->hdr->activatioDelay = dot11hFrameReqHdr->activatioDelay; - frameReq->hdr->measurementOffset = dot11hFrameReqHdr->measurementOffset; - - frameReq->requests = pData + DOT11H_REQUEST_IE_HDR_LEN; - frameReq->requestsLen = dataLen - DOT11H_REQUEST_IE_HDR_LEN; - - return TI_OK; -} - -/************************************************************************ - * measurementMgr_dot11hParserRequestIEHdr * - ************************************************************************ -DESCRIPTION: Spectrom Manager Request IE Header Parser function, - called by the Request Handler object when inserting - a request IE to the queue. - performs the following: - - Parsers the received request IE hdr. - -INPUT: hRequestHandler - Request Handler handle - pData - The request IE - -OUTPUT: reqestLen - The Request length - measurementToken - The Request IE token - -RETURN: TI_OK on success, TI_NOK otherwise - -************************************************************************/ -TI_STATUS measurementMgr_dot11hParseRequestIEHdr(TI_UINT8 *pData, TI_UINT16 *reqestHdrLen, - TI_UINT16 *measurementToken) -{ - dot11hReqIEHdr_t *dot11hReqIEHdr; - - dot11hReqIEHdr = (dot11hReqIEHdr_t*)pData; - - /* checking if received the correct information element ID */ - if(dot11hReqIEHdr->IeId != DOT11_MEASUREMENT_REQUEST_ELE_ID) - return TI_NOK; - - /* checking that len is valid */ - if(dot11hReqIEHdr->Length != DOT11H_REQUEST_IE_LEN) - return TI_NOK; - - *measurementToken = (TI_UINT16)dot11hReqIEHdr->Token; - - *reqestHdrLen = DOT11H_REQUEST_IE_HDR_LEN; - - return TI_OK; -} - -/************************************************************************ - * measurementMgr_dot11hIsTypeValid * - ************************************************************************ -DESCRIPTION: Spectrom Manager function that checks if the given - measurement type is valid. - -INPUT: hMeasurementMgr - MeasurementMgr Handle - type - The measurement type. - scanMode - The Measurement scan Mode. - -OUTPUT: - -RETURN: TI_TRUE if type is valid, TI_FALSE otherwise - -************************************************************************/ -TI_BOOL measurementMgr_dot11hIsTypeValid(TI_HANDLE hMeasurementMgr, - EMeasurementType type, - EMeasurementScanMode scanMode) -{ - if(type != MSR_TYPE_BASIC_MEASUREMENT) - return TI_FALSE; - - return TI_TRUE; -} - -/*********************************************************************** - * measurementMgr_dot11hBuildRejectReport - *********************************************************************** -DESCRIPTION: Send reject measurement report frame Function. - The function does the following: - - checking the reason for reject. - - builds measurement report Frame. - - Calls the mlmeBuolder to allocate a mangement frame - and to transmit it. - -INPUT: hMeasurementMgr - MeasurementMgr Handle - pRequestArr - Array of pointer to all measurement - request that should be rejected. - numOfRequestsInParallel - indicates the number of - request that should be rejected. - rejectReason - Indicated the rejection reason. - -OUTPUT: None - -RETURN: TI_OK on success, TI_NOK otherwise -************************************************************************/ -TI_STATUS measurementMgr_dot11hBuildRejectReport(TI_HANDLE hMeasurementMgr, - MeasurementRequest_t* pRequestArr[], - TI_UINT8 numOfRequestsInParallel, - EMeasurementRejectReason rejectReason) -{ - measurementMgr_t *pMeasurementMgr = (measurementMgr_t*)hMeasurementMgr; - MeasurementReportFrame_t measurementReport; - TI_UINT8 measurementMode = 0; - - /* Building the measurement report frame contents */ - measurementReport.actionField[0] = CATAGORY_SPECTRUM_MANAGEMENT; - measurementReport.actionField[1] = MEASUREMENT_REPORT; - measurementReport.dialogToken = (TI_UINT8)pRequestArr[0]->frameToken; - - measurementReport.hdr[0] = DOT11_MEASUREMENT_REPORT_ELE_ID; - measurementReport.hdr[1] = DOT11_MIN_MEASUREMENT_REPORT_IE_LEN; - measurementReport.measurementToken = (TI_UINT8)pRequestArr[0]->measurementToken; - measurementReport.measurementType = pRequestArr[0]->Type; - - /* Building the measurement mode bit field */ - - /* setting Parallel Bit */ - if(numOfRequestsInParallel > 0 ) - measurementMode |= 0x1; - - /* setting Incapable and Refused bits */ - switch(rejectReason) - { - case MSR_REJECT_DTIM_OVERLAP: - case MSR_REJECT_DURATION_EXCEED_MAX_DURATION: - case MSR_REJECT_TRAFFIC_INTENSITY_TOO_HIGH: - case MSR_REJECT_SCR_UNAVAILABLE: - case MSR_REJECT_INVALID_CHANNEL: - case MSR_REJECT_NOISE_HIST_FAIL: - case MSR_REJECT_CHANNEL_LOAD_FAIL: - case MSR_REJECT_EMPTY_REPORT: - case MSR_REJECT_MAX_DELAY_PASSED: - case MSR_REJECT_INVALID_MEASUREMENT_TYPE: - { - /* Setting the Refused bit */ - measurementMode |= 0x4; - break; - } - - default: - { -TRACE1(pMeasurementMgr->hReport, REPORT_SEVERITY_ERROR, "Reject reason is not supported, %d\n\n", rejectReason); - - break; - } - } - - measurementReport.measurementMode = measurementMode; -TRACE1(pMeasurementMgr->hReport, REPORT_SEVERITY_WARNING, "Measurement was rejected due to %d,\n\n", rejectReason); - - /* Note: The Measurement report reject frame body includes 8 TI_UINT8 */ - return mlmeBuilder_sendFrame(pMeasurementMgr->hMlme,ACTION,(TI_UINT8*)&measurementReport,8,0); -} - - -/*********************************************************************** - * measurementMgr_dot11hBuildReport - *********************************************************************** -DESCRIPTION: build measurement report Function. - The function does the following: - - builds measurement report IE. - -INPUT: hMeasurementMgr - MeasurementMgr Handle - pRequestArr - Array of pointer to all measurement - request that should be reported. - numOfRequestsInParallel - indicates the number of - request that should be reported. - -OUTPUT: None - -RETURN: TI_OK on success, TI_NOK otherwise -************************************************************************/ -TI_STATUS measurementMgr_dot11hBuildReport(TI_HANDLE hMeasurementMgr, MeasurementRequest_t request, TMeasurementTypeReply * reply) -{ - /*measurementMgr_t *pMeasurement = (measurementMgr_t*)hMeasurementMgr;*/ - MeasurementReportFrame_t measurementReport; - TI_UINT8 totalReportLen = 0; - TI_UINT8 map = 0; - TI_UINT8* pMeasurReport = (TI_UINT8 *)&(measurementReport.measurementReports[0]); - - /* Building the measurement report frame contents */ - measurementReport.actionField[0] = CATAGORY_SPECTRUM_MANAGEMENT; - measurementReport.actionField[1] = MEASUREMENT_REPORT; - measurementReport.dialogToken = (TI_UINT8)request.frameToken; - - measurementReport.hdr[0] = DOT11_MEASUREMENT_REPORT_ELE_ID; - measurementReport.measurementToken = (TI_UINT8)request.measurementToken; - - /* setting Parallel Bit in the measurement mode */ - if(request.isParallel) - measurementReport.measurementMode = 0x1; - - measurementReport.measurementType = request.Type; - - - /* Building the reports included in the current measurement report IE */ - /* Note: The current implementation supports only Basic Report */ - if(request.Type == MSR_TYPE_BASIC_MEASUREMENT) - { - *pMeasurReport++ = request.channelNumber; - *pMeasurReport++ = (TI_UINT8)request.DurationTime; - -/* The following function uses features from the old Measurement module. */ -/* It will have to be adapted to using the new Measurement Manager. */ -#if 0 - /* building the map subfield */ - buildMapSubFieldForBasicReport(hMeasurementMgr,&map); -#endif /* 0 */ - - *pMeasurReport++ = map; - totalReportLen += 3; - } - return TI_OK; -} - -/*********************************************************************** - * measurementMgr_dot11hSendReportAndCleanObject - *********************************************************************** -DESCRIPTION: Send measurement report frame Function. - The function does the following: - - Calls the mlmeBuilder to allocate a mangement frame - and to transmit it. - - Cleans the Measurement Object and reset its Params. - -INPUT: hMeasurementMgr - MeasurementMgr Handle - -OUTPUT: None - -RETURN: TI_OK on success, TI_NOK otherwise -************************************************************************/ -TI_STATUS measurementMgr_dot11hSendReportAndCleanObject(TI_HANDLE hMeasurementMgr) -{ - measurementMgr_t *pMeasurementMgr = (measurementMgr_t*)hMeasurementMgr; - TI_STATUS status; - - /* Building the Report Frame Header */ - /* TO DO */ - - if(pMeasurementMgr->frameLength != 0) - { - /* Setting the IE Length field */ - /* TO DO */ - - /* Sending the Rport Frame */ - status = mlmeBuilder_sendFrame(pMeasurementMgr->hMlme,ACTION, - (TI_UINT8*)&pMeasurementMgr->dot11hFrameReport, - sizeof(dot11_ACTION_FIELD_t) + sizeof(TI_UINT8) + - sizeof(dot11_eleHdr_t) + - DOT11_MIN_MEASUREMENT_REPORT_IE_LEN + - pMeasurementMgr->frameLength,0); - if(status != TI_OK) - return status; - - /* clearing reports data base */ - os_memoryZero(pMeasurementMgr->hOs,&(pMeasurementMgr->dot11hFrameReport), - sizeof(MeasurementReportFrame_t)); - pMeasurementMgr->frameLength = 0; - pMeasurementMgr->nextEmptySpaceInReport = 0; - } - - /* Reset the Measurement Object Params */ - pMeasurementMgr->currentFrameType = MSR_FRAME_TYPE_NO_ACTIVE; - requestHandler_clearRequests(pMeasurementMgr->hRequestH); - - return TI_OK; -} - - -/********************************************************************************/ -/* Internal functions Implementation. */ -/********************************************************************************/ - - - -/*********************************************************************** - * buildMapSubFieldForBasicReport - *********************************************************************** -DESCRIPTION: - - -INPUT: hMeasurementMgr - MeasurementMgr Handle - -OUTPUT: map - - -RETURN: None -************************************************************************/ - -/* The following function uses features from the old Measurement module. */ -/* It will have to be adapted to using the new Measurement Manager. */ -#if 0 - -static void buildMapSubFieldForBasicReport(TI_HANDLE hMeasurementMgr,TI_UINT8* map) -{ - - - TI_INT32 deltaHALReceivedPacked; - TI_INT32 deltaFWReceivedPacked; - TI_INT32 deltaFCSError; - TI_INT32 periodTimeDelta; - TI_INT32 occupancyDelta; - measurementMgr_t* pMeasurementMgr = (measurementMgr_t*)hMeasurementMgr; - - /* getting the AcxStatisitcs from the FW */ - /* NOTE: The medium occupancy will not be updated - FIX */ - -/* The following function uses features from the old Measurement module. */ -/* It will have to be adapted to using the new Measurement Manager. */ -#if 0 - measurementMgr_getBasicMeasurementParam(hMeasurementMgr, &pMeasurementMgr->acxStatisticEnd, - &pMeasurementMgr->mediumOccupancyEnd); -#endif - - /* Calculating the delta for packetReceived from the HAL*/ - deltaHALReceivedPacked = pMeasurementMgr->acxStatisticEnd.HALpacketReceived - - pMeasurementMgr->acxStatisticStart.HALpacketReceived; - - if(deltaHALReceivedPacked < 0) -TRACE1(pMeasurementMgr->hReport, REPORT_SEVERITY_ERROR, "HAL delta packets is negative , %d\n\n", deltaHALReceivedPacked); - - if(deltaHALReceivedPacked != 0 ) - *map = DOT11_BSS_ONLY; - else - { - /* Calculating the delta for FCS Error*/ - deltaFWReceivedPacked = pMeasurementMgr->acxStatisticEnd.FWpacketReceived - - pMeasurementMgr->acxStatisticStart.FWpacketReceived; - - if(deltaFWReceivedPacked < 0) - { -TRACE1(pMeasurementMgr->hReport, REPORT_SEVERITY_ERROR, "FW delta packets is negative , %d\n\n", deltaFWReceivedPacked); - } - - deltaFCSError = deltaFWReceivedPacked - deltaHALReceivedPacked; - - if(deltaFCSError < 0) - { -TRACE1(pMeasurementMgr->hReport, REPORT_SEVERITY_ERROR, "FCS error is negative , %d\n\n", deltaFCSError); - } - - if(deltaFCSError != 0 ) - *map = DOT11_OFDM_ONLY; - else - { - /* Calculating the delta for Medium occupancy */ - occupancyDelta = pMeasurementMgr->mediumOccupancyEnd.MediumUsage - - pMeasurementMgr->mediumOccupancyStart.MediumUsage; - - if(occupancyDelta < 0) - { -TRACE1(pMeasurementMgr->hReport, REPORT_SEVERITY_ERROR, "Medium Occupancy is negative , %d\n\n", occupancyDelta); - } - - periodTimeDelta = pMeasurementMgr->mediumOccupancyEnd.Period - - pMeasurementMgr->mediumOccupancyStart.Period; - - if(periodTimeDelta < 0) - { -TRACE1(pMeasurementMgr->hReport, REPORT_SEVERITY_ERROR, "Period time delta is negative , %d\n\n", periodTimeDelta); - } - - if( ((occupancyDelta * 100) / periodTimeDelta) > RADAR_THRESHOLD_IN_PRECENTS ) - *map = DOT11_RADAR_AND_UNIDENTIFIED; - else - *map = 0; - } - } - - return; -} - -#endif /* 0 */ -- cgit v1.2.3