Lines Matching refs:base
52 u_long base, num; member
76 claim_region(struct pcmcia_socket *s, resource_size_t base, in claim_region() argument
82 res = pcmcia_make_resource(base, size, type | IORESOURCE_BUSY, name); in claim_region()
111 static int add_interval(struct resource_map *map, u_long base, u_long num) in add_interval() argument
116 if ((p != map) && (p->base+p->num >= base)) { in add_interval()
117 p->num = max(num + base - p->base, p->num); in add_interval()
120 if ((p->next == map) || (p->next->base > base+num-1)) in add_interval()
128 q->base = base; q->num = num; in add_interval()
135 static int sub_interval(struct resource_map *map, u_long base, u_long num) in sub_interval() argument
143 if ((q->base+q->num > base) && (base+num > q->base)) { in sub_interval()
144 if (q->base >= base) { in sub_interval()
145 if (q->base+q->num <= base+num) { in sub_interval()
153 q->num = q->base + q->num - base - num; in sub_interval()
154 q->base = base + num; in sub_interval()
156 } else if (q->base+q->num <= base+num) { in sub_interval()
158 q->num = base - q->base; in sub_interval()
167 p->base = base+num; in sub_interval()
168 p->num = q->base+q->num - p->base; in sub_interval()
169 q->num = base - q->base; in sub_interval()
185 static void do_io_probe(struct pcmcia_socket *s, unsigned int base, in do_io_probe() argument
194 dev_info(&s->dev, "cs: IO port probe %#x-%#x:", base, base+num-1); in do_io_probe()
203 for (i = base, most = 0; i < base+num; i += 8) { in do_io_probe()
220 for (i = base; i < base+num; i += 8) { in do_io_probe()
247 if ((num > 16) && (bad == base) && (i == base+num)) { in do_io_probe()
348 unsigned long base, unsigned long size, in do_validate_mem() argument
358 res1 = claim_region(s, base, size/2, IORESOURCE_MEM, "PCMCIA memprobe"); in do_validate_mem()
359 res2 = claim_region(s, base + size/2, size/2, IORESOURCE_MEM, in do_validate_mem()
371 base, base+size-1, res1, res2, ret, info1, info2); in do_validate_mem()
381 add_interval(&s_data->mem_db_valid, base, size); in do_validate_mem()
382 sub_interval(&s_data->mem_db, base, size); in do_validate_mem()
403 static int do_mem_probe(struct pcmcia_socket *s, u_long base, u_long num, in do_mem_probe() argument
415 base, base+num-1); in do_mem_probe()
424 for (i = j = base; i < base+num; i = j + step) { in do_mem_probe()
426 for (j = i; j < base+num; j += step) { in do_mem_probe()
430 fail = ((i == base) && (j == base+num)); in do_mem_probe()
433 for (j = i; j < base+num; j += step) in do_mem_probe()
465 if (m->base >= 0x100000) in inv_probe()
466 sub_interval(&s_data->mem_db, m->base, m->num); in inv_probe()
469 if (m->base < 0x100000) in inv_probe()
471 return do_mem_probe(s, m->base, m->num, readable, checksum); in inv_probe()
504 if (mm.base >= 0x100000) in validate_mem()
506 if ((mm.base | mm.num) & 0xffff) { in validate_mem()
507 ok += do_mem_probe(s, mm.base, mm.num, readable, in validate_mem()
514 if ((b >= mm.base) && (b+0x10000 <= mm.base+mm.num)) { in validate_mem()
547 ok += do_mem_probe(s, mm.base, mm.num, readable, checksum); in validate_mem()
616 unsigned long map_start = m->base; in pcmcia_align()
617 unsigned long map_end = m->base + m->num - 1; in pcmcia_align()
660 unsigned long start = m->base; in __nonstatic_adjust_io_region()
661 unsigned long end = m->base + m->num - 1; in __nonstatic_adjust_io_region()
686 unsigned long base, int num, in __nonstatic_find_io_region() argument
693 unsigned long min = base; in __nonstatic_find_io_region()
697 data.offset = base & data.mask; in __nonstatic_find_io_region()
717 unsigned int *base, unsigned int num, in nonstatic_find_io() argument
730 if (!*base) in nonstatic_find_io()
733 if ((s->io[i].res->start & (align-1)) == *base) in nonstatic_find_io()
750 *base, num, in nonstatic_find_io()
755 *base = res->start; in nonstatic_find_io()
766 if ((*base == 0) || (*base == try)) { in nonstatic_find_io()
774 *base = try; in nonstatic_find_io()
783 if ((*base == 0) || (*base == try)) { in nonstatic_find_io()
793 *base = try; in nonstatic_find_io()
805 static struct resource *nonstatic_find_mem_region(u_long base, u_long num, in nonstatic_find_mem_region() argument
818 data.offset = base & data.mask; in nonstatic_find_mem_region()
824 min = base < max ? base : 0; in nonstatic_find_mem_region()
827 min = 0x100000UL + base; in nonstatic_find_mem_region()
1084 ((unsigned long) p->base),
1085 ((unsigned long) p->base + p->num - 1));
1141 ((unsigned long) p->base),
1142 ((unsigned long) p->base + p->num - 1));
1150 ((unsigned long) p->base),
1151 ((unsigned long) p->base + p->num - 1));