text: /* Copyright 2008-2011 Freescale Semiconductor, Inc.
   *
   * 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 of Freescale Semiconductor nor the
   *       names of its contributors may be used to endorse or promote products
   *       derived from this software without specific prior written permission.
   *
   *
   * ALTERNATIVELY, this software may be distributed under the terms of the
   * GNU General Public License ("GPL") as published by the Free Software
   * Foundation, either version 2 of that License or (at your option) any
   * later version.
   *
   * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``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 Freescale Semiconductor 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.
   */
  
  #include <linux/kernel.h>
  #include <linux/errno.h>
  #include <linux/io.h>
  #include <linux/slab.h>
  #include <linux/module.h>
  #include <linux/interrupt.h>
  #include <linux/delay.h>
  #include <linux/kthread.h>
  
  #include <linux/fsl_bman.h>
  
  void bman_test_high(void);
  void bman_test_thresh(void);
  
  static inline void __hexdump(unsigned long start, unsigned long end,
  			unsigned long p, size_t sz, unsigned char *c)
  {
  	while (start < end) {
  		unsigned int pos = 0;
  		char buf[64];
  		int nl = 0;
  		pos += sprintf(buf + pos, "%08lx: ", start);
  		do {
  			if ((start < p) || (start >= (p + sz)))
  				pos += sprintf(buf + pos, "..");
  			else
  				pos += sprintf(buf + pos, "%02x", *(c++));
  			if (!(++start & 15)) {
  				buf[pos++] = '\n';
  				nl = 1;
  			} else {
  				nl = 0;
  				if(!(start & 1))
  					buf[pos++] = ' ';
  				if(!(start & 3))
  					buf[pos++] = ' ';
  			}
  		} while (start & 15);
  		if (!nl)
  			buf[pos++] = '\n';
  		buf[pos] = '\0';
  		pr_info("%s", buf);
  	}
  }
  static inline void hexdump(void *ptr, size_t sz)
  {
  	unsigned long p = (unsigned long)ptr;
  	unsigned long start = p & ~(unsigned long)15;
  	unsigned long end = (p + sz + 15) & ~(unsigned long)15;
  	unsigned char *c = ptr;
  	__hexdump(start, end, p, sz, c);
  }
  static inline void hexdump_by_cl(void *ptr, size_t sz)
  {
  	unsigned long p = (unsigned long)ptr;
  	unsigned long start = p & ~(unsigned long)63;
  	unsigned long end = (p + sz + 63) & ~(unsigned long)63;
  	unsigned char *c = ptr;
  	__hexdump(start, end, p, sz, c);
  }
  
  