Lines Matching refs:bit_offset
32 int bit_offset; member
495 entry->bit_offset); in nvmem_populate_sysfs_cells()
593 cell->bit_offset = info->bit_offset; in nvmem_cell_info_to_nvmem_cell_entry_nodup()
598 cell->bytes = DIV_ROUND_UP(cell->nbits + cell->bit_offset, in nvmem_cell_info_to_nvmem_cell_entry_nodup()
852 info.bit_offset = be32_to_cpup(addr++); in nvmem_add_cells_from_dt()
854 if (info.bit_offset >= BITS_PER_BYTE * info.bytes || in nvmem_add_cells_from_dt()
856 info.bit_offset + info.nbits > BITS_PER_BYTE * info.bytes) { in nvmem_add_cells_from_dt()
1650 int bit_offset = cell->bit_offset; in nvmem_shift_read_buffer_in_place() local
1654 bytes_offset = bit_offset / BITS_PER_BYTE; in nvmem_shift_read_buffer_in_place()
1656 bit_offset %= BITS_PER_BYTE; in nvmem_shift_read_buffer_in_place()
1658 if (bit_offset % BITS_PER_BYTE) { in nvmem_shift_read_buffer_in_place()
1660 *p = *b++ >> bit_offset; in nvmem_shift_read_buffer_in_place()
1665 *p++ |= *b << (BITS_PER_BYTE - bit_offset); in nvmem_shift_read_buffer_in_place()
1667 *p = *b++ >> bit_offset; in nvmem_shift_read_buffer_in_place()
1699 if (cell->bit_offset || cell->nbits) in __nvmem_cell_read()
1753 int i, rc, nbits, bit_offset = cell->bit_offset; in nvmem_cell_prepare_write_buffer() local
1764 if (bit_offset) { in nvmem_cell_prepare_write_buffer()
1766 *b <<= bit_offset; in nvmem_cell_prepare_write_buffer()
1772 *b++ |= GENMASK(bit_offset - 1, 0) & v; in nvmem_cell_prepare_write_buffer()
1777 pbits = pbyte >> (BITS_PER_BYTE - 1 - bit_offset); in nvmem_cell_prepare_write_buffer()
1780 *b <<= bit_offset; in nvmem_cell_prepare_write_buffer()
1786 if ((nbits + bit_offset) % BITS_PER_BYTE) { in nvmem_cell_prepare_write_buffer()
1792 *p |= GENMASK(7, (nbits + bit_offset) % BITS_PER_BYTE) & v; in nvmem_cell_prepare_write_buffer()
1808 (cell->bit_offset == 0 && len != cell->bytes)) in __nvmem_cell_entry_write()
1819 if (cell->bit_offset || cell->nbits) { in __nvmem_cell_entry_write()
1830 if (cell->bit_offset || cell->nbits) in __nvmem_cell_entry_write()