Lines Matching refs:cnt

1912 static void dw_mci_set_part_bytes(struct dw_mci *host, void *buf, int cnt)  in dw_mci_set_part_bytes()  argument
1914 memcpy((void *)&host->part_buf, buf, cnt); in dw_mci_set_part_bytes()
1915 host->part_buf_count = cnt; in dw_mci_set_part_bytes()
1919 static int dw_mci_push_part_bytes(struct dw_mci *host, void *buf, int cnt) in dw_mci_push_part_bytes() argument
1921 cnt = min(cnt, (1 << host->data_shift) - host->part_buf_count); in dw_mci_push_part_bytes()
1922 memcpy((void *)&host->part_buf + host->part_buf_count, buf, cnt); in dw_mci_push_part_bytes()
1923 host->part_buf_count += cnt; in dw_mci_push_part_bytes()
1924 return cnt; in dw_mci_push_part_bytes()
1928 static int dw_mci_pull_part_bytes(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_part_bytes() argument
1930 cnt = min_t(int, cnt, host->part_buf_count); in dw_mci_pull_part_bytes()
1931 if (cnt) { in dw_mci_pull_part_bytes()
1933 cnt); in dw_mci_pull_part_bytes()
1934 host->part_buf_count -= cnt; in dw_mci_pull_part_bytes()
1935 host->part_buf_start += cnt; in dw_mci_pull_part_bytes()
1937 return cnt; in dw_mci_pull_part_bytes()
1941 static void dw_mci_pull_final_bytes(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_final_bytes() argument
1943 memcpy(buf, &host->part_buf, cnt); in dw_mci_pull_final_bytes()
1944 host->part_buf_start = cnt; in dw_mci_pull_final_bytes()
1945 host->part_buf_count = (1 << host->data_shift) - cnt; in dw_mci_pull_final_bytes()
1948 static void dw_mci_push_data16(struct dw_mci *host, void *buf, int cnt) in dw_mci_push_data16() argument
1951 int init_cnt = cnt; in dw_mci_push_data16()
1955 int len = dw_mci_push_part_bytes(host, buf, cnt); in dw_mci_push_data16()
1958 cnt -= len; in dw_mci_push_data16()
1966 while (cnt >= 2) { in dw_mci_push_data16()
1968 int len = min(cnt & -2, (int)sizeof(aligned_buf)); in dw_mci_push_data16()
1974 cnt -= len; in dw_mci_push_data16()
1984 for (; cnt >= 2; cnt -= 2) in dw_mci_push_data16()
1989 if (cnt) { in dw_mci_push_data16()
1990 dw_mci_set_part_bytes(host, buf, cnt); in dw_mci_push_data16()
1998 static void dw_mci_pull_data16(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_data16() argument
2002 while (cnt >= 2) { in dw_mci_pull_data16()
2005 int len = min(cnt & -2, (int)sizeof(aligned_buf)); in dw_mci_pull_data16()
2014 cnt -= len; in dw_mci_pull_data16()
2021 for (; cnt >= 2; cnt -= 2) in dw_mci_pull_data16()
2025 if (cnt) { in dw_mci_pull_data16()
2027 dw_mci_pull_final_bytes(host, buf, cnt); in dw_mci_pull_data16()
2031 static void dw_mci_push_data32(struct dw_mci *host, void *buf, int cnt) in dw_mci_push_data32() argument
2034 int init_cnt = cnt; in dw_mci_push_data32()
2038 int len = dw_mci_push_part_bytes(host, buf, cnt); in dw_mci_push_data32()
2041 cnt -= len; in dw_mci_push_data32()
2049 while (cnt >= 4) { in dw_mci_push_data32()
2051 int len = min(cnt & -4, (int)sizeof(aligned_buf)); in dw_mci_push_data32()
2057 cnt -= len; in dw_mci_push_data32()
2067 for (; cnt >= 4; cnt -= 4) in dw_mci_push_data32()
2072 if (cnt) { in dw_mci_push_data32()
2073 dw_mci_set_part_bytes(host, buf, cnt); in dw_mci_push_data32()
2081 static void dw_mci_pull_data32(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_data32() argument
2085 while (cnt >= 4) { in dw_mci_pull_data32()
2088 int len = min(cnt & -4, (int)sizeof(aligned_buf)); in dw_mci_pull_data32()
2097 cnt -= len; in dw_mci_pull_data32()
2104 for (; cnt >= 4; cnt -= 4) in dw_mci_pull_data32()
2108 if (cnt) { in dw_mci_pull_data32()
2110 dw_mci_pull_final_bytes(host, buf, cnt); in dw_mci_pull_data32()
2114 static void dw_mci_push_data64(struct dw_mci *host, void *buf, int cnt) in dw_mci_push_data64() argument
2117 int init_cnt = cnt; in dw_mci_push_data64()
2121 int len = dw_mci_push_part_bytes(host, buf, cnt); in dw_mci_push_data64()
2124 cnt -= len; in dw_mci_push_data64()
2133 while (cnt >= 8) { in dw_mci_push_data64()
2135 int len = min(cnt & -8, (int)sizeof(aligned_buf)); in dw_mci_push_data64()
2141 cnt -= len; in dw_mci_push_data64()
2151 for (; cnt >= 8; cnt -= 8) in dw_mci_push_data64()
2156 if (cnt) { in dw_mci_push_data64()
2157 dw_mci_set_part_bytes(host, buf, cnt); in dw_mci_push_data64()
2165 static void dw_mci_pull_data64(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_data64() argument
2169 while (cnt >= 8) { in dw_mci_pull_data64()
2172 int len = min(cnt & -8, (int)sizeof(aligned_buf)); in dw_mci_pull_data64()
2182 cnt -= len; in dw_mci_pull_data64()
2189 for (; cnt >= 8; cnt -= 8) in dw_mci_pull_data64()
2193 if (cnt) { in dw_mci_pull_data64()
2195 dw_mci_pull_final_bytes(host, buf, cnt); in dw_mci_pull_data64()
2199 static void dw_mci_pull_data(struct dw_mci *host, void *buf, int cnt) in dw_mci_pull_data() argument
2204 len = dw_mci_pull_part_bytes(host, buf, cnt); in dw_mci_pull_data()
2205 if (unlikely(len == cnt)) in dw_mci_pull_data()
2208 cnt -= len; in dw_mci_pull_data()
2211 host->pull_data(host, buf, cnt); in dw_mci_pull_data()