| /linux/drivers/scsi/arm/ |
| H A D | fas216.c | 15 * FAS216_Info info; 144 static inline unsigned char fas216_readb(FAS216_Info *info, unsigned int reg) in fas216_readb() argument 146 unsigned int off = reg << info->scsi.io_shift; in fas216_readb() 147 return readb(info->scsi.io_base + off); in fas216_readb() 150 static inline void fas216_writeb(FAS216_Info *info, unsigned int reg, unsigned int val) in fas216_writeb() argument 152 unsigned int off = reg << info->scsi.io_shift; in fas216_writeb() 153 writeb(val, info->scsi.io_base + off); in fas216_writeb() 156 static void fas216_dumpstate(FAS216_Info *info) in fas216_dumpstate() argument 160 is = fas216_readb(info, REG_IS); in fas216_dumpstate() 161 stat = fas216_readb(info, REG_STAT); in fas216_dumpstate() [all …]
|
| H A D | powertec.c | 61 FAS216_Info info; member 76 struct powertec_info *info = ec->irq_data; in powertecscsi_irqenable() local 77 writeb(POWERTEC_INTR_ENABLE, info->base + POWERTEC_INTR_CONTROL); in powertecscsi_irqenable() 88 struct powertec_info *info = ec->irq_data; in powertecscsi_irqdisable() local 89 writeb(POWERTEC_INTR_DISABLE, info->base + POWERTEC_INTR_CONTROL); in powertecscsi_irqdisable() 105 struct powertec_info *info = (struct powertec_info *)host->hostdata; in powertecscsi_terminator_ctl() local 107 info->term_ctl = on_off ? POWERTEC_TERM_ENABLE : 0; in powertecscsi_terminator_ctl() 108 writeb(info->term_ctl, info->base + POWERTEC_TERM_CONTROL); in powertecscsi_terminator_ctl() 118 struct powertec_info *info = dev_id; in powertecscsi_intr() local 120 return fas216_intr(&info->info); in powertecscsi_intr() [all …]
|
| H A D | cumana_2.c | 78 FAS216_Info info; member 96 struct cumanascsi2_info *info = ec->irq_data; in cumanascsi_2_irqenable() local 97 writeb(ALATCH_ENA_INT, info->base + CUMANASCSI2_ALATCH); in cumanascsi_2_irqenable() 108 struct cumanascsi2_info *info = ec->irq_data; in cumanascsi_2_irqdisable() local 109 writeb(ALATCH_DIS_INT, info->base + CUMANASCSI2_ALATCH); in cumanascsi_2_irqdisable() 125 struct cumanascsi2_info *info = (struct cumanascsi2_info *)host->hostdata; in cumanascsi_2_terminator_ctl() local 128 info->terms = 1; in cumanascsi_2_terminator_ctl() 129 writeb(ALATCH_ENA_TERM, info->base + CUMANASCSI2_ALATCH); in cumanascsi_2_terminator_ctl() 131 info->terms = 0; in cumanascsi_2_terminator_ctl() 132 writeb(ALATCH_DIS_TERM, info->base + CUMANASCSI2_ALATCH); in cumanascsi_2_terminator_ctl() [all …]
|
| /linux/drivers/gpu/drm/tests/ |
| H A D | drm_format_test.c | 14 const struct drm_format_info *info = NULL; in drm_test_format_block_width_invalid() local 16 KUNIT_EXPECT_EQ(test, drm_format_info_block_width(info, 0), 0); in drm_test_format_block_width_invalid() 17 KUNIT_EXPECT_EQ(test, drm_format_info_block_width(info, -1), 0); in drm_test_format_block_width_invalid() 18 KUNIT_EXPECT_EQ(test, drm_format_info_block_width(info, 1), 0); in drm_test_format_block_width_invalid() 23 const struct drm_format_info *info = drm_format_info(DRM_FORMAT_XRGB4444); in drm_test_format_block_width_one_plane() local 25 KUNIT_ASSERT_NOT_NULL(test, info); in drm_test_format_block_width_one_plane() 27 KUNIT_EXPECT_EQ(test, drm_format_info_block_width(info, 0), 1); in drm_test_format_block_width_one_plane() 28 KUNIT_EXPECT_EQ(test, drm_format_info_block_width(info, 1), 0); in drm_test_format_block_width_one_plane() 29 KUNIT_EXPECT_EQ(test, drm_format_info_block_width(info, -1), 0); in drm_test_format_block_width_one_plane() 34 const struct drm_format_info *info = drm_format_info(DRM_FORMAT_NV12); in drm_test_format_block_width_two_plane() local [all …]
|
| /linux/drivers/usb/common/ |
| H A D | usb-conn-gpio.c | 72 struct usb_conn_info *info; in usb_conn_detect_cable() local 76 info = container_of(to_delayed_work(work), in usb_conn_detect_cable() 80 id = info->id_gpiod ? in usb_conn_detect_cable() 81 gpiod_get_value_cansleep(info->id_gpiod) : 1; in usb_conn_detect_cable() 82 vbus = info->vbus_gpiod ? in usb_conn_detect_cable() 83 gpiod_get_value_cansleep(info->vbus_gpiod) : id; in usb_conn_detect_cable() 92 dev_dbg(info->dev, "role %s -> %s, gpios: id %d, vbus %d\n", in usb_conn_detect_cable() 93 usb_role_string(info->last_role), usb_role_string(role), id, vbus); in usb_conn_detect_cable() 95 if (!info->initial_detection && info->last_role == role) { in usb_conn_detect_cable() 96 dev_warn(info->dev, "repeated role: %s\n", usb_role_string(role)); in usb_conn_detect_cable() [all …]
|
| /linux/drivers/rtc/ |
| H A D | rtc-s3c.c | 52 void (*irq_handler) (struct s3c_rtc *info, int mask); 53 void (*enable) (struct s3c_rtc *info); 54 void (*disable) (struct s3c_rtc *info); 57 static int s3c_rtc_enable_clk(struct s3c_rtc *info) in s3c_rtc_enable_clk() argument 61 ret = clk_enable(info->rtc_clk); in s3c_rtc_enable_clk() 65 if (info->data->needs_src_clk) { in s3c_rtc_enable_clk() 66 ret = clk_enable(info->rtc_src_clk); in s3c_rtc_enable_clk() 68 clk_disable(info->rtc_clk); in s3c_rtc_enable_clk() 75 static void s3c_rtc_disable_clk(struct s3c_rtc *info) in s3c_rtc_disable_clk() argument 77 if (info->data->needs_src_clk) in s3c_rtc_disable_clk() [all …]
|
| H A D | rtc-max77686.c | 293 struct max77686_rtc_info *info) in max77686_rtc_data_to_tm() argument 295 u8 mask = info->drv_data->mask; in max77686_rtc_data_to_tm() 313 if (!info->drv_data->alarm_enable_reg) in max77686_rtc_data_to_tm() 318 struct max77686_rtc_info *info) in max77686_rtc_tm_to_data() argument 327 if (info->drv_data->alarm_enable_reg) { in max77686_rtc_tm_to_data() 335 dev_err(info->dev, "RTC cannot handle the year %d.\n", in max77686_rtc_tm_to_data() 343 static int max77686_rtc_update(struct max77686_rtc_info *info, in max77686_rtc_update() argument 348 unsigned long delay = info->drv_data->delay; in max77686_rtc_update() 355 ret = regmap_update_bits(info->rtc_regmap, in max77686_rtc_update() 356 info->drv_data->map[REG_RTC_UPDATE0], in max77686_rtc_update() [all …]
|
| /linux/drivers/usb/host/ |
| H A D | xen-hcd.c | 105 static inline struct usb_hcd *xenhcd_info_to_hcd(struct xenhcd_info *info) in xenhcd_info_to_hcd() argument 107 return container_of((void *)info, struct usb_hcd, hcd_priv); in xenhcd_info_to_hcd() 110 static void xenhcd_set_error(struct xenhcd_info *info, const char *msg) in xenhcd_set_error() argument 112 info->error = true; in xenhcd_set_error() 117 static inline void xenhcd_timer_action_done(struct xenhcd_info *info, in xenhcd_timer_action_done() argument 120 clear_bit(action, &info->actions); in xenhcd_timer_action_done() 123 static void xenhcd_timer_action(struct xenhcd_info *info, in xenhcd_timer_action() argument 126 if (timer_pending(&info->watchdog) && in xenhcd_timer_action() 127 test_bit(TIMER_SCAN_PENDING_URBS, &info->actions)) in xenhcd_timer_action() 130 if (!test_and_set_bit(action, &info->actions)) { in xenhcd_timer_action() [all …]
|
| /linux/drivers/xen/events/ |
| H A D | events_base.c | 177 static bool (*pirq_needs_eoi)(struct irq_info *info); 250 /* Get info for IRQ */ 259 static void set_info_for_irq(unsigned int irq, struct irq_info *info) in set_info_for_irq() argument 262 legacy_info_ptrs[irq] = info; in set_info_for_irq() 264 irq_set_chip_data(irq, info); in set_info_for_irq() 281 static void channels_on_cpu_dec(struct irq_info *info) in channels_on_cpu_dec() argument 283 if (!info->is_accounted) in channels_on_cpu_dec() 286 info->is_accounted = 0; in channels_on_cpu_dec() 288 if (WARN_ON_ONCE(info->cpu >= nr_cpu_ids)) in channels_on_cpu_dec() 291 WARN_ON_ONCE(!atomic_add_unless(&channels_on_cpu[info->cpu], -1 , 0)); in channels_on_cpu_dec() [all …]
|
| /linux/drivers/video/fbdev/core/ |
| H A D | fb_chrdev.c | 23 struct fb_info *info = registered_fb[fbidx]; in file_fb_info() local 25 if (info != file->private_data) in file_fb_info() 26 info = NULL; in file_fb_info() 27 return info; in file_fb_info() 32 struct fb_info *info = file_fb_info(file); in fb_read() local 34 if (!info) in fb_read() 37 if (fb_WARN_ON_ONCE(info, !info->fbops->fb_read)) in fb_read() 40 if (info->state != FBINFO_STATE_RUNNING) in fb_read() 43 return info->fbops->fb_read(info, buf, count, ppos); in fb_read() 48 struct fb_info *info = file_fb_info(file); in fb_write() local [all …]
|
| /linux/tools/power/x86/intel-speed-select/ |
| H A D | isst-core-tpmi.c | 10 int tpmi_process_ioctl(int ioctl_no, void *info) in tpmi_process_ioctl() argument 64 if (ioctl(fd, ioctl_no, info) == -1) { in tpmi_process_ioctl() 117 struct isst_tpmi_instance_count info; in tpmi_is_punit_valid() local 123 info.socket_id = id->pkg; in tpmi_is_punit_valid() 124 ret = tpmi_process_ioctl(ISST_IF_COUNT_TPMI_INSTANCES, &info); in tpmi_is_punit_valid() 128 if (info.valid_mask & BIT(id->punit)) in tpmi_is_punit_valid() 136 struct isst_core_power info; in tpmi_read_pm_config() local 139 info.get_set = 0; in tpmi_read_pm_config() 140 info.socket_id = id->pkg; in tpmi_read_pm_config() 141 info.power_domain_id = id->punit; in tpmi_read_pm_config() [all …]
|
| /linux/drivers/input/misc/ |
| H A D | twl6040-vibra.c | 55 struct vibra_info *info = data; in twl6040_vib_irq_handler() local 56 struct twl6040 *twl6040 = info->twl6040; in twl6040_vib_irq_handler() 61 dev_warn(info->dev, "Left Vibrator overcurrent detected\n"); in twl6040_vib_irq_handler() 66 dev_warn(info->dev, "Right Vibrator overcurrent detected\n"); in twl6040_vib_irq_handler() 74 static void twl6040_vibra_enable(struct vibra_info *info) in twl6040_vibra_enable() argument 76 struct twl6040 *twl6040 = info->twl6040; in twl6040_vibra_enable() 79 ret = regulator_bulk_enable(ARRAY_SIZE(info->supplies), info->supplies); in twl6040_vibra_enable() 81 dev_err(info->dev, "failed to enable regulators %d\n", ret); in twl6040_vibra_enable() 85 twl6040_power(info->twl6040, 1); in twl6040_vibra_enable() 104 info->enabled = true; in twl6040_vibra_enable() [all …]
|
| /linux/net/netfilter/ |
| H A D | xt_set.c | 56 const struct xt_set_info_match_v0 *info = par->matchinfo; in set_match_v0() local 58 ADT_OPT(opt, xt_family(par), info->match_set.u.compat.dim, in set_match_v0() 59 info->match_set.u.compat.flags, 0, UINT_MAX, in set_match_v0() 62 return match_set(info->match_set.index, skb, par, &opt, in set_match_v0() 63 info->match_set.u.compat.flags & IPSET_INV_MATCH); in set_match_v0() 67 compat_flags(struct xt_set_info_v0 *info) in compat_flags() argument 72 info->u.compat.dim = IPSET_DIM_ZERO; in compat_flags() 73 if (info->u.flags[0] & IPSET_MATCH_INV) in compat_flags() 74 info->u.compat.flags |= IPSET_INV_MATCH; in compat_flags() 75 for (i = 0; i < IPSET_DIM_MAX - 1 && info->u.flags[i]; i++) { in compat_flags() [all …]
|
| H A D | xt_IDLETIMER.c | 134 static int idletimer_tg_create(struct idletimer_tg_info *info) in idletimer_tg_create() argument 138 info->timer = kzalloc(sizeof(*info->timer), GFP_KERNEL); in idletimer_tg_create() 139 if (!info->timer) { in idletimer_tg_create() 144 ret = idletimer_check_sysfs_name(info->label, sizeof(info->label)); in idletimer_tg_create() 148 sysfs_attr_init(&info->timer->attr.attr); in idletimer_tg_create() 149 info->timer->attr.attr.name = kstrdup(info->label, GFP_KERNEL); in idletimer_tg_create() 150 if (!info->timer->attr.attr.name) { in idletimer_tg_create() 154 info->timer->attr.attr.mode = 0444; in idletimer_tg_create() 155 info->timer->attr.show = idletimer_tg_show; in idletimer_tg_create() 157 ret = sysfs_create_file(idletimer_tg_kobj, &info->timer->attr.attr); in idletimer_tg_create() [all …]
|
| H A D | xt_conntrack.c | 41 const struct xt_conntrack_mtinfo2 *info, in conntrack_mt_origsrc() argument 45 &info->origsrc_addr, &info->origsrc_mask, family); in conntrack_mt_origsrc() 50 const struct xt_conntrack_mtinfo2 *info, in conntrack_mt_origdst() argument 54 &info->origdst_addr, &info->origdst_mask, family); in conntrack_mt_origdst() 59 const struct xt_conntrack_mtinfo2 *info, in conntrack_mt_replsrc() argument 63 &info->replsrc_addr, &info->replsrc_mask, family); in conntrack_mt_replsrc() 68 const struct xt_conntrack_mtinfo2 *info, in conntrack_mt_repldst() argument 72 &info->repldst_addr, &info->repldst_mask, family); in conntrack_mt_repldst() 76 ct_proto_port_check(const struct xt_conntrack_mtinfo2 *info, in ct_proto_port_check() argument 82 if ((info->match_flags & XT_CONNTRACK_PROTO) && in ct_proto_port_check() [all …]
|
| /linux/drivers/video/fbdev/ |
| H A D | ep93xx-fb.c | 148 static void ep93xxfb_set_video_attribs(struct fb_info *info) in ep93xxfb_set_video_attribs() argument 150 struct ep93xx_fbi *fbi = info->par; in ep93xxfb_set_video_attribs() 158 static int ep93xxfb_set_pixelmode(struct fb_info *info) in ep93xxfb_set_pixelmode() argument 160 struct ep93xx_fbi *fbi = info->par; in ep93xxfb_set_pixelmode() 163 info->var.transp.offset = 0; in ep93xxfb_set_pixelmode() 164 info->var.transp.length = 0; in ep93xxfb_set_pixelmode() 166 switch (info->var.bits_per_pixel) { in ep93xxfb_set_pixelmode() 171 info->var.red.offset = 0; in ep93xxfb_set_pixelmode() 172 info->var.red.length = 8; in ep93xxfb_set_pixelmode() 173 info->var.green.offset = 0; in ep93xxfb_set_pixelmode() [all …]
|
| H A D | xen-fbfront.c | 75 static void xenfb_send_event(struct xenfb_info *info, in xenfb_send_event() argument 80 prod = info->page->out_prod; in xenfb_send_event() 83 XENFB_OUT_RING_REF(info->page, prod) = *event; in xenfb_send_event() 85 info->page->out_prod = prod + 1; in xenfb_send_event() 87 notify_remote_via_irq(info->irq); in xenfb_send_event() 90 static void xenfb_do_update(struct xenfb_info *info, in xenfb_do_update() argument 103 xenfb_send_event(info, &event); in xenfb_do_update() 106 static void xenfb_do_resize(struct xenfb_info *info) in xenfb_do_resize() argument 111 event.resize = info->resize; in xenfb_do_resize() 114 xenfb_send_event(info, &event); in xenfb_do_resize() [all …]
|
| /linux/sound/soc/fsl/ |
| H A D | imx-pcm-rpmsg.c | 20 .info = SNDRV_PCM_INFO_INTERLEAVED | 37 struct rpmsg_info *info) in imx_rpmsg_pcm_send_message() argument 39 struct rpmsg_device *rpdev = info->rpdev; in imx_rpmsg_pcm_send_message() 42 mutex_lock(&info->msg_lock); in imx_rpmsg_pcm_send_message() 44 dev_err(info->dev, "rpmsg channel not ready\n"); in imx_rpmsg_pcm_send_message() 45 mutex_unlock(&info->msg_lock); in imx_rpmsg_pcm_send_message() 52 reinit_completion(&info->cmd_complete); in imx_rpmsg_pcm_send_message() 58 mutex_unlock(&info->msg_lock); in imx_rpmsg_pcm_send_message() 64 mutex_unlock(&info->msg_lock); in imx_rpmsg_pcm_send_message() 69 ret = wait_for_completion_timeout(&info->cmd_complete, in imx_rpmsg_pcm_send_message() [all …]
|
| /linux/drivers/bluetooth/ |
| H A D | bluecard_cs.c | 161 struct bluecard_info *info = timer_container_of(info, t, timer); in bluecard_activity_led_timeout() local 162 unsigned int iobase = info->p_dev->resource[0]->start; in bluecard_activity_led_timeout() 164 if (test_bit(CARD_ACTIVITY, &(info->hw_state))) { in bluecard_activity_led_timeout() 166 clear_bit(CARD_ACTIVITY, &(info->hw_state)); in bluecard_activity_led_timeout() 167 mod_timer(&(info->timer), jiffies + HZ / 10); in bluecard_activity_led_timeout() 175 static void bluecard_enable_activity_led(struct bluecard_info *info) in bluecard_enable_activity_led() argument 177 unsigned int iobase = info->p_dev->resource[0]->start; in bluecard_enable_activity_led() 180 if (timer_pending(&(info->timer))) in bluecard_enable_activity_led() 183 set_bit(CARD_ACTIVITY, &(info->hw_state)); in bluecard_enable_activity_led() 185 if (test_bit(CARD_HAS_ACTIVITY_LED, &(info->hw_state))) { in bluecard_enable_activity_led() [all …]
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | fill_link_info.c | 41 struct bpf_link_info info; in verify_perf_link_info() 42 __u32 len = sizeof(info); in verify_perf_link_info() 46 memset(&info, 0, sizeof(info)); in verify_perf_link_info() 50 err = bpf_link_get_info_by_fd(fd, &info, &len); in verify_perf_link_info() 54 if (!ASSERT_EQ(info.type, BPF_LINK_TYPE_PERF_EVENT, "link_type")) in verify_perf_link_info() 56 if (!ASSERT_EQ(info.perf_event.type, type, "perf_type_match")) in verify_perf_link_info() 59 switch (info.perf_event.type) { in verify_perf_link_info() 62 ASSERT_EQ(info.perf_event.kprobe.offset, offset, "kprobe_offset"); in verify_perf_link_info() 66 ASSERT_EQ(info in verify_perf_link_info() 40 struct bpf_link_info info; verify_perf_link_info() local 129 struct bpf_link_info info; kprobe_fill_invalid_user_buffer() local 263 struct bpf_link_info info; verify_kmulti_link_info() local 300 struct bpf_link_info info; verify_kmulti_invalid_user_buffer() local 414 struct bpf_link_info info; verify_umulti_link_info() local 481 struct bpf_link_info info; verify_umulti_invalid_user_buffer() local [all...] |
| /linux/drivers/power/supply/ |
| H A D | axp288_charger.c | 153 static inline int axp288_charger_set_cc(struct axp288_chrg_info *info, int cc) in axp288_charger_set_cc() argument 160 else if (cc > info->max_cc) in axp288_charger_set_cc() 161 cc = info->max_cc; in axp288_charger_set_cc() 167 ret = regmap_update_bits(info->regmap, in axp288_charger_set_cc() 171 info->cc = cc; in axp288_charger_set_cc() 176 static inline int axp288_charger_set_cv(struct axp288_chrg_info *info, int cv) in axp288_charger_set_cv() argument 197 ret = regmap_update_bits(info->regmap, in axp288_charger_set_cv() 202 info->cv = cv; in axp288_charger_set_cv() 207 static int axp288_charger_get_vbus_inlmt(struct axp288_chrg_info *info) in axp288_charger_get_vbus_inlmt() argument 211 val = info->backend_control; in axp288_charger_get_vbus_inlmt() [all …]
|
| /linux/net/bridge/netfilter/ |
| H A D | ebt_ip.c | 40 const struct ebt_ip_info *info = par->matchinfo; in ebt_ip_mt() local 49 if ((info->bitmask & EBT_IP_TOS) && in ebt_ip_mt() 50 NF_INVF(info, EBT_IP_TOS, info->tos != ih->tos)) in ebt_ip_mt() 52 if ((info->bitmask & EBT_IP_SOURCE) && in ebt_ip_mt() 53 NF_INVF(info, EBT_IP_SOURCE, in ebt_ip_mt() 54 (ih->saddr & info->smsk) != info->saddr)) in ebt_ip_mt() 56 if ((info->bitmask & EBT_IP_DEST) && in ebt_ip_mt() 57 NF_INVF(info, EBT_IP_DEST, in ebt_ip_mt() 58 (ih->daddr & info->dmsk) != info->daddr)) in ebt_ip_mt() 60 if (info->bitmask & EBT_IP_PROTO) { in ebt_ip_mt() [all …]
|
| /linux/fs/quota/ |
| H A D | quota_tree.c | 32 static int __get_index(struct qtree_mem_dqinfo *info, qid_t id, int depth) in __get_index() argument 34 unsigned int epb = info->dqi_usable_bs >> 2; in __get_index() 36 depth = info->dqi_qtree_depth - depth - 1; in __get_index() 42 static int get_index(struct qtree_mem_dqinfo *info, struct kqid qid, int depth) in get_index() argument 46 return __get_index(info, id, depth); in get_index() 50 static int qtree_dqstr_in_blk(struct qtree_mem_dqinfo *info) in qtree_dqstr_in_blk() argument 52 return (info->dqi_usable_bs - sizeof(struct qt_disk_dqdbheader)) in qtree_dqstr_in_blk() 53 / info->dqi_entry_size; in qtree_dqstr_in_blk() 56 static ssize_t read_blk(struct qtree_mem_dqinfo *info, uint blk, char *buf) in read_blk() argument 58 struct super_block *sb = info->dqi_sb; in read_blk() [all …]
|
| /linux/drivers/infiniband/ulp/opa_vnic/ |
| H A D | opa_vnic_vema_iface.c | 63 struct __opa_veswport_info *info = &adapter->info; in opa_vnic_vema_report_event() local 66 trap_data.fabric_id = info->vesw.fabric_id; in opa_vnic_vema_report_event() 67 trap_data.veswid = info->vesw.vesw_id; in opa_vnic_vema_report_event() 68 trap_data.veswportnum = info->vport.port_num; in opa_vnic_vema_report_event() 73 opa_vnic_vema_send_trap(adapter, &trap_data, info->vport.encap_slid); in opa_vnic_vema_report_event() 97 cntrs->vesw_id = cpu_to_be16(adapter->info.vesw.vesw_id); in opa_vnic_get_summary_counters() 136 cntrs->vesw_id = cpu_to_be16(adapter->info.vesw.vesw_id); in opa_vnic_get_error_counters() 156 * @info: pointer to destination vesw info structure 158 * This function copies the vesw info that is maintained by the 162 struct opa_vesw_info *info) in opa_vnic_get_vesw_info() argument [all …]
|
| /linux/drivers/scsi/ |
| H A D | xen-scsifront.c | 137 static void scsifront_wake_up(struct vscsifrnt_info *info) in scsifront_wake_up() argument 139 info->wait_ring_available = 0; in scsifront_wake_up() 140 wake_up(&info->wq_sync); in scsifront_wake_up() 143 static int scsifront_get_rqid(struct vscsifrnt_info *info) in scsifront_get_rqid() argument 148 spin_lock_irqsave(&info->shadow_lock, flags); in scsifront_get_rqid() 150 free = find_first_bit(info->shadow_free_bitmap, VSCSIIF_MAX_REQS); in scsifront_get_rqid() 151 __clear_bit(free, info->shadow_free_bitmap); in scsifront_get_rqid() 153 spin_unlock_irqrestore(&info->shadow_lock, flags); in scsifront_get_rqid() 158 static int _scsifront_put_rqid(struct vscsifrnt_info *info, uint32_t id) in _scsifront_put_rqid() argument 160 int empty = bitmap_empty(info->shadow_free_bitmap, VSCSIIF_MAX_REQS); in _scsifront_put_rqid() [all …]
|