Ignore:
Timestamp:
2011-01-25T18:09:20Z (13 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d5f7a8ab
Parents:
643b983
Message:

Use uint32_t and cpp flags intead of bit structure for link_pointer_t

File:
1 edited

Legend:

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

    r643b983 rbae9e76  
    3838#include <assert.h>
    3939
    40 #include "translating_malloc.h"
    4140#include "link_pointer.h"
    4241
     
    4645} __attribute__((packed)) queue_head_t;
    4746
    48 static inline void queue_head_init(queue_head_t *instance, uint32_t next_pa)
     47static inline void queue_head_init(queue_head_t *instance, uint32_t next_queue_pa)
    4948{
    5049        assert(instance);
    51         assert((next_pa & 0xf) == 0);
     50        assert((next_queue_pa & LINK_POINTER_ADDRESS_MASK) == next_queue_pa);
    5251
    53         memset(instance, 0, sizeof(*instance));
    54         instance->element.terminate = 1;
    55         if (next_pa) {
    56                 instance->next_queue.terminate = 0;
    57                 instance->next_queue.addr = next_pa >> 4;
     52        instance->element = 0 | LINK_POINTER_TERMINATE_FLAG;
     53        if (next_queue_pa) {
     54                instance->next_queue = (next_queue_pa & LINK_POINTER_ADDRESS_MASK)
     55                  | LINK_POINTER_QUEUE_HEAD_FLAG;
    5856        } else {
    59                 instance->element.terminate = 1;
     57                instance->next_queue = 0 | LINK_POINTER_TERMINATE_FLAG;
    6058        }
    6159}
Note: See TracChangeset for help on using the changeset viewer.