diff options
author | Suren A. Chilingaryan <csa@dside.dyndns.org> | 2011-07-09 05:33:18 +0200 |
---|---|---|
committer | Suren A. Chilingaryan <csa@dside.dyndns.org> | 2011-07-09 05:33:18 +0200 |
commit | 02924fc49641ca9c000054a7a540b6f1eaa0e8f8 (patch) | |
tree | 986ba532752d7e19d85f77eea57f15579fe913d5 /default.c | |
parent | 80d999195b2b1896fcd1878a44b0ece474fe678c (diff) | |
download | pcitool-02924fc49641ca9c000054a7a540b6f1eaa0e8f8.tar.gz pcitool-02924fc49641ca9c000054a7a540b6f1eaa0e8f8.tar.bz2 pcitool-02924fc49641ca9c000054a7a540b6f1eaa0e8f8.tar.xz pcitool-02924fc49641ca9c000054a7a540b6f1eaa0e8f8.zip |
Support dynamic registers, support register offsets and multiregisters (bitmasks), list NWL DMA registers
Diffstat (limited to 'default.c')
-rw-r--r-- | default.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -8,30 +8,30 @@ #define default_datacpy(dst, src, access, bank) pcilib_datacpy(dst, src, access, 1, bank->raw_endianess) -int pcilib_default_read(pcilib_t *ctx, pcilib_register_bank_description_t *bank, pcilib_register_addr_t addr, uint8_t bits, pcilib_register_value_t *value) { +int pcilib_default_read(pcilib_t *ctx, pcilib_register_bank_description_t *bank, pcilib_register_addr_t addr, pcilib_register_value_t *value) { int err; char *ptr; pcilib_register_value_t val = 0; int access = bank->access / 8; - ptr = pcilib_resolve_register_address(ctx, bank->bar, bank->read_addr + addr * access); + ptr = pcilib_resolve_register_address(ctx, bank->bar, bank->read_addr + addr); default_datacpy(&val, ptr, access, bank); -// printf("%lx %lx\n",val, BIT_MASK(bits)); - *value = val&BIT_MASK(bits); +// *value = val&BIT_MASK(bits); + *value = val; return 0; } -int pcilib_default_write(pcilib_t *ctx, pcilib_register_bank_description_t *bank, pcilib_register_addr_t addr, uint8_t bits, pcilib_register_value_t value) { +int pcilib_default_write(pcilib_t *ctx, pcilib_register_bank_description_t *bank, pcilib_register_addr_t addr, pcilib_register_value_t value) { int err; char *ptr; int access = bank->access / 8; - ptr = pcilib_resolve_register_address(ctx, bank->bar, bank->write_addr + addr * access); + ptr = pcilib_resolve_register_address(ctx, bank->bar, bank->write_addr + addr); default_datacpy(ptr, &value, access, bank); return 0; |