diff options
author | root <root@ipechilinga4d> | 2013-02-03 05:49:30 +0100 |
---|---|---|
committer | root <root@ipechilinga4d> | 2013-02-03 05:49:30 +0100 |
commit | b2bead6a5fd74b4543c7bb9278558ff485c22995 (patch) | |
tree | ff466aeebdb08dd8b6ac3e7604dde7dde961c608 /driver | |
parent | 0444091c36134f176738393b659ea60e09dda423 (diff) | |
download | ipecamera-b2bead6a5fd74b4543c7bb9278558ff485c22995.tar.gz ipecamera-b2bead6a5fd74b4543c7bb9278558ff485c22995.tar.bz2 ipecamera-b2bead6a5fd74b4543c7bb9278558ff485c22995.tar.xz ipecamera-b2bead6a5fd74b4543c7bb9278558ff485c22995.zip |
Provide kmem addresses in sysfs
Diffstat (limited to 'driver')
-rw-r--r-- | driver/pciDriver.h | 2 | ||||
-rw-r--r-- | driver/sysfs.c | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/driver/pciDriver.h b/driver/pciDriver.h index d548765..8e9c0bc 100644 --- a/driver/pciDriver.h +++ b/driver/pciDriver.h @@ -61,7 +61,7 @@ /* Identifies the PCI-E Xilinx ML605 */ #define PCIE_XILINX_VENDOR_ID 0x10ee -#define PCIE_ML605_DEVICE_ID 0x04a0 +#define PCIE_ML605_DEVICE_ID 0x6024 /* Identifies the PCI-E IPE Camera */ #define PCIE_IPECAMERA_DEVICE_ID 0x6081 diff --git a/driver/sysfs.c b/driver/sysfs.c index 37cf362..8d3fccf 100644 --- a/driver/sysfs.c +++ b/driver/sysfs.c @@ -100,13 +100,16 @@ static SYSFS_GET_FUNCTION(pcidriver_show_kmem_entry) * sanity checks but can directly call simple_strtol() */ int id = simple_strtol(attr->attr.name + strlen("kbuf"), NULL, 10); pcidriver_kmem_entry_t *entry = pcidriver_kmem_find_entry_id(privdata, id); - if (entry) + if (entry) { + unsigned long addr = entry->cpua; + unsigned long dma_addr = entry->dma_handle; + if (entry->size >= 16) { pcidriver_kmem_sync_entry(privdata, entry, PCILIB_KMEM_SYNC_FROMDEVICE); - return snprintf(buf, PAGE_SIZE, "buffer: %d\ntype: %lx\nuse: 0x%lx\nitem: %lu\nsize: %lu\nrefs: %lu\nhw ref: %i\nmode: 0x%lx\ndata: %8x %8x %8x %8x\n", id, entry->type, entry->use, entry->item, entry->size, entry->refs&KMEM_REF_COUNT, (entry->refs&KMEM_REF_HW)?1:0, entry->mode, *(u32*)(entry->cpua), *(u32*)(entry->cpua + 4), *(u32*)(entry->cpua + 8), *(u32*)(entry->cpua + 12)); + return snprintf(buf, PAGE_SIZE, "buffer: %d\naddr: %lx\nhw addr: %lx\nbus addr: %lx\ntype: %lx\nuse: 0x%lx\nitem: %lu\nsize: %lu\nrefs: %lu\nhw ref: %i\nmode: 0x%lx\ndata: %8x %8x %8x %8x\n", id, addr, dma_addr, dma_addr, entry->type, entry->use, entry->item, entry->size, entry->refs&KMEM_REF_COUNT, (entry->refs&KMEM_REF_HW)?1:0, entry->mode, *(u32*)(entry->cpua), *(u32*)(entry->cpua + 4), *(u32*)(entry->cpua + 8), *(u32*)(entry->cpua + 12)); } else - return snprintf(buf, PAGE_SIZE, "buffer: %d\ntype: %lx\nuse: 0x%lx\nitem: %lu\nsize: %lu\nrefs: %lu\nhw ref: %i\nmode: 0x%lx\n", id, entry->type, entry->use, entry->item, entry->size, entry->refs&KMEM_REF_COUNT, (entry->refs&KMEM_REF_HW)?1:0, entry->mode); - else + return snprintf(buf, PAGE_SIZE, "buffer: %d\naddr: %lx\nhw addr: %lx\nbus addr: %lx\ntype: %lx\nuse: 0x%lx\nitem: %lu\nsize: %lu\nrefs: %lu\nhw ref: %i\nmode: 0x%lx\n", id, addr, dma_addr, dma_addr, entry->type, entry->use, entry->item, entry->size, entry->refs&KMEM_REF_COUNT, (entry->refs&KMEM_REF_HW)?1:0, entry->mode); + } else return snprintf(buf, PAGE_SIZE, "I am in the kmem_entry show function for buffer %d\n", id); #else return 0; |