summaryrefslogtreecommitdiffstats
path: root/default.c
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@dside.dyndns.org>2011-07-09 05:33:18 +0200
committerSuren A. Chilingaryan <csa@dside.dyndns.org>2011-07-09 05:33:18 +0200
commit02924fc49641ca9c000054a7a540b6f1eaa0e8f8 (patch)
tree986ba532752d7e19d85f77eea57f15579fe913d5 /default.c
parent80d999195b2b1896fcd1878a44b0ece474fe678c (diff)
downloadipecamera-02924fc49641ca9c000054a7a540b6f1eaa0e8f8.tar.gz
ipecamera-02924fc49641ca9c000054a7a540b6f1eaa0e8f8.tar.bz2
ipecamera-02924fc49641ca9c000054a7a540b6f1eaa0e8f8.tar.xz
ipecamera-02924fc49641ca9c000054a7a540b6f1eaa0e8f8.zip
Support dynamic registers, support register offsets and multiregisters (bitmasks), list NWL DMA registers
Diffstat (limited to 'default.c')
-rw-r--r--default.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/default.c b/default.c
index f104879..15ae076 100644
--- a/default.c
+++ b/default.c
@@ -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;