blob: 2fa928d2382d54a4757c512c07b62cd52753f90a [file] [log] [blame]
/*
* Copyright (C) 2018 Synaptics Incorporated. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED "AS-IS," AND
* SYNAPTICS EXPRESSLY DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES,
* INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE, AND ANY WARRANTIES OF NON-INFRINGEMENT OF ANY
* INTELLECTUAL PROPERTY RIGHTS. IN NO EVENT SHALL SYNAPTICS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, OR
* CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE
* OF THE INFORMATION CONTAINED IN THIS DOCUMENT, HOWEVER CAUSED AND
* BASED ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, AND EVEN IF SYNAPTICS WAS
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. IF A TRIBUNAL OF
* COMPETENT JURISDICTION DOES NOT PERMIT THE DISCLAIMER OF DIRECT
* DAMAGES OR ANY OTHER DAMAGES, SYNAPTICS' TOTAL CUMULATIVE LIABILITY
* TO ANY PARTY SHALL NOT EXCEED ONE HUNDRED U.S. DOLLARS.
*/
#include "diag_common.h"
#include "diag_misc.h"
/* Macro for aligning the EP queue head to 32 byte boundary */
#define USB_MEM32_ALIGN(n) ((n) + (-(n) & 31))
#define USB_CACHE_ALIGN(n) USB_MEM32_ALIGN(n)
int USB_memalloc(unsigned int n)
{
return diag_buffpool_alloc(USB_CACHE_ALIGN(n), BUFFPOOL_TAG_USB2);
}
void USB_memfree(void * aligned_ptr)
{
diag_buffpool_free((unsigned long long)aligned_ptr, (unsigned char)BUFFPOOL_TAG_USB2);
return;
}
void mydelay_us(int n)
{
#if PLATFORM == ASIC
delay_1us(n);
#else
int i;
for (i=0;i<n;i++);
#endif
}
void mydelay_ms(int n)
{
#if PLATFORM == ASIC
delay_1ms(n);
#else
mydelay_us( n * 1000);
#endif
}