Changeset f8dfb40 in mainline


Ignore:
Timestamp:
2011-10-16T17:24:02Z (13 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
98fb010
Parents:
19746a96
Message:

ohci: Use saner alignment rules.

Location:
uspace/drv/bus/usb/ohci
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/ohci/hc.c

    r19746a96 rf8dfb40  
    565565
    566566        /*Init HCCA */
    567         instance->hcca = malloc32(sizeof(hcca_t));
     567        instance->hcca = hcca_get();
    568568        if (instance->hcca == NULL)
    569569                return ENOMEM;
  • uspace/drv/bus/usb/ohci/hw_struct/hcca.h

    r19746a96 rf8dfb40  
    3636
    3737#include <stdint.h>
     38#include <malloc.h>
    3839
    3940/** Host controller communication area.
     
    4849} __attribute__((packed, aligned)) hcca_t;
    4950
     51static inline void * hcca_get(void)
     52{
     53        assert(sizeof(hcca_t) == 256);
     54        return memalign(256, sizeof(hcca_t));
     55}
    5056#endif
    5157/**
  • uspace/drv/bus/usb/ohci/utils/malloc32.h

    r19746a96 rf8dfb40  
    4141#include <as.h>
    4242
     43/* Generic TDs and EDs require 16byte alignment,
     44 * Isochronous TD require 32byte alignment,
     45 * buffers do not have to be aligned.
     46 */
     47#define OHCI_ALIGN 32
     48
    4349/** Get physical address translation
    4450 *
     
    6268 */
    6369static inline void * malloc32(size_t size)
    64         { return memalign(size, size); }
     70        { return memalign(OHCI_ALIGN, size); }
    6571/*----------------------------------------------------------------------------*/
    6672/** Physical mallocator simulator
Note: See TracChangeset for help on using the changeset viewer.