Changeset 9600516 in mainline for uspace/drv/uhci/uhci_struct


Ignore:
Timestamp:
2011-01-21T16:49:47Z (15 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
643b983
Parents:
1062c8d
Message:

Added transfer queues for interrupt, control and bulk transfers.

UHCI structures refactoring

Location:
uspace/drv/uhci/uhci_struct
Files:
1 added
3 moved

Legend:

Unmodified
Added
Removed
  • uspace/drv/uhci/uhci_struct/frame_list.h

    r1062c8d r9600516  
    3232 * @brief UHCI driver
    3333 */
    34 #ifndef DRV_UHCI_LINK_PTR_H
    35 #define DRV_UHCI_LINK_PTR_H
     34#ifndef DRV_UHCI_FRAME_LIST_H
     35#define DRV_UHCI_FRAME_LIST_H
    3636
    37 #include "td_ptr.h"
     37#include "link_pointer.h"
    3838
    39 /** Links in Frame List */
    40 typedef td_ptr_t link_ptr_t;
     39#define UHCI_FRAME_LIST_COUNT 1024
    4140
     41typedef link_pointer_t frame_list_t[UHCI_FRAME_LIST_COUNT];
    4242#endif
    4343/**
  • uspace/drv/uhci/uhci_struct/link_pointer.h

    r1062c8d r9600516  
    3232 * @brief UHCI driver
    3333 */
    34 #ifndef DRV_UHCI_TD_PTR_H
    35 #define DRV_UHCI_TD_PTR_H
     34#ifndef DRV_UHCI_LINK_POINTER_H
     35#define DRV_UHCI_LINK_POINTER_H
    3636
    37 /** UHCI Transfer Descriptor pointer */
    38 typedef struct td_ptr {
    39         uint32_t fpl:28;
    40         char :2;
     37/* UHCI link pointer, used by many data structures */
     38typedef struct link_pointer {
     39        uint32_t addr:28;
     40        uint8_t zero:1;
     41        uint8_t reserved:1;
    4142        uint8_t qh:1;
    4243        uint8_t terminate:1;
    43 } __attribute__(("packed")) td_ptr_t;
     44} __attribute__((packed)) link_pointer_t;
    4445
    4546#endif
     
    4748 * @}
    4849 */
     50
  • uspace/drv/uhci/uhci_struct/transfer_descriptor.h

    r1062c8d r9600516  
    3232 * @brief UHCI driver
    3333 */
    34 #ifndef DRV_UHCI_TRANSFER_H
    35 #define DRV_UHCI_TRANSFER_H
     34#ifndef DRV_UHCI_TRANSFER_DESCRIPTOR_H
     35#define DRV_UHCI_TRANSFER_DESCRIPTOR_H
     36
     37#include "callback.h"
    3638
    3739/** Status field in UHCI Transfer Descriptor (TD) */
     
    4547        uint8_t bitstuff:1;
    4648        uint8_t :1; /* reserved */
    47 } status_t
     49} status_t;
    4850
    4951/** UHCI Transfer Descriptor */
    50 typedef struct td {
     52typedef struct transfer_descriptor {
    5153        uint32_t fpl:28;
    5254        char :1; /* reserved */
     
    7375
    7476        uint32_t buffer_ptr;
    75 } __attribute__(("packed")) td_t;
    7677
     78        /* there is 16 byte of data available here
     79         * those are used to store callback pointer
     80         * and next pointer. Thus there is some free space
     81         * on 32bits systems.
     82         */
     83        struct transfer_descriptor *next;
     84        callback_t *callback;
     85} __attribute__((packed)) transfer_descriptor_t;
    7786
    7887#endif
Note: See TracChangeset for help on using the changeset viewer.