| /linux/lib/ |
| H A D | cpu_rmap.c | 27 struct cpu_rmap *rmap; in alloc_cpu_rmap() local 39 rmap = kzalloc(obj_offset + size * sizeof(rmap->obj[0]), flags); in alloc_cpu_rmap() 40 if (!rmap) in alloc_cpu_rmap() 43 kref_init(&rmap->refcount); in alloc_cpu_rmap() 44 rmap->obj = (void **)((char *)rmap + obj_offset); in alloc_cpu_rmap() 53 rmap->near[cpu].index = cpu % size; in alloc_cpu_rmap() 54 rmap->near[cpu].dist = CPU_RMAP_DIST_INF; in alloc_cpu_rmap() 57 rmap->size = size; in alloc_cpu_rmap() 58 return rmap; in alloc_cpu_rmap() 68 struct cpu_rmap *rmap = container_of(ref, struct cpu_rmap, refcount); in cpu_rmap_release() local [all …]
|
| /linux/include/linux/ |
| H A D | cpu_rmap.h | 35 extern void cpu_rmap_get(struct cpu_rmap *rmap); 36 extern int cpu_rmap_put(struct cpu_rmap *rmap); 38 extern int cpu_rmap_add(struct cpu_rmap *rmap, void *obj); 39 extern int cpu_rmap_update(struct cpu_rmap *rmap, u16 index, 42 static inline u16 cpu_rmap_lookup_index(struct cpu_rmap *rmap, unsigned int cpu) in cpu_rmap_lookup_index() argument 44 return rmap->near[cpu].index; in cpu_rmap_lookup_index() 47 static inline void *cpu_rmap_lookup_obj(struct cpu_rmap *rmap, unsigned int cpu) in cpu_rmap_lookup_obj() argument 49 return rmap->obj[rmap->near[cpu].index]; in cpu_rmap_lookup_obj() 62 extern void free_irq_cpu_rmap(struct cpu_rmap *rmap); 64 int irq_cpu_rmap_remove(struct cpu_rmap *rmap, int irq); [all …]
|
| /linux/fs/xfs/libxfs/ |
| H A D | xfs_rtrmap_btree.c | 123 return rec->rmap.rm_offset & ~cpu_to_be64(XFS_RMAP_OFF_UNWRITTEN); in ondisk_rec_offset_to_key() 131 key->rmap.rm_startblock = rec->rmap.rm_startblock; in xfs_rtrmapbt_init_key_from_rec() 132 key->rmap.rm_owner = rec->rmap.rm_owner; in xfs_rtrmapbt_init_key_from_rec() 133 key->rmap.rm_offset = ondisk_rec_offset_to_key(rec); in xfs_rtrmapbt_init_key_from_rec() 144 adj = be32_to_cpu(rec->rmap.rm_blockcount) - 1; in xfs_rtrmapbt_init_high_key_from_rec() 146 key->rmap.rm_startblock = rec->rmap.rm_startblock; in xfs_rtrmapbt_init_high_key_from_rec() 147 be32_add_cpu(&key->rmap.rm_startblock, adj); in xfs_rtrmapbt_init_high_key_from_rec() 148 key->rmap.rm_owner = rec->rmap.rm_owner; in xfs_rtrmapbt_init_high_key_from_rec() 149 key->rmap.rm_offset = ondisk_rec_offset_to_key(rec); in xfs_rtrmapbt_init_high_key_from_rec() 150 if (XFS_RMAP_NON_INODE_OWNER(be64_to_cpu(rec->rmap.rm_owner)) || in xfs_rtrmapbt_init_high_key_from_rec() [all …]
|
| /linux/fs/xfs/scrub/ |
| H A D | refcount_repair.c | 205 const struct xfs_rmap_irec *rmap) in xrep_refc_rmap_shareable() argument 208 if (XFS_RMAP_NON_INODE_OWNER(rmap->rm_owner)) in xrep_refc_rmap_shareable() 212 if (xfs_is_sb_inum(mp, rmap->rm_owner)) in xrep_refc_rmap_shareable() 216 if (rmap->rm_flags & (XFS_RMAP_ATTR_FORK | XFS_RMAP_BMBT_BLOCK | in xrep_refc_rmap_shareable() 230 struct xfs_rmap_irec *rmap, in xrep_refc_walk_rmaps() argument 256 error = xfs_rmap_get_rec(cur, rmap, &have_gt); in xrep_refc_walk_rmaps() 264 if (rmap->rm_owner == XFS_RMAP_OWN_COW) { in xrep_refc_walk_rmaps() 265 error = xrep_refc_stash_cow(rr, rmap->rm_startblock, in xrep_refc_walk_rmaps() 266 rmap->rm_blockcount); in xrep_refc_walk_rmaps() 269 } else if (rmap->rm_owner == XFS_RMAP_OWN_REFC) { in xrep_refc_walk_rmaps() [all …]
|
| H A D | bmap.c | 150 struct xfs_rmap_irec *rmap) in xchk_bmap_get_rmap() argument 185 rflags, rmap, &has_rmap); in xchk_bmap_get_rmap() 188 rflags, rmap, &has_rmap); in xchk_bmap_get_rmap() 206 struct xfs_rmap_irec rmap; in xchk_bmap_xref_rmap() local 214 if (!xchk_bmap_get_rmap(info, irec, bno, owner, &rmap)) in xchk_bmap_xref_rmap() 221 if (rmap.rm_startblock != bno) in xchk_bmap_xref_rmap() 225 rmap_end = (unsigned long long)rmap.rm_startblock + rmap.rm_blockcount; in xchk_bmap_xref_rmap() 231 if (rmap.rm_offset != irec->br_startoff) in xchk_bmap_xref_rmap() 235 rmap_end = (unsigned long long)rmap.rm_offset + rmap.rm_blockcount; in xchk_bmap_xref_rmap() 241 if (rmap.rm_owner != owner) in xchk_bmap_xref_rmap() [all …]
|
| /linux/drivers/leds/ |
| H A D | leds-acer-a500.c | 21 struct regmap *rmap; member 62 return regmap_multi_reg_write(led->rmap, control_seq, num_regs); in a500_ec_led_brightness_set() 68 struct regmap *rmap; in a500_ec_leds_probe() local 71 rmap = dev_get_regmap(pdev->dev.parent, "KB930"); in a500_ec_leds_probe() 72 if (!rmap) in a500_ec_leds_probe() 76 regmap_multi_reg_write(rmap, a500_ec_leds_reset_seq, 2); in a500_ec_leds_probe() 87 white_led->rmap = rmap; in a500_ec_leds_probe() 98 orange_led->rmap = rmap; in a500_ec_leds_probe()
|
| /linux/drivers/cxl/core/ |
| H A D | regs.c | 66 struct cxl_reg_map *rmap; in cxl_probe_component_regs() local 77 rmap = NULL; in cxl_probe_component_regs() 87 rmap = &map->hdm_decoder; in cxl_probe_component_regs() 94 rmap = &map->ras; in cxl_probe_component_regs() 102 if (!rmap) in cxl_probe_component_regs() 104 rmap->valid = true; in cxl_probe_component_regs() 105 rmap->id = cap_id; in cxl_probe_component_regs() 106 rmap->offset = CXL_CM_OFFSET + offset; in cxl_probe_component_regs() 107 rmap->size = length; in cxl_probe_component_regs() 136 struct cxl_reg_map *rmap; in cxl_probe_device_regs() local [all …]
|
| /linux/drivers/ata/ |
| H A D | pata_ixp4xx_cf.c | 30 struct regmap *rmap; member 57 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing() 61 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing() 65 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing() 69 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing() 73 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing() 79 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing() 87 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_16bit_timing() 91 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_16bit_timing() 95 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_16bit_timing() [all …]
|
| /linux/drivers/reset/ |
| H A D | reset-k230.c | 162 const struct k230_rst_map *rmap = &k230_resets[id]; in k230_rst_clear_done() local 167 reg = readl(rstc->base + rmap->offset); in k230_rst_clear_done() 168 reg |= rmap->done; /* write 1 to clear */ in k230_rst_clear_done() 170 reg |= rmap->done << 16; in k230_rst_clear_done() 171 writel(reg, rstc->base + rmap->offset); in k230_rst_clear_done() 177 const struct k230_rst_map *rmap = &k230_resets[id]; in k230_rst_wait_and_clear_done() local 181 ret = readl_poll_timeout(rstc->base + rmap->offset, reg, in k230_rst_wait_and_clear_done() 182 reg & rmap->done, 10, 1000); in k230_rst_wait_and_clear_done() 196 const struct k230_rst_map *rmap = &k230_resets[id]; in k230_rst_update() local 201 reg = readl(rstc->base + rmap->offset); in k230_rst_update() [all …]
|
| /linux/Documentation/translations/zh_CN/mm/ |
| H A D | ksm.rst | 47 rmap链表变得过大。rmap的遍历具有O(N)的复杂度,其中N是共享页面的rmap_项(即 49 因此,这有效地将线性O(N)计算复杂度从rmap遍历中分散到不同的KSM页面上。ksmd进 50 程在稳定节点"链"上的遍历也是O(N),但这个N是稳定树"副本"的数量,而不是rmap项 56 缩、NUMA平衡和页面迁移过程中可能导致KSM页的最大rmap遍历速度较慢。 60 法来解决,该算法将rmap项从一个稳定节点dup重定位到另一个稳定节点dup,以便释放 61 那些仅包含极少rmap项的稳定节点"dup",但这可能会增加ksmd进程的CPU使用率,并可
|
| /linux/drivers/watchdog/ |
| H A D | max77620_wdt.c | 45 struct regmap *rmap; member 74 return regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl2, in max77620_wdt_start() 82 return regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl2, in max77620_wdt_stop() 90 return regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl3, in max77620_wdt_ping() 129 ret = regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl3, in max77620_wdt_set_timeout() 134 ret = regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl2, in max77620_wdt_set_timeout() 172 wdt->rmap = dev_get_regmap(dev->parent, NULL); in max77620_wdt_probe() 173 if (!wdt->rmap) { in max77620_wdt_probe() 188 ret = regmap_update_bits(wdt->rmap, wdt->drv_data->reg_onoff_cnfg2, in max77620_wdt_probe() 197 ret = regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl2, in max77620_wdt_probe() [all …]
|
| /linux/arch/powerpc/kvm/ |
| H A D | book3s_hv_rm_mmu.c | 69 unsigned long *rmap, long pte_index, int realmode) in kvmppc_add_revmap_chain() argument 74 if (*rmap & KVMPPC_RMAP_PRESENT) { in kvmppc_add_revmap_chain() 75 i = *rmap & KVMPPC_RMAP_INDEX; in kvmppc_add_revmap_chain() 88 *rmap = (*rmap & ~KVMPPC_RMAP_INDEX) | in kvmppc_add_revmap_chain() 91 unlock_rmap(rmap); in kvmppc_add_revmap_chain() 130 unsigned long *rmap; in revmap_for_hpte() local 142 rmap = real_vmalloc_addr(&memslot->arch.rmap[gfn - memslot->base_gfn]); in revmap_for_hpte() 143 return rmap; in revmap_for_hpte() 153 unsigned long *rmap; in remove_revmap_chain() local 160 rmap = revmap_for_hpte(kvm, hpte_v, ptel, &memslot, &gfn); in remove_revmap_chain() [all …]
|
| H A D | book3s_hv_nested.c | 927 u64 rmap, new_rmap = (*n_rmap)->rmap; in kvmhv_insert_nest_rmap() local 937 for_each_nest_rmap_safe(cursor, entry, &rmap) { in kvmhv_insert_nest_rmap() 938 if (kvmhv_n_rmap_is_equal(rmap, new_rmap)) in kvmhv_insert_nest_rmap() 943 rmap = *rmapp; in kvmhv_insert_nest_rmap() 944 if (rmap & RMAP_NESTED_IS_SINGLE_ENTRY) /* Not previously a list */ in kvmhv_insert_nest_rmap() 947 if (rmap & RMAP_NESTED_IS_SINGLE_ENTRY) /* Not previously a list */ in kvmhv_insert_nest_rmap() 948 (*n_rmap)->list.next = (struct llist_node *) rmap; in kvmhv_insert_nest_rmap() 989 unsigned long rmap, mask; in kvmhv_update_nest_rmap_rc_list() local 997 for_each_nest_rmap_safe(cursor, entry, &rmap) in kvmhv_update_nest_rmap_rc_list() 998 kvmhv_update_nest_rmap_rc(kvm, rmap, clr, set, hpa, mask); in kvmhv_update_nest_rmap_rc_list() [all …]
|
| /linux/drivers/regulator/ |
| H A D | vqmmc-ipq4019-regulator.c | 51 struct regmap *rmap; in ipq4019_regulator_probe() local 63 rmap = devm_regmap_init_mmio(dev, base, &ipq4019_vmmcq_regmap_config); in ipq4019_regulator_probe() 64 if (IS_ERR(rmap)) in ipq4019_regulator_probe() 65 return PTR_ERR(rmap); in ipq4019_regulator_probe() 70 cfg.regmap = rmap; in ipq4019_regulator_probe()
|
| H A D | wm8400-regulator.c | 33 struct regmap *rmap = rdev_get_regmap(dev); in wm8400_dcdc_get_mode() local 38 ret = regmap_bulk_read(rmap, WM8400_DCDC1_CONTROL_1 + offset, data, 2); in wm8400_dcdc_get_mode() 59 struct regmap *rmap = rdev_get_regmap(dev); in wm8400_dcdc_set_mode() local 66 ret = regmap_update_bits(rmap, WM8400_DCDC1_CONTROL_2 + offset, in wm8400_dcdc_set_mode() 71 return regmap_update_bits(rmap, WM8400_DCDC1_CONTROL_1 + offset, in wm8400_dcdc_set_mode() 77 ret = regmap_update_bits(rmap, WM8400_DCDC1_CONTROL_2 + offset, in wm8400_dcdc_set_mode() 82 return regmap_update_bits(rmap, WM8400_DCDC1_CONTROL_1 + offset, in wm8400_dcdc_set_mode() 88 return regmap_update_bits(rmap, WM8400_DCDC1_CONTROL_1 + offset, in wm8400_dcdc_set_mode()
|
| /linux/include/linux/mfd/ |
| H A D | tps65090.h | 76 struct regmap *rmap; member 118 return regmap_write(tps->rmap, reg, val); in tps65090_write() 127 ret = regmap_read(tps->rmap, reg, &temp_val); in tps65090_read() 138 return regmap_update_bits(tps->rmap, reg, BIT(bit_num), ~0u); in tps65090_set_bits() 146 return regmap_update_bits(tps->rmap, reg, BIT(bit_num), 0u); in tps65090_clr_bits()
|
| /linux/drivers/mtd/maps/ |
| H A D | physmap-versatile.c | 193 struct regmap *rmap; in of_flash_probe_versatile() local 210 rmap = syscon_node_to_regmap(sysnp); in of_flash_probe_versatile() 212 if (IS_ERR(rmap)) in of_flash_probe_versatile() 213 return PTR_ERR(rmap); in of_flash_probe_versatile() 215 syscon_regmap = rmap; in of_flash_probe_versatile()
|
| /linux/drivers/leds/flash/ |
| H A D | leds-max77693.c | 150 struct regmap *rmap = led->regmap; in max77693_set_mode_reg() local 172 ret = regmap_write(rmap, MAX77693_LED_REG_FLASH_EN, 0); in max77693_set_mode_reg() 177 return regmap_write(rmap, MAX77693_LED_REG_FLASH_EN, v); in max77693_set_mode_reg() 269 struct regmap *rmap = led->regmap; in max77693_set_torch_current() local 288 return regmap_write(rmap, MAX77693_LED_REG_ITORCH, in max77693_set_torch_current() 296 struct regmap *rmap = led->regmap; in max77693_set_flash_current() local 306 ret = regmap_write(rmap, MAX77693_LED_REG_IFLASH1, in max77693_set_flash_current() 313 ret = regmap_write(rmap, MAX77693_LED_REG_IFLASH2, in max77693_set_flash_current() 322 struct regmap *rmap = led->regmap; in max77693_set_timeout() local 328 ret = regmap_write(rmap, MAX77693_LED_REG_FLASH_TIMER, v); in max77693_set_timeout() [all …]
|
| /linux/drivers/pinctrl/ |
| H A D | pinctrl-max77620.c | 104 struct regmap *rmap; member 253 ret = regmap_update_bits(mpci->rmap, MAX77620_REG_AME_GPIO, in max77620_pinctrl_enable() 290 ret = regmap_read(mpci->rmap, MAX77620_REG_PUE_GPIO, &val); in max77620_pinconf_get() 300 ret = regmap_read(mpci->rmap, MAX77620_REG_PDE_GPIO, &val); in max77620_pinconf_get() 325 ret = regmap_read(mpci->rmap, addr, &val); in max77620_get_default_fps() 384 ret = regmap_update_bits(mpci->rmap, addr, mask, param_val << shift); in max77620_set_fps_param() 413 ret = regmap_update_bits(mpci->rmap, in max77620_pinconf_set() 426 ret = regmap_update_bits(mpci->rmap, in max77620_pinconf_set() 503 ret = regmap_update_bits(mpci->rmap, in max77620_pinconf_set() 512 ret = regmap_update_bits(mpci->rmap, in max77620_pinconf_set() [all …]
|
| /linux/drivers/bus/ |
| H A D | intel-ixp4xx-eb.c | 78 struct regmap *rmap; member 191 regmap_read(eb->rmap, IXP4XX_EXP_TIMING_CS0 + in ixp4xx_exp_setup_chipselect() 265 regmap_write(eb->rmap, in ixp4xx_exp_setup_chipselect() 362 eb->rmap = syscon_node_to_regmap(np); in ixp4xx_exp_probe() 363 if (IS_ERR(eb->rmap)) in ixp4xx_exp_probe() 364 return dev_err_probe(dev, PTR_ERR(eb->rmap), "no regmap\n"); in ixp4xx_exp_probe() 367 ret = regmap_read(eb->rmap, IXP4XX_EXP_CNFG0, &val); in ixp4xx_exp_probe() 378 regmap_read(eb->rmap, IXP43X_EXP_UNIT_FUSE_RESET, &val); in ixp4xx_exp_probe()
|
| /linux/drivers/dma/xilinx/ |
| H A D | xdma.c | 130 struct regmap *rmap; member 228 ret = regmap_write(xdev->rmap, chan->base + XDMA_CHAN_CONTROL_W1C, in xdma_channel_init() 233 ret = regmap_write(xdev->rmap, chan->base + XDMA_CHAN_INTR_ENABLE, in xdma_channel_init() 343 ret = regmap_write(xdev->rmap, xchan->base + XDMA_CHAN_CONTROL_W1C, in xdma_xfer_start() 358 ret = regmap_write(xdev->rmap, xchan->base + XDMA_SGDMA_DESC_LO, val); in xdma_xfer_start() 363 ret = regmap_write(xdev->rmap, xchan->base + XDMA_SGDMA_DESC_HI, val); in xdma_xfer_start() 371 ret = regmap_write(xdev->rmap, xchan->base + XDMA_SGDMA_DESC_ADJ, val); in xdma_xfer_start() 376 ret = regmap_write(xdev->rmap, xchan->base + XDMA_CHAN_CONTROL, in xdma_xfer_start() 397 return regmap_write(xdev->rmap, xchan->base + XDMA_CHAN_CONTROL_W1C, in xdma_xfer_stop() 432 ret = regmap_read(xdev->rmap, base + i * XDMA_CHAN_STRIDE, in xdma_alloc_channels() [all …]
|
| /linux/drivers/thermal/ |
| H A D | max77620_thermal.c | 27 struct regmap *rmap; member 53 ret = regmap_read(mtherm->rmap, MAX77620_REG_STATLBT, &val); in max77620_thermal_read_temp() 103 mtherm->rmap = dev_get_regmap(pdev->dev.parent, NULL); in max77620_thermal_probe() 104 if (!mtherm->rmap) { in max77620_thermal_probe()
|
| /linux/include/linux/soc/ixp4xx/ |
| H A D | cpu.h | 93 static inline u32 cpu_ixp4xx_features(struct regmap *rmap) in cpu_ixp4xx_features() argument 97 regmap_read(rmap, IXP4XX_EXP_CNFG2, &val); in cpu_ixp4xx_features() 114 static inline u32 cpu_ixp4xx_features(struct regmap *rmap) in cpu_ixp4xx_features() argument
|
| /linux/drivers/mfd/ |
| H A D | tps65090.c | 188 tps65090->rmap = devm_regmap_init_i2c(client, &tps65090_regmap_config); in tps65090_i2c_probe() 189 if (IS_ERR(tps65090->rmap)) { in tps65090_i2c_probe() 190 ret = PTR_ERR(tps65090->rmap); in tps65090_i2c_probe() 196 ret = regmap_add_irq_chip(tps65090->rmap, client->irq, in tps65090_i2c_probe()
|
| /linux/drivers/power/supply/ |
| H A D | bd99954-charger.c | 98 struct regmap *rmap; member 494 ret = regmap_read(bd->rmap, INT0_STATUS, &status); in bd9995x_irq_handler_thread() 522 ret = regmap_write(bd->rmap, INT0_STATUS, status); in bd9995x_irq_handler_thread() 545 ret = regmap_read(bd->rmap, sub_status_reg[i], &sub_status); in bd9995x_irq_handler_thread() 560 ret = regmap_write(bd->rmap, sub_status_reg[i], sub_status); in bd9995x_irq_handler_thread() 601 ret = regmap_raw_write(bd->rmap, SYSTEM_CTRL_SET, &tmp, 2); in __bd9995x_chip_reset() 619 ret = regmap_raw_write(bd->rmap, SYSTEM_CTRL_SET, &tmp, 2); in __bd9995x_chip_reset() 987 bd->rmap = devm_regmap_init_i2c(client, &bd9995x_regmap_config); in bd9995x_probe() 988 if (IS_ERR(bd->rmap)) { in bd9995x_probe() 990 return PTR_ERR(bd->rmap); in bd9995x_probe() [all …]
|