Lines Matching refs:cnt

1760 static void dw_mci_set_part_bytes(struct dw_mci *host, void *buf, int cnt)  in dw_mci_set_part_bytes()  argument
1762 memcpy((void *)&host->part_buf, buf, cnt); in dw_mci_set_part_bytes()
1763 host->part_buf_count = cnt; in dw_mci_set_part_bytes()
1767 static int dw_mci_push_part_bytes(struct dw_mci *host, void *buf, int cnt) in dw_mci_push_part_bytes() argument
1769 cnt = min(cnt, (1 << host->data_shift) - host->part_buf_count); in dw_mci_push_part_bytes()
1770 memcpy((void *)&host->part_buf + host->part_buf_count, buf, cnt); in dw_mci_push_part_bytes()
1771 host->part_buf_count += cnt; in dw_mci_push_part_bytes()
1772 return cnt; in dw_mci_push_part_bytes()
1776 static int dw_mci_pull_part_bytes(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_part_bytes() argument
1778 cnt = min(cnt, (int)host->part_buf_count); in dw_mci_pull_part_bytes()
1779 if (cnt) { in dw_mci_pull_part_bytes()
1781 cnt); in dw_mci_pull_part_bytes()
1782 host->part_buf_count -= cnt; in dw_mci_pull_part_bytes()
1783 host->part_buf_start += cnt; in dw_mci_pull_part_bytes()
1785 return cnt; in dw_mci_pull_part_bytes()
1789 static void dw_mci_pull_final_bytes(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_final_bytes() argument
1791 memcpy(buf, &host->part_buf, cnt); in dw_mci_pull_final_bytes()
1792 host->part_buf_start = cnt; in dw_mci_pull_final_bytes()
1793 host->part_buf_count = (1 << host->data_shift) - cnt; in dw_mci_pull_final_bytes()
1796 static void dw_mci_push_data16(struct dw_mci *host, void *buf, int cnt) in dw_mci_push_data16() argument
1799 int init_cnt = cnt; in dw_mci_push_data16()
1803 int len = dw_mci_push_part_bytes(host, buf, cnt); in dw_mci_push_data16()
1805 cnt -= len; in dw_mci_push_data16()
1813 while (cnt >= 2) { in dw_mci_push_data16()
1815 int len = min(cnt & -2, (int)sizeof(aligned_buf)); in dw_mci_push_data16()
1821 cnt -= len; in dw_mci_push_data16()
1830 for (; cnt >= 2; cnt -= 2) in dw_mci_push_data16()
1835 if (cnt) { in dw_mci_push_data16()
1836 dw_mci_set_part_bytes(host, buf, cnt); in dw_mci_push_data16()
1844 static void dw_mci_pull_data16(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_data16() argument
1848 while (cnt >= 2) { in dw_mci_pull_data16()
1851 int len = min(cnt & -2, (int)sizeof(aligned_buf)); in dw_mci_pull_data16()
1859 cnt -= len; in dw_mci_pull_data16()
1865 for (; cnt >= 2; cnt -= 2) in dw_mci_pull_data16()
1869 if (cnt) { in dw_mci_pull_data16()
1871 dw_mci_pull_final_bytes(host, buf, cnt); in dw_mci_pull_data16()
1875 static void dw_mci_push_data32(struct dw_mci *host, void *buf, int cnt) in dw_mci_push_data32() argument
1878 int init_cnt = cnt; in dw_mci_push_data32()
1882 int len = dw_mci_push_part_bytes(host, buf, cnt); in dw_mci_push_data32()
1884 cnt -= len; in dw_mci_push_data32()
1892 while (cnt >= 4) { in dw_mci_push_data32()
1894 int len = min(cnt & -4, (int)sizeof(aligned_buf)); in dw_mci_push_data32()
1900 cnt -= len; in dw_mci_push_data32()
1909 for (; cnt >= 4; cnt -= 4) in dw_mci_push_data32()
1914 if (cnt) { in dw_mci_push_data32()
1915 dw_mci_set_part_bytes(host, buf, cnt); in dw_mci_push_data32()
1923 static void dw_mci_pull_data32(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_data32() argument
1927 while (cnt >= 4) { in dw_mci_pull_data32()
1930 int len = min(cnt & -4, (int)sizeof(aligned_buf)); in dw_mci_pull_data32()
1938 cnt -= len; in dw_mci_pull_data32()
1944 for (; cnt >= 4; cnt -= 4) in dw_mci_pull_data32()
1948 if (cnt) { in dw_mci_pull_data32()
1950 dw_mci_pull_final_bytes(host, buf, cnt); in dw_mci_pull_data32()
1954 static void dw_mci_push_data64(struct dw_mci *host, void *buf, int cnt) in dw_mci_push_data64() argument
1957 int init_cnt = cnt; in dw_mci_push_data64()
1961 int len = dw_mci_push_part_bytes(host, buf, cnt); in dw_mci_push_data64()
1963 cnt -= len; in dw_mci_push_data64()
1972 while (cnt >= 8) { in dw_mci_push_data64()
1974 int len = min(cnt & -8, (int)sizeof(aligned_buf)); in dw_mci_push_data64()
1980 cnt -= len; in dw_mci_push_data64()
1989 for (; cnt >= 8; cnt -= 8) in dw_mci_push_data64()
1994 if (cnt) { in dw_mci_push_data64()
1995 dw_mci_set_part_bytes(host, buf, cnt); in dw_mci_push_data64()
2003 static void dw_mci_pull_data64(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_data64() argument
2007 while (cnt >= 8) { in dw_mci_pull_data64()
2010 int len = min(cnt & -8, (int)sizeof(aligned_buf)); in dw_mci_pull_data64()
2019 cnt -= len; in dw_mci_pull_data64()
2025 for (; cnt >= 8; cnt -= 8) in dw_mci_pull_data64()
2029 if (cnt) { in dw_mci_pull_data64()
2031 dw_mci_pull_final_bytes(host, buf, cnt); in dw_mci_pull_data64()
2035 static void dw_mci_pull_data(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_data() argument
2040 len = dw_mci_pull_part_bytes(host, buf, cnt); in dw_mci_pull_data()
2041 if (unlikely(len == cnt)) in dw_mci_pull_data()
2044 cnt -= len; in dw_mci_pull_data()
2047 host->pull_data(host, buf, cnt); in dw_mci_pull_data()