Lines Matching refs:count

277 void ioread8_rep(const void __iomem *port, void *dst, unsigned long count)
280 if (!count)
282 count--;
287 while (count >= 4) {
289 count -= 4;
298 while (count) {
299 --count;
305 void insb(unsigned long port, void *dst, unsigned long count)
307 ioread8_rep(ioport_map(port, 1), dst, count);
320 void ioread16_rep(const void __iomem *port, void *dst, unsigned long count)
323 if (!count)
326 count--;
331 while (count >= 2) {
333 count -= 2;
340 if (count) {
345 void insw(unsigned long port, void *dst, unsigned long count)
347 ioread16_rep(ioport_map(port, 2), dst, count);
360 void ioread32_rep(const void __iomem *port, void *dst, unsigned long count)
363 while (count--) {
370 while (count--) {
377 void insl(unsigned long port, void *dst, unsigned long count)
379 ioread32_rep(ioport_map(port, 4), dst, count);
392 void iowrite8_rep(void __iomem *port, const void *xsrc, unsigned long count)
395 while (count--)
399 void outsb(unsigned long port, const void *src, unsigned long count)
401 iowrite8_rep(ioport_map(port, 1), src, count);
414 void iowrite16_rep(void __iomem *port, const void *src, unsigned long count)
417 if (!count)
422 --count;
425 while (count >= 2) {
427 count -= 2;
434 if (count) {
439 void outsw(unsigned long port, const void *src, unsigned long count)
441 iowrite16_rep(ioport_map(port, 2), src, count);
454 void iowrite32_rep(void __iomem *port, const void *src, unsigned long count)
457 while (count--) {
464 while (count--) {
471 void outsl(unsigned long port, const void *src, unsigned long count)
473 iowrite32_rep(ioport_map(port, 4), src, count);
484 void memcpy_fromio(void *to, const volatile void __iomem *from, long count)
489 if (count >= 8 && ((u64)to & 7) == ((u64)from & 7)) {
490 count -= 8;
493 count -= 8;
496 } while (count >= 0);
497 count += 8;
500 if (count >= 4 && ((u64)to & 3) == ((u64)from & 3)) {
501 count -= 4;
504 count -= 4;
507 } while (count >= 0);
508 count += 4;
511 if (count >= 2 && ((u64)to & 1) == ((u64)from & 1)) {
512 count -= 2;
515 count -= 2;
518 } while (count >= 0);
519 count += 2;
522 while (count > 0) {
524 count--;
538 void memcpy_toio(volatile void __iomem *to, const void *from, long count)
544 if (count >= 8 && ((u64)to & 7) == ((u64)from & 7)) {
545 count -= 8;
548 count -= 8;
551 } while (count >= 0);
552 count += 8;
555 if (count >= 4 && ((u64)to & 3) == ((u64)from & 3)) {
556 count -= 4;
559 count -= 4;
562 } while (count >= 0);
563 count += 4;
566 if (count >= 2 && ((u64)to & 1) == ((u64)from & 1)) {
567 count -= 2;
570 count -= 2;
573 } while (count >= 0);
574 count += 2;
577 while (count > 0) {
579 count--;
592 void _memset_c_io(volatile void __iomem *to, unsigned long c, long count)
595 if (count > 0 && ((u64)to & 1)) {
598 count--;
602 if (count >= 2 && ((u64)to & 2)) {
605 count -= 2;
609 if (count >= 4 && ((u64)to & 4)) {
612 count -= 4;
616 (or have a small count) */
617 count -= 8;
618 if (count >= 0) {
622 count -= 8;
623 } while (count >= 0);
625 count += 8;
627 /* The tail is word-aligned if we still have count >= 4 */
628 if (count >= 4) {
631 count -= 4;
634 /* The tail is half-word aligned if we have count >= 2 */
635 if (count >= 2) {
638 count -= 2;
642 if (count) {
654 scr_memcpyw(u16 *d, const u16 *s, unsigned int count)
666 count /= 2;
667 while (count--) {
673 memcpy_fromio(d, ios, count);
676 memcpy_toio(iod, s, count);
678 memcpy(d, s, count);