Lines Matching full:count
258 * Read COUNT 8-bit bytes from port PORT into memory starting at SRC.
260 void ioread8_rep(const void __iomem *port, void *dst, unsigned long count) in ioread8_rep() argument
263 if (!count) in ioread8_rep()
265 count--; in ioread8_rep()
270 while (count >= 4) { in ioread8_rep()
272 count -= 4; in ioread8_rep()
281 while (count) { in ioread8_rep()
282 --count; in ioread8_rep()
288 void insb(unsigned long port, void *dst, unsigned long count) in insb() argument
290 ioread8_rep(ioport_map(port, 1), dst, count); in insb()
297 * Read COUNT 16-bit words from port PORT into memory starting at
303 void ioread16_rep(const void __iomem *port, void *dst, unsigned long count) in ioread16_rep() argument
306 if (!count) in ioread16_rep()
309 count--; in ioread16_rep()
314 while (count >= 2) { in ioread16_rep()
316 count -= 2; in ioread16_rep()
323 if (count) { in ioread16_rep()
328 void insw(unsigned long port, void *dst, unsigned long count) in insw() argument
330 ioread16_rep(ioport_map(port, 2), dst, count); in insw()
338 * Read COUNT 32-bit words from port PORT into memory starting at
343 void ioread32_rep(const void __iomem *port, void *dst, unsigned long count) in ioread32_rep() argument
346 while (count--) { in ioread32_rep()
353 while (count--) { in ioread32_rep()
360 void insl(unsigned long port, void *dst, unsigned long count) in insl() argument
362 ioread32_rep(ioport_map(port, 4), dst, count); in insl()
375 void iowrite8_rep(void __iomem *port, const void *xsrc, unsigned long count) in iowrite8_rep() argument
378 while (count--) in iowrite8_rep()
382 void outsb(unsigned long port, const void *src, unsigned long count) in outsb() argument
384 iowrite8_rep(ioport_map(port, 1), src, count); in outsb()
397 void iowrite16_rep(void __iomem *port, const void *src, unsigned long count) in iowrite16_rep() argument
400 if (!count) in iowrite16_rep()
405 --count; in iowrite16_rep()
408 while (count >= 2) { in iowrite16_rep()
410 count -= 2; in iowrite16_rep()
417 if (count) { in iowrite16_rep()
422 void outsw(unsigned long port, const void *src, unsigned long count) in outsw() argument
424 iowrite16_rep(ioport_map(port, 2), src, count); in outsw()
437 void iowrite32_rep(void __iomem *port, const void *src, unsigned long count) in iowrite32_rep() argument
440 while (count--) { in iowrite32_rep()
447 while (count--) { in iowrite32_rep()
454 void outsl(unsigned long port, const void *src, unsigned long count) in outsl() argument
456 iowrite32_rep(ioport_map(port, 4), src, count); in outsl()
467 void memcpy_fromio(void *to, const volatile void __iomem *from, long count) in memcpy_fromio() argument
472 if (count >= 8 && ((u64)to & 7) == ((u64)from & 7)) { in memcpy_fromio()
473 count -= 8; in memcpy_fromio()
476 count -= 8; in memcpy_fromio()
479 } while (count >= 0); in memcpy_fromio()
480 count += 8; in memcpy_fromio()
483 if (count >= 4 && ((u64)to & 3) == ((u64)from & 3)) { in memcpy_fromio()
484 count -= 4; in memcpy_fromio()
487 count -= 4; in memcpy_fromio()
490 } while (count >= 0); in memcpy_fromio()
491 count += 4; in memcpy_fromio()
494 if (count >= 2 && ((u64)to & 1) == ((u64)from & 1)) { in memcpy_fromio()
495 count -= 2; in memcpy_fromio()
498 count -= 2; in memcpy_fromio()
501 } while (count >= 0); in memcpy_fromio()
502 count += 2; in memcpy_fromio()
505 while (count > 0) { in memcpy_fromio()
507 count--; in memcpy_fromio()
521 void memcpy_toio(volatile void __iomem *to, const void *from, long count) in memcpy_toio() argument
527 if (count >= 8 && ((u64)to & 7) == ((u64)from & 7)) { in memcpy_toio()
528 count -= 8; in memcpy_toio()
531 count -= 8; in memcpy_toio()
534 } while (count >= 0); in memcpy_toio()
535 count += 8; in memcpy_toio()
538 if (count >= 4 && ((u64)to & 3) == ((u64)from & 3)) { in memcpy_toio()
539 count -= 4; in memcpy_toio()
542 count -= 4; in memcpy_toio()
545 } while (count >= 0); in memcpy_toio()
546 count += 4; in memcpy_toio()
549 if (count >= 2 && ((u64)to & 1) == ((u64)from & 1)) { in memcpy_toio()
550 count -= 2; in memcpy_toio()
553 count -= 2; in memcpy_toio()
556 } while (count >= 0); in memcpy_toio()
557 count += 2; in memcpy_toio()
560 while (count > 0) { in memcpy_toio()
562 count--; in memcpy_toio()
575 void _memset_c_io(volatile void __iomem *to, unsigned long c, long count) in _memset_c_io() argument
578 if (count > 0 && ((u64)to & 1)) { in _memset_c_io()
581 count--; in _memset_c_io()
585 if (count >= 2 && ((u64)to & 2)) { in _memset_c_io()
588 count -= 2; in _memset_c_io()
592 if (count >= 4 && ((u64)to & 4)) { in _memset_c_io()
595 count -= 4; in _memset_c_io()
599 (or have a small count) */ in _memset_c_io()
600 count -= 8; in _memset_c_io()
601 if (count >= 0) { in _memset_c_io()
605 count -= 8; in _memset_c_io()
606 } while (count >= 0); in _memset_c_io()
608 count += 8; in _memset_c_io()
610 /* The tail is word-aligned if we still have count >= 4 */ in _memset_c_io()
611 if (count >= 4) { in _memset_c_io()
614 count -= 4; in _memset_c_io()
617 /* The tail is half-word aligned if we have count >= 2 */ in _memset_c_io()
618 if (count >= 2) { in _memset_c_io()
621 count -= 2; in _memset_c_io()
625 if (count) { in _memset_c_io()
637 scr_memcpyw(u16 *d, const u16 *s, unsigned int count) in scr_memcpyw() argument
649 count /= 2; in scr_memcpyw()
650 while (count--) { in scr_memcpyw()
656 memcpy_fromio(d, ios, count); in scr_memcpyw()
659 memcpy_toio(iod, s, count); in scr_memcpyw()
661 memcpy(d, s, count); in scr_memcpyw()