/linux/drivers/vfio/ |
H A D | group.c | 26 static struct vfio_device *vfio_device_get_from_name(struct vfio_group *group, in vfio_device_get_from_name() argument 31 mutex_lock(&group->device_lock); in vfio_device_get_from_name() 32 list_for_each_entry(it, &group->device_list, group_next) { in vfio_device_get_from_name() 50 mutex_unlock(&group->device_lock); in vfio_device_get_from_name() 58 static bool vfio_group_has_iommu(struct vfio_group *group) in vfio_group_has_iommu() argument 60 lockdep_assert_held(&group->group_lock); in vfio_group_has_iommu() 65 WARN_ON(!group->container != !group->container_users); in vfio_group_has_iommu() 67 return group->container || group->iommufd; in vfio_group_has_iommu() 76 static int vfio_group_ioctl_unset_container(struct vfio_group *group) in vfio_group_ioctl_unset_container() argument 80 mutex_lock(&group->group_lock); in vfio_group_ioctl_unset_container() [all …]
|
H A D | container.c | 167 device->group->container->iommu_driver; in vfio_device_container_register() 171 device->group->container->iommu_data, device); in vfio_device_container_register() 177 device->group->container->iommu_driver; in vfio_device_container_unregister() 181 device->group->container->iommu_data, device); in vfio_device_container_unregister() 239 struct vfio_group *group; in __vfio_container_attach_groups() local 242 list_for_each_entry(group, &container->group_list, container_next) { in __vfio_container_attach_groups() 243 ret = driver->ops->attach_group(data, group->iommu_group, in __vfio_container_attach_groups() 244 group->type); in __vfio_container_attach_groups() 252 list_for_each_entry_continue_reverse(group, &container->group_list, in __vfio_container_attach_groups() 254 driver->ops->detach_group(data, group->iommu_group); in __vfio_container_attach_groups() [all …]
|
/linux/drivers/infiniband/hw/mlx4/ |
H A D | mcg.c | 50 #define mcg_warn_group(group, format, arg...) \ argument 52 (group)->name, group->demux->port, ## arg) 54 #define mcg_debug_group(group, format, arg...) \ argument 56 (group)->name, (group)->demux->port, ## arg) 58 #define mcg_error_group(group, format, arg...) \ argument 59 pr_err(" %16s: " format, (group)->name, ## arg) 136 struct mcast_group *group; member 144 mcg_warn_group(group, "did not expect to reach zero\n"); \ 166 struct mcast_group *group; in mcast_find() local 170 group = rb_entry(node, struct mcast_group, node); in mcast_find() [all …]
|
/linux/drivers/iommu/ |
H A D | iommu.c | 72 #define for_each_group_device(group, pos) \ argument 73 list_for_each_entry(pos, &(group)->devices, list) 77 ssize_t (*show)(struct iommu_group *group, char *buf); 78 ssize_t (*store)(struct iommu_group *group, 97 __iommu_group_domain_alloc(struct iommu_group *group, unsigned int type); 101 struct iommu_group *group); 107 static int __iommu_device_set_domain(struct iommu_group *group, 111 static int __iommu_group_set_domain_internal(struct iommu_group *group, 114 static int __iommu_group_set_domain(struct iommu_group *group, in __iommu_group_set_domain() argument 117 return __iommu_group_set_domain_internal(group, new_domain, 0); in __iommu_group_set_domain() [all …]
|
H A D | io-pgfault.c | 42 static void __iopf_free_group(struct iopf_group *group) in __iopf_free_group() argument 46 list_for_each_entry_safe(iopf, next, &group->faults, list) { in __iopf_free_group() 52 iopf_put_dev_fault_param(group->fault_param); in __iopf_free_group() 55 void iopf_free_group(struct iopf_group *group) in iopf_free_group() argument 57 __iopf_free_group(group); in iopf_free_group() 58 kfree(group); in iopf_free_group() 86 struct iopf_group *group; in iopf_group_alloc() local 88 group = kzalloc(sizeof(*group), GFP_KERNEL); in iopf_group_alloc() 89 if (!group) { in iopf_group_alloc() 94 group = abort_group; in iopf_group_alloc() [all …]
|
/linux/fs/notify/ |
H A D | notification.c | 50 void fsnotify_destroy_event(struct fsnotify_group *group, in fsnotify_destroy_event() argument 54 if (!event || event == group->overflow_event) in fsnotify_destroy_event() 63 spin_lock(&group->notification_lock); in fsnotify_destroy_event() 65 spin_unlock(&group->notification_lock); in fsnotify_destroy_event() 67 group->ops->free_event(group, event); in fsnotify_destroy_event() 81 int fsnotify_insert_event(struct fsnotify_group *group, in fsnotify_insert_event() argument 89 struct list_head *list = &group->notification_list; in fsnotify_insert_event() 91 pr_debug("%s: group=%p event=%p\n", __func__, group, event); in fsnotify_insert_event() 93 spin_lock(&group->notification_lock); in fsnotify_insert_event() 95 if (group->shutdown) { in fsnotify_insert_event() [all …]
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_hw_engine_group.c | 18 struct xe_hw_engine_group *group = arg; in hw_engine_group_free() local 20 destroy_workqueue(group->resume_wq); in hw_engine_group_free() 21 kfree(group); in hw_engine_group_free() 28 struct xe_hw_engine_group *group = container_of(w, struct xe_hw_engine_group, resume_work); in hw_engine_group_resume_lr_jobs_func() local 32 err = xe_hw_engine_group_get_mode(group, EXEC_MODE_LR, &previous_mode); in hw_engine_group_resume_lr_jobs_func() 39 list_for_each_entry(q, &group->exec_queue_list, hw_engine_group_link) { in hw_engine_group_resume_lr_jobs_func() 47 xe_hw_engine_group_put(group); in hw_engine_group_resume_lr_jobs_func() 53 struct xe_hw_engine_group *group; in hw_engine_group_alloc() local 56 group = kzalloc(sizeof(*group), GFP_KERNEL); in hw_engine_group_alloc() 57 if (!group) in hw_engine_group_alloc() [all …]
|
/linux/drivers/infiniband/core/ |
H A D | multicast.c | 117 struct mcast_group *group; member 133 struct mcast_group *group; in mcast_find() local 137 group = rb_entry(node, struct mcast_group, node); in mcast_find() 138 ret = memcmp(mgid->raw, group->rec.mgid.raw, sizeof *mgid); in mcast_find() 140 return group; in mcast_find() 151 struct mcast_group *group, in mcast_insert() argument 163 ret = memcmp(group->rec.mgid.raw, cur_group->rec.mgid.raw, in mcast_insert() 164 sizeof group->rec.mgid); in mcast_insert() 174 rb_link_node(&group->node, parent, link); in mcast_insert() 175 rb_insert_color(&group->node, &port->table); in mcast_insert() [all …]
|
H A D | cma_configfs.c | 47 struct config_group group; member 59 struct config_group *group; in to_dev_port_group() local 64 group = container_of(item, struct config_group, cg_item); in to_dev_port_group() 65 return container_of(group, struct cma_dev_port_group, group); in to_dev_port_group() 77 struct cma_dev_port_group *group = to_dev_port_group(item); in cma_configfs_params_get() local 80 if (!group) in cma_configfs_params_get() 84 group->cma_dev_group->name); in cma_configfs_params_get() 89 *pgroup = group; in cma_configfs_params_get() 103 struct cma_dev_port_group *group; in default_roce_mode_show() local 107 ret = cma_configfs_params_get(item, &cma_dev, &group); in default_roce_mode_show() [all …]
|
/linux/arch/sparc/kernel/ |
H A D | hvapi.c | 19 unsigned long group; member 28 { .group = HV_GRP_SUN4V, .flags = FLAG_PRE_API }, 29 { .group = HV_GRP_CORE, .flags = FLAG_PRE_API }, 30 { .group = HV_GRP_INTR, }, 31 { .group = HV_GRP_SOFT_STATE, }, 32 { .group = HV_GRP_TM, }, 33 { .group = HV_GRP_PCI, .flags = FLAG_PRE_API }, 34 { .group = HV_GRP_LDOM, }, 35 { .group = HV_GRP_SVC_CHAN, .flags = FLAG_PRE_API }, 36 { .group = HV_GRP_NCS, .flags = FLAG_PRE_API }, [all …]
|
/linux/drivers/gpu/drm/panthor/ |
H A D | panthor_sched.c | 105 struct panthor_group *group; member 675 #define group_queue_work(group, wname) \ argument 677 group_get(group); \ 678 if (!queue_work((group)->ptdev->scheduler->wq, &(group)->wname ## _work)) \ 679 group_put(group); \ 739 struct panthor_group *group; member 795 panthor_queue_get_syncwait_obj(struct panthor_group *group, struct panthor_queue *queue) in panthor_queue_get_syncwait_obj() argument 797 struct panthor_device *ptdev = group->ptdev; in panthor_queue_get_syncwait_obj() 805 bo = panthor_vm_get_bo_for_va(group->vm, in panthor_queue_get_syncwait_obj() 827 static void group_free_queue(struct panthor_group *group, struct panthor_queue *queue) in group_free_queue() argument [all …]
|
/linux/kernel/sched/ |
H A D | psi.c | 179 static void group_init(struct psi_group *group) in group_init() argument 183 group->enabled = true; in group_init() 185 seqcount_init(&per_cpu_ptr(group->pcpu, cpu)->seq); in group_init() 186 group->avg_last_update = sched_clock(); in group_init() 187 group->avg_next_update = group->avg_last_update + psi_period; in group_init() 188 mutex_init(&group->avgs_lock); in group_init() 191 INIT_LIST_HEAD(&group->avg_triggers); in group_init() 192 memset(group->avg_nr_triggers, 0, sizeof(group->avg_nr_triggers)); in group_init() 193 INIT_DELAYED_WORK(&group->avgs_work, psi_avgs_work); in group_init() 196 atomic_set(&group->rtpoll_scheduled, 0); in group_init() [all …]
|
/linux/drivers/net/ethernet/microchip/sparx5/ |
H A D | sparx5_sdlb.c | 59 static void sparx5_sdlb_group_disable(struct sparx5 *sparx5, u32 group) in sparx5_sdlb_group_disable() argument 63 ANA_AC_SDLB_PUP_CTRL(group)); in sparx5_sdlb_group_disable() 66 static void sparx5_sdlb_group_enable(struct sparx5 *sparx5, u32 group) in sparx5_sdlb_group_enable() argument 70 ANA_AC_SDLB_PUP_CTRL(group)); in sparx5_sdlb_group_enable() 73 static u32 sparx5_sdlb_group_get_first(struct sparx5 *sparx5, u32 group) in sparx5_sdlb_group_get_first() argument 77 val = spx5_rd(sparx5, ANA_AC_SDLB_XLB_START(group)); in sparx5_sdlb_group_get_first() 82 static u32 sparx5_sdlb_group_get_next(struct sparx5 *sparx5, u32 group, in sparx5_sdlb_group_get_next() argument 92 static bool sparx5_sdlb_group_is_first(struct sparx5 *sparx5, u32 group, in sparx5_sdlb_group_is_first() argument 95 return lb == sparx5_sdlb_group_get_first(sparx5, group); in sparx5_sdlb_group_is_first() 98 static bool sparx5_sdlb_group_is_last(struct sparx5 *sparx5, u32 group, in sparx5_sdlb_group_is_last() argument [all …]
|
H A D | sparx5_qos.c | 79 static u32 sparx5_lg_get_leak_time(struct sparx5 *sparx5, u32 layer, u32 group) in sparx5_lg_get_leak_time() argument 83 value = spx5_rd(sparx5, HSCH_HSCH_TIMER_CFG(layer, group)); in sparx5_lg_get_leak_time() 87 static void sparx5_lg_set_leak_time(struct sparx5 *sparx5, u32 layer, u32 group, in sparx5_lg_set_leak_time() argument 91 HSCH_HSCH_TIMER_CFG(layer, group)); in sparx5_lg_set_leak_time() 94 static u32 sparx5_lg_get_first(struct sparx5 *sparx5, u32 layer, u32 group) in sparx5_lg_get_first() argument 98 value = spx5_rd(sparx5, HSCH_HSCH_LEAK_CFG(layer, group)); in sparx5_lg_get_first() 102 static u32 sparx5_lg_get_next(struct sparx5 *sparx5, u32 layer, u32 group, in sparx5_lg_get_next() argument 112 static u32 sparx5_lg_get_last(struct sparx5 *sparx5, u32 layer, u32 group) in sparx5_lg_get_last() argument 116 itr = sparx5_lg_get_first(sparx5, layer, group); in sparx5_lg_get_last() 119 next = sparx5_lg_get_next(sparx5, layer, group, itr); in sparx5_lg_get_last() [all …]
|
/linux/kernel/time/ |
H A D | timer_migration.c | 437 static bool tmigr_check_migrator(struct tmigr_group *group, u8 childmask) in tmigr_check_migrator() argument 441 s.state = atomic_read(&group->migr_state); in tmigr_check_migrator() 449 static bool tmigr_check_migrator_and_lonely(struct tmigr_group *group, u8 childmask) in tmigr_check_migrator_and_lonely() argument 455 s.state = atomic_read(&group->migr_state); in tmigr_check_migrator_and_lonely() 466 static bool tmigr_check_lonely(struct tmigr_group *group) in tmigr_check_lonely() argument 471 s.state = atomic_read(&group->migr_state); in tmigr_check_lonely() 528 struct tmigr_group *child = NULL, *group = tmc->tmgroup; in __walk_groups() local 531 WARN_ON_ONCE(group->level >= tmigr_hierarchy_levels); in __walk_groups() 533 if (up(group, child, data)) in __walk_groups() 536 child = group; in __walk_groups() [all …]
|
/linux/drivers/gpio/ |
H A D | gpio-lpc32xx.c | 168 static inline u32 gpreg_read(struct lpc32xx_gpio_chip *group, unsigned long offset) in gpreg_read() argument 170 return __raw_readl(group->reg_base + offset); in gpreg_read() 173 static inline void gpreg_write(struct lpc32xx_gpio_chip *group, u32 val, unsigned long offset) in gpreg_write() argument 175 __raw_writel(val, group->reg_base + offset); in gpreg_write() 178 static void __set_gpio_dir_p012(struct lpc32xx_gpio_chip *group, in __set_gpio_dir_p012() argument 182 gpreg_write(group, GPIO012_PIN_TO_BIT(pin), in __set_gpio_dir_p012() 183 group->gpio_grp->dir_clr); in __set_gpio_dir_p012() 185 gpreg_write(group, GPIO012_PIN_TO_BIT(pin), in __set_gpio_dir_p012() 186 group->gpio_grp->dir_set); in __set_gpio_dir_p012() 189 static void __set_gpio_dir_p3(struct lpc32xx_gpio_chip *group, in __set_gpio_dir_p3() argument [all …]
|
/linux/drivers/clk/renesas/ |
H A D | clk-mstp.c | 59 struct mstp_clock_group *group; member 64 static inline u32 cpg_mstp_read(struct mstp_clock_group *group, in cpg_mstp_read() argument 67 return group->width_8bit ? readb(reg) : readl(reg); in cpg_mstp_read() 70 static inline void cpg_mstp_write(struct mstp_clock_group *group, u32 val, in cpg_mstp_write() argument 73 group->width_8bit ? writeb(val, reg) : writel(val, reg); in cpg_mstp_write() 79 struct mstp_clock_group *group = clock->group; in cpg_mstp_clock_endisable() local 85 spin_lock_irqsave(&group->lock, flags); in cpg_mstp_clock_endisable() 87 value = cpg_mstp_read(group, group->smstpcr); in cpg_mstp_clock_endisable() 92 cpg_mstp_write(group, value, group->smstpcr); in cpg_mstp_clock_endisable() 94 if (!group->mstpsr) { in cpg_mstp_clock_endisable() [all …]
|
/linux/fs/ext2/ |
H A D | ialloc.c | 66 static void ext2_release_inode(struct super_block *sb, int group, int dir) in ext2_release_inode() argument 71 desc = ext2_get_group_desc(sb, group, &bh); in ext2_release_inode() 74 "can't get descriptor for group %d", group); in ext2_release_inode() 78 spin_lock(sb_bgl_lock(EXT2_SB(sb), group)); in ext2_release_inode() 82 spin_unlock(sb_bgl_lock(EXT2_SB(sb), group)); in ext2_release_inode() 204 int group, best_group = -1; in find_group_dir() local 206 for (group = 0; group < ngroups; group++) { in find_group_dir() 207 desc = ext2_get_group_desc (sb, group, NULL); in find_group_dir() 215 best_group = group; in find_group_dir() 265 int group = -1, i; in find_group_orlov() local [all …]
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
H A D | qos.c | 45 static int esw_qos_group_config(struct mlx5_eswitch *esw, struct mlx5_esw_rate_group *group, in esw_qos_group_config() argument 53 group->tsar_ix, in esw_qos_group_config() 58 trace_mlx5_esw_group_qos_config(dev, group, group->tsar_ix, bw_share, max_rate); in esw_qos_group_config() 91 struct mlx5_esw_rate_group *group, in esw_qos_calculate_min_rate_divider() argument 100 struct mlx5_esw_rate_group *group; in esw_qos_calculate_min_rate_divider() local 102 list_for_each_entry(group, &esw->qos.groups, list) { in esw_qos_calculate_min_rate_divider() 103 if (group->min_rate < max_guarantee) in esw_qos_calculate_min_rate_divider() 105 max_guarantee = group->min_rate; in esw_qos_calculate_min_rate_divider() 110 evport->qos.group != group || evport->qos.min_rate < max_guarantee) in esw_qos_calculate_min_rate_divider() 122 if (!group_level && !max_guarantee && group && group->bw_share) in esw_qos_calculate_min_rate_divider() [all …]
|
/linux/drivers/pinctrl/aspeed/ |
H A D | pinmux-aspeed.h | 513 #define SIG_DESC_LIST_SYM(sig, group) sig_descs_ ## sig ## _ ## group argument 514 #define SIG_DESC_LIST_DECL(sig, group, ...) \ argument 515 static const struct aspeed_sig_desc SIG_DESC_LIST_SYM(sig, group)[] = \ 518 #define SIG_EXPR_SYM(sig, group) sig_expr_ ## sig ## _ ## group argument 519 #define SIG_EXPR_DECL_(sig, group, func) \ argument 520 static const struct aspeed_sig_expr SIG_EXPR_SYM(sig, group) = \ 524 .ndescs = ARRAY_SIZE(SIG_DESC_LIST_SYM(sig, group)), \ 525 .descs = &(SIG_DESC_LIST_SYM(sig, group))[0], \ 545 #define SIG_EXPR_DECL(sig, group, func, ...) \ argument 546 SIG_DESC_LIST_DECL(sig, group, __VA_ARGS__); \ [all …]
|
/linux/include/trace/events/ |
H A D | timer_migration.h | 14 TP_PROTO(struct tmigr_group *group), 16 TP_ARGS(group), 19 __field( void *, group ) 25 __entry->group = group; 26 __entry->lvl = group->level; 27 __entry->numa_node = group->numa_node; 31 __entry->group, __entry->lvl, __entry->numa_node) 94 TP_PROTO(struct tmigr_group *group, union tmigr_state state, u32 childmask), 96 TP_ARGS(group, state, childmask), 99 __field( void *, group ) [all …]
|
/linux/drivers/media/platform/renesas/rcar-vin/ |
H A D | rcar-core.c | 61 static void rvin_group_cleanup(struct rvin_group *group) in rvin_group_cleanup() argument 63 media_device_cleanup(&group->mdev); in rvin_group_cleanup() 64 mutex_destroy(&group->lock); in rvin_group_cleanup() 67 static int rvin_group_init(struct rvin_group *group, struct rvin_dev *vin, in rvin_group_init() argument 71 struct media_device *mdev = &group->mdev; in rvin_group_init() 75 mutex_init(&group->lock); in rvin_group_init() 78 group->count = 0; in rvin_group_init() 81 group->count++; in rvin_group_init() 83 vin_dbg(vin, "found %u enabled VIN's in DT", group->count); in rvin_group_init() 85 group->link_setup = link_setup; in rvin_group_init() [all …]
|
/linux/net/psample/ |
H A D | psample.c | 41 struct psample_group *group, in psample_group_nl_fill() argument 52 ret = nla_put_u32(msg, PSAMPLE_ATTR_SAMPLE_GROUP, group->group_num); in psample_group_nl_fill() 56 ret = nla_put_u32(msg, PSAMPLE_ATTR_GROUP_REFCOUNT, group->refcount); in psample_group_nl_fill() 60 ret = nla_put_u32(msg, PSAMPLE_ATTR_GROUP_SEQ, group->seq); in psample_group_nl_fill() 75 struct psample_group *group; in psample_nl_cmd_get_group_dumpit() local 81 list_for_each_entry(group, &psample_groups_list, list) { in psample_nl_cmd_get_group_dumpit() 82 if (!net_eq(group->net, sock_net(msg->sk))) in psample_nl_cmd_get_group_dumpit() 88 err = psample_group_nl_fill(msg, group, PSAMPLE_CMD_NEW_GROUP, in psample_nl_cmd_get_group_dumpit() 123 static void psample_group_notify(struct psample_group *group, in psample_group_notify() argument 133 err = psample_group_nl_fill(msg, group, cmd, 0, 0, NLM_F_MULTI); in psample_group_notify() [all …]
|
/linux/Documentation/filesystems/ext4/ |
H A D | blockgroup.rst | 6 The layout of a standard block group is approximately as follows (each 30 For the special case of block group 0, the first 1024 bytes are unused, 37 The ext4 driver primarily works with the superblock and the group 38 descriptors that are found in block group 0. Redundant copies of the 39 superblock and group descriptors are written to some of the block groups 42 paragraph for more details). If the group does not have a redundant 43 copy, the block group begins with the data block bitmap. Note also that 45 GDT block” space after the block group descriptors and before the start 54 As for the ordering of items in a block group, it is generally 55 established that the super block and the group descriptor table, if [all …]
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | marvell,armada-37xx-pinctrl.txt | 32 group: jtag 36 group sdio0 40 group emmc_nb 44 group pwm0 48 group pwm1 52 group pwm2 56 group pwm3 60 group pmic1 64 group pmic0 68 group i2c2 [all …]
|