• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/memrar/

Lines Matching defs:rar

133 static inline int memrar_handle_in_range(struct memrar_rar_info *rar,
136 unsigned long const iobase = (unsigned long) (rar->iobase);
137 return (vaddr >= iobase && vaddr < iobase + rar->length);
145 struct memrar_rar_info * const rar = &memrars[i];
146 if (memrar_handle_in_range(rar, vaddr))
147 return rar;
162 struct memrar_rar_info *rar,
165 unsigned long const iobase = (unsigned long) (rar->iobase);
167 if (!memrar_handle_in_range(rar, vaddr))
178 return rar->base + (vaddr - iobase);
190 struct memrar_rar_info *rar,
199 return memrar_get_bus_address(rar, vaddr);
237 * @rarnum: rar that has been allocated
275 struct memrar_rar_info * const rar = &memrars[rarnum];
279 BUG_ON(rar->allocated);
286 rar->base = 0;
287 rar->length = 0;
288 rar->iobase = NULL;
289 rar->allocator = NULL;
299 rar->length = high - low + 1;
302 if (request_mem_region(low, rar->length, devname) == NULL) {
303 rar->length = 0;
310 rar->base = low;
324 rar->iobase = ioremap_nocache(rar->base, rar->length);
325 if (rar->iobase == NULL) {
327 release_mem_region(low, rar->length);
332 rar->allocator = memrar_create_allocator((unsigned long) rar->iobase,
333 rar->length, RAR_BLOCK_SIZE);
334 if (rar->allocator == NULL) {
335 iounmap(rar->iobase);
336 release_mem_region(low, rar->length);
344 devname, rarnum, rar->allocator->capacity / 1024);
346 rar->allocated = 1;
368 struct memrar_rar_info * const rar = &memrars[z];
370 if (!rar->allocated)
377 &rar->buffers.list,
382 memrar_destroy_allocator(rar->allocator);
383 rar->allocator = NULL;
385 iounmap(rar->iobase);
386 release_mem_region(rar->base, rar->length);
388 rar->iobase = NULL;
389 rar->base = 0;
390 rar->length = 0;
412 struct memrar_rar_info *rar = NULL;
418 rar = &memrars[rinfo->type];
419 if (!rar->allocated)
423 handle = memrar_allocator_alloc(rar->allocator, rinfo->size);
430 memrar_allocator_free(rar->allocator, handle);
440 buffer->bus_address = memrar_get_bus_address(rar, handle);
450 mutex_lock(&rar->lock);
451 list_add(&buffer_info->list, &rar->buffers.list);
452 mutex_unlock(&rar->lock);
472 struct memrar_rar_info * const rar = memrar_get_rar_info(addr);
475 if (rar == NULL)
478 mutex_lock(&rar->lock);
486 &rar->buffers.list,
509 mutex_unlock(&rar->lock);
646 struct memrar_rar_info * const rar = memrar_get_rar_info(handle);
654 if (rar == NULL
656 || size > (handle - (unsigned long) rar->iobase))
663 pfn = memrar_get_physical_address(rar, handle) >> PAGE_SHIFT;
723 struct memrar_rar_info * const rar = &memrars[z];
725 mutex_lock(&rar->lock);
729 &rar->buffers.list,
736 mutex_unlock(&rar->lock);
831 struct memrar_rar_info * const rar =
838 if (rar == NULL) {
843 mutex_lock(&rar->lock);
845 list_for_each_entry(pos, &rar->buffers.list, list) {
880 mutex_unlock(&rar->lock);
907 * @rar: RAR number
913 static int memrar_registration_callback(unsigned long rar)
920 return memrar_init_rar_resources(rar, memrar_miscdev.name);
951 struct memrar_rar_info * const rar = &memrars[i];
952 mutex_init(&rar->lock);
953 INIT_LIST_HEAD(&rar->buffers.list);
969 /* It is possible rar 0 registered and allocated resources then rar 1