struct hwicap_drvdata {
u32 write_buffer_in_use; /* Always in [0,3] */
u8 write_buffer[4];
u32 read_buffer_in_use; /* Always in [0,3] */
u8 read_buffer[4];
resource_size_t mem_start;/* phys. address of the control registers */
resource_size_t mem_end; /* phys. address of the control registers */
resource_size_t mem_size; void __iomem *base_address;/* virt. address of the control registers */
struct hwicap_driver_config { /* Read configuration data given by size into the data buffer. *Return0ifsuccessful.
*/ int (*get_configuration)(struct hwicap_drvdata *drvdata, u32 *data,
u32 size); /* Write configuration data given by size from the data buffer. *Return0ifsuccessful.
*/ int (*set_configuration)(struct hwicap_drvdata *drvdata, u32 *data,
u32 size); /* Get the status register, bit pattern given by: *D8-0=configurationerror *D7-1=alignmentfound *D6-1=readbackinprogress *D5-0=abortinprogress *D4-Always1 *D3-Always1 *D2-Always1 *D1-Always1 *D0-1=operationcompleted
*/
u32 (*get_status)(struct hwicap_drvdata *drvdata); /* Reset the hw */ void (*reset)(struct hwicap_drvdata *drvdata);
};
/* Number of times to poll the done register. This has to be large *enoughtoallowanentireconfigurationtocomplete.Ifanentire *page(4kb)isconfiguredatonce,thatcouldtakeupto4kcycles *withabyte-wideicapinterface.Inmostcases,thisdriveris *usedwithamuchsmallerfifo,butthisshouldbesufficientinthe *worstcase.
*/ #define XHI_MAX_RETRIES 5000
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.