| /* |
| * 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 |
| } |
| |