Lines Matching refs:format
99 if (map->format.format_write) in regmap_readable()
113 if (!map->format.format_write && !regmap_readable(map, reg)) in regmap_volatile()
566 map->format.reg_bytes = DIV_ROUND_UP(config->reg_bits, 8); in regmap_init()
567 map->format.pad_bytes = config->pad_bits / 8; in regmap_init()
568 map->format.val_bytes = DIV_ROUND_UP(config->val_bits, 8); in regmap_init()
569 map->format.buf_size = DIV_ROUND_UP(config->reg_bits + in regmap_init()
628 map->format.format_write = regmap_format_2_6_write; in regmap_init()
638 map->format.format_write = regmap_format_4_12_write; in regmap_init()
648 map->format.format_write = regmap_format_7_9_write; in regmap_init()
658 map->format.format_write = regmap_format_10_14_write; in regmap_init()
666 map->format.format_reg = regmap_format_8; in regmap_init()
672 map->format.format_reg = regmap_format_16_be; in regmap_init()
675 map->format.format_reg = regmap_format_16_native; in regmap_init()
685 map->format.format_reg = regmap_format_24; in regmap_init()
691 map->format.format_reg = regmap_format_32_be; in regmap_init()
694 map->format.format_reg = regmap_format_32_native; in regmap_init()
706 map->format.parse_inplace = regmap_parse_inplace_noop; in regmap_init()
710 map->format.format_val = regmap_format_8; in regmap_init()
711 map->format.parse_val = regmap_parse_8; in regmap_init()
712 map->format.parse_inplace = regmap_parse_inplace_noop; in regmap_init()
717 map->format.format_val = regmap_format_16_be; in regmap_init()
718 map->format.parse_val = regmap_parse_16_be; in regmap_init()
719 map->format.parse_inplace = regmap_parse_16_be_inplace; in regmap_init()
722 map->format.format_val = regmap_format_16_le; in regmap_init()
723 map->format.parse_val = regmap_parse_16_le; in regmap_init()
724 map->format.parse_inplace = regmap_parse_16_le_inplace; in regmap_init()
727 map->format.format_val = regmap_format_16_native; in regmap_init()
728 map->format.parse_val = regmap_parse_16_native; in regmap_init()
737 map->format.format_val = regmap_format_24; in regmap_init()
738 map->format.parse_val = regmap_parse_24; in regmap_init()
743 map->format.format_val = regmap_format_32_be; in regmap_init()
744 map->format.parse_val = regmap_parse_32_be; in regmap_init()
745 map->format.parse_inplace = regmap_parse_32_be_inplace; in regmap_init()
748 map->format.format_val = regmap_format_32_le; in regmap_init()
749 map->format.parse_val = regmap_parse_32_le; in regmap_init()
750 map->format.parse_inplace = regmap_parse_32_le_inplace; in regmap_init()
753 map->format.format_val = regmap_format_32_native; in regmap_init()
754 map->format.parse_val = regmap_parse_32_native; in regmap_init()
762 if (map->format.format_write) { in regmap_init()
769 if (!map->format.format_write && in regmap_init()
770 !(map->format.format_reg && map->format.format_val)) in regmap_init()
773 map->work_buf = kzalloc(map->format.buf_size, GFP_KERNEL); in regmap_init()
779 if (map->format.format_write) { in regmap_init()
782 } else if (map->format.format_val) { in regmap_init()
872 kzalloc(map->format.buf_size, GFP_KERNEL); in regmap_init()
1200 void *work_val = map->work_buf + map->format.reg_bytes + in _regmap_raw_write()
1201 map->format.pad_bytes; in _regmap_raw_write()
1211 for (i = 0; i < val_len / map->format.val_bytes; i++) in _regmap_raw_write()
1216 if (!map->cache_bypass && map->format.parse_val) { in _regmap_raw_write()
1218 int val_bytes = map->format.val_bytes; in _regmap_raw_write()
1220 ival = map->format.parse_val(val + (i * val_bytes)); in _regmap_raw_write()
1238 int val_num = val_len / map->format.val_bytes; in _regmap_raw_write()
1245 win_residue, val_len / map->format.val_bytes); in _regmap_raw_write()
1247 map->format.val_bytes); in _regmap_raw_write()
1253 val += win_residue * map->format.val_bytes; in _regmap_raw_write()
1254 val_len -= win_residue * map->format.val_bytes; in _regmap_raw_write()
1266 map->format.format_reg(map->work_buf, reg, map->reg_shift); in _regmap_raw_write()
1275 if (val != work_val && val_len == map->format.val_bytes) { in _regmap_raw_write()
1276 memcpy(work_val, val, map->format.val_bytes); in _regmap_raw_write()
1298 async->work_buf = kzalloc(map->format.buf_size, in _regmap_raw_write()
1309 memcpy(async->work_buf, map->work_buf, map->format.pad_bytes + in _regmap_raw_write()
1310 map->format.reg_bytes + map->format.val_bytes); in _regmap_raw_write()
1319 map->format.reg_bytes + in _regmap_raw_write()
1320 map->format.pad_bytes, in _regmap_raw_write()
1325 map->format.reg_bytes + in _regmap_raw_write()
1326 map->format.pad_bytes + in _regmap_raw_write()
1341 trace_regmap_hw_write_start(map, reg, val_len / map->format.val_bytes); in _regmap_raw_write()
1349 map->format.reg_bytes + in _regmap_raw_write()
1350 map->format.pad_bytes + in _regmap_raw_write()
1354 map->format.reg_bytes + in _regmap_raw_write()
1355 map->format.pad_bytes, in _regmap_raw_write()
1360 len = map->format.reg_bytes + map->format.pad_bytes + val_len; in _regmap_raw_write()
1365 memcpy(buf, map->work_buf, map->format.reg_bytes); in _regmap_raw_write()
1366 memcpy(buf + map->format.reg_bytes + map->format.pad_bytes, in _regmap_raw_write()
1373 trace_regmap_hw_write_done(map, reg, val_len / map->format.val_bytes); in _regmap_raw_write()
1385 return map->bus && map->format.format_val && map->format.format_reg; in regmap_can_raw_write()
1396 WARN_ON(!map->bus || !map->format.format_write); in _regmap_bus_formatted_write()
1405 map->format.format_write(map, reg, val); in _regmap_bus_formatted_write()
1410 map->format.buf_size); in _regmap_bus_formatted_write()
1430 WARN_ON(!map->bus || !map->format.format_val); in _regmap_bus_raw_write()
1432 map->format.format_val(map->work_buf + map->format.reg_bytes in _regmap_bus_raw_write()
1433 + map->format.pad_bytes, val, 0); in _regmap_bus_raw_write()
1436 map->format.reg_bytes + in _regmap_bus_raw_write()
1437 map->format.pad_bytes, in _regmap_bus_raw_write()
1438 map->format.val_bytes); in _regmap_bus_raw_write()
1556 if (val_len % map->format.val_bytes) in regmap_raw_write()
1671 size_t val_bytes = map->format.val_bytes; in regmap_bulk_write()
1673 if (map->bus && !map->format.parse_inplace) in regmap_bulk_write()
1726 map->format.parse_inplace(wval + i); in regmap_bulk_write()
1753 size_t val_bytes = map->format.val_bytes; in _regmap_raw_multi_reg_write()
1754 size_t reg_bytes = map->format.reg_bytes; in _regmap_raw_multi_reg_write()
1755 size_t pad_bytes = map->format.pad_bytes; in _regmap_raw_multi_reg_write()
1774 map->format.format_reg(u8, reg, map->reg_shift); in _regmap_raw_multi_reg_write()
1776 map->format.format_val(u8, val, 0); in _regmap_raw_multi_reg_write()
1861 if (!map->format.parse_inplace) in _regmap_multi_reg_write()
2013 if (val_len % map->format.val_bytes) in regmap_raw_write_async()
2044 val_len / map->format.val_bytes); in _regmap_raw_read()
2049 map->format.format_reg(map->work_buf, reg, map->reg_shift); in _regmap_raw_read()
2059 trace_regmap_hw_read_start(map, reg, val_len / map->format.val_bytes); in _regmap_raw_read()
2062 map->format.reg_bytes + map->format.pad_bytes, in _regmap_raw_read()
2065 trace_regmap_hw_read_done(map, reg, val_len / map->format.val_bytes); in _regmap_raw_read()
2084 if (!map->format.parse_val) in _regmap_bus_read()
2087 ret = _regmap_raw_read(map, reg, map->work_buf, map->format.val_bytes); in _regmap_bus_read()
2089 *val = map->format.parse_val(map->work_buf); in _regmap_bus_read()
2171 size_t val_bytes = map->format.val_bytes; in regmap_raw_read()
2178 if (val_len % map->format.val_bytes) in regmap_raw_read()
2200 map->format.format_val(val + (i * val_bytes), v, 0); in regmap_raw_read()
2284 size_t val_bytes = map->format.val_bytes; in regmap_bulk_read()
2290 if (map->bus && map->format.parse_inplace && (vol || map->cache_type == REGCACHE_NONE)) { in regmap_bulk_read()
2312 map->format.parse_inplace(val + i); in regmap_bulk_read()
2320 map->format.format_val(val + (i * val_bytes), ival, 0); in regmap_bulk_read()
2608 if (map->format.format_write) in regmap_get_val_bytes()
2611 return map->format.val_bytes; in regmap_get_val_bytes()
2618 if (!map->format.parse_val) in regmap_parse_val()
2621 *val = map->format.parse_val(buf); in regmap_parse_val()