/* SPDX-License-Identifier: GPL-2.0+ */ /* * c67x00-hcd.h: Cypress C67X00 USB HCD * * Copyright (C) 2006-2008 Barco N.V. * Derived from the Cypress cy7c67200/300 ezusb linux driver and * based on multiple host controller drivers inside the linux kernel.
*/
/* * The following parameters depend on the CPU speed, bus speed, ... * These can be tuned for specific use cases, e.g. if isochronous transfers * are very important, bandwidth can be sacrificed to guarantee that the * 1ms deadline will be met. * If bulk transfers are important, the MAX_FRAME_BW can be increased, * but some (or many) isochronous deadlines might not be met. * * The values are specified in bittime.
*/
/* * The current implementation switches between _STD (default) and _ISO (when * isochronous transfers are scheduled), in order to optimize the throughput * in normal circumstances, but also provide good isochronous behaviour. * * Bandwidth is described in bit time so with a 12MHz USB clock and 1ms * frames; there are 12000 bit times per frame.
*/
/* * Periodic transfers may only use 90% of the full frame, but as * we currently don't even use 90% of the full frame, we may * use the full usable time for periodic transfers.
*/ #define MAX_PERIODIC_BW(full_bw) full_bw
struct list_head list[4]; /* iso, int, ctrl, bulk */ #if PIPE_BULK != 3 #error"Sanity check failed, this code presumes PIPE_... to range from 0 to 3" #endif
/* USB bandwidth allocated to td_list */ int bandwidth_allocated; /* USB bandwidth allocated for isoc/int transfer */ int periodic_bw_allocated; struct list_head td_list; int max_frame_bw;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.