/linux/drivers/scsi/elx/efct/ |
H A D | efct_scsi.c | 15 #define scsi_io_printf(io, fmt, ...) \ argument 16 efc_log_debug(io->efct, "[%s]" SCSI_IOFMT fmt, \ 17 io->node->display_name, io->instance_index,\ 18 io->init_task_tag, io->tgt_task_tag, io->hw_tag, ##__VA_ARGS__) 23 #define scsi_io_trace(io, fmt, ...) \ argument 25 if (EFCT_LOG_ENABLE_SCSI_TRACE(io->efct)) \ 26 scsi_io_printf(io, fmt, ##__VA_ARGS__); \ 34 struct efct_io *io; in efct_scsi_io_alloc() local 41 io = efct_io_pool_io_alloc(efct->xport->io_pool); in efct_scsi_io_alloc() 42 if (!io) { in efct_scsi_io_alloc() [all …]
|
H A D | efct_io.c | 13 spinlock_t lock; /* IO pool lock */ 25 struct efct_io *io; in efct_io_pool_create() local 27 /* Allocate the IO pool */ in efct_io_pool_create() 34 /* initialize IO pool lock */ in efct_io_pool_create() 38 io = kzalloc(sizeof(*io), GFP_KERNEL); in efct_io_pool_create() 39 if (!io) in efct_io_pool_create() 43 io_pool->ios[i] = io; in efct_io_pool_create() 44 io->tag = i; in efct_io_pool_create() 45 io->instance_index = i; in efct_io_pool_create() 48 io->rspbuf.size = SCSI_RSP_BUF_LENGTH; in efct_io_pool_create() [all …]
|
H A D | efct_hw.c | 294 * the WQ to allow for 2 completions per IO. This allows us to in efct_hw_setup() 327 efct_hw_init_free_io(struct efct_hw_io *io) in efct_hw_init_free_io() argument 330 * Set io->done to NULL, to avoid any callbacks, should in efct_hw_init_free_io() 333 io->done = NULL; in efct_hw_init_free_io() 334 io->abort_done = NULL; in efct_hw_init_free_io() 335 io->status_saved = false; in efct_hw_init_free_io() 336 io->abort_in_progress = false; in efct_hw_init_free_io() 337 io->type = 0xFFFF; in efct_hw_init_free_io() 338 io->wq = NULL; in efct_hw_init_free_io() 353 efct_hw_io_restore_sgl(struct efct_hw *hw, struct efct_hw_io *io) in efct_hw_io_restore_sgl() argument [all …]
|
H A D | efct_unsol.c | 98 efct_fc_tmf_rejected_cb(struct efct_io *io, in efct_fc_tmf_rejected_cb() argument 102 efct_scsi_io_free(io); in efct_fc_tmf_rejected_cb() 107 efct_dispatch_unsol_tmf(struct efct_io *io, u8 tm_flags, u32 lun) in efct_dispatch_unsol_tmf() argument 120 io->exp_xfer_len = 0; in efct_dispatch_unsol_tmf() 124 io->tmf_cmd = tmflist[i].cmd; in efct_dispatch_unsol_tmf() 125 efct_scsi_recv_tmf(io, lun, tmflist[i].cmd, NULL, 0); in efct_dispatch_unsol_tmf() 131 efc_log_err(io->node->efct, "TMF x%x rejected\n", tm_flags); in efct_dispatch_unsol_tmf() 132 efct_scsi_send_tmf_resp(io, EFCT_SCSI_TMF_FUNCTION_REJECTED, in efct_dispatch_unsol_tmf() 159 efct_populate_io_fcp_cmd(struct efct_io *io, struct fcp_cmnd *cmnd, in efct_populate_io_fcp_cmd() argument 162 io->init_task_tag = be16_to_cpu(fchdr->fh_ox_id); in efct_populate_io_fcp_cmd() [all …]
|
/linux/drivers/char/ipmi/ |
H A D | ipmi_si_mem_io.c | 3 #include <linux/io.h> 6 static unsigned char intf_mem_inb(const struct si_sm_io *io, in intf_mem_inb() argument 9 return readb((io->addr)+(offset * io->regspacing)); in intf_mem_inb() 12 static void intf_mem_outb(const struct si_sm_io *io, unsigned int offset, in intf_mem_outb() argument 15 writeb(b, (io->addr)+(offset * io->regspacing)); in intf_mem_outb() 18 static unsigned char intf_mem_inw(const struct si_sm_io *io, in intf_mem_inw() argument 21 return (readw((io->addr)+(offset * io->regspacing)) >> io->regshift) in intf_mem_inw() 25 static void intf_mem_outw(const struct si_sm_io *io, unsigned int offset, in intf_mem_outw() argument 28 writeb(b << io->regshift, (io->addr)+(offset * io->regspacing)); in intf_mem_outw() 31 static unsigned char intf_mem_inl(const struct si_sm_io *io, in intf_mem_inl() argument [all …]
|
H A D | ipmi_si_platform.c | 61 struct si_sm_io *io = context; in ipmi_acpi_gpe() local 63 ipmi_si_irq_handler(io->irq, io->irq_handler_data); in ipmi_acpi_gpe() 67 static void acpi_gpe_irq_cleanup(struct si_sm_io *io) in acpi_gpe_irq_cleanup() argument 69 if (!io->irq) in acpi_gpe_irq_cleanup() 72 ipmi_irq_start_cleanup(io); in acpi_gpe_irq_cleanup() 73 acpi_remove_gpe_handler(NULL, io->irq, &ipmi_acpi_gpe); in acpi_gpe_irq_cleanup() 76 static int acpi_gpe_irq_setup(struct si_sm_io *io) in acpi_gpe_irq_setup() argument 80 if (!io->irq) in acpi_gpe_irq_setup() 84 io->irq, in acpi_gpe_irq_setup() 87 io); in acpi_gpe_irq_setup() [all …]
|
H A D | ipmi_si_port_io.c | 3 #include <linux/io.h> 6 static unsigned char port_inb(const struct si_sm_io *io, unsigned int offset) in port_inb() argument 8 unsigned int addr = io->addr_data; in port_inb() 10 return inb(addr + (offset * io->regspacing)); in port_inb() 13 static void port_outb(const struct si_sm_io *io, unsigned int offset, in port_outb() argument 16 unsigned int addr = io->addr_data; in port_outb() 18 outb(b, addr + (offset * io->regspacing)); in port_outb() 21 static unsigned char port_inw(const struct si_sm_io *io, unsigned int offset) in port_inw() argument 23 unsigned int addr = io->addr_data; in port_inw() 25 return (inw(addr + (offset * io->regspacing)) >> io->regshift) & 0xff; in port_inw() [all …]
|
/linux/tools/testing/selftests/kvm/ |
H A D | coalesced_io_test.c | 37 static void guest_code(struct kvm_coalesced_io *io) in guest_code() argument 47 for (i = 0; i < io->ring_size - 1; i++) { in guest_code() 50 outl(io->pio_port, io->pio_port + i); in guest_code() 53 WRITE_ONCE(*io->mmio, io->mmio_gpa + i); in guest_code() 57 outl(io->pio_port, io->pio_port + i); in guest_code() 60 WRITE_ONCE(*io->mmio, io->mmio_gpa + i); in guest_code() 64 WRITE_ONCE(*io->mmio, io->mmio_gpa + i); in guest_code() 66 outl(io->pio_port, io->pio_port + i); in guest_code() 72 struct kvm_coalesced_io *io, in vcpu_run_and_verify_io_exit() argument 77 struct kvm_coalesced_mmio_ring *ring = io->ring; in vcpu_run_and_verify_io_exit() [all …]
|
/linux/drivers/scsi/elx/libefc/ |
H A D | efc_els.c | 50 efc_log_err(efc, "els io alloc disabled\n"); in efc_els_io_alloc_size() 64 /* populate generic io fields */ in efc_els_io_alloc_size() 68 els->io.req.size = reqlen; in efc_els_io_alloc_size() 69 els->io.req.virt = dma_alloc_coherent(&efc->pci->dev, els->io.req.size, in efc_els_io_alloc_size() 70 &els->io.req.phys, GFP_KERNEL); in efc_els_io_alloc_size() 71 if (!els->io.req.virt) { in efc_els_io_alloc_size() 76 els->io.rsp.size = rsplen; in efc_els_io_alloc_size() 77 els->io.rsp.virt = dma_alloc_coherent(&efc->pci->dev, els->io.rsp.size, in efc_els_io_alloc_size() 78 &els->io.rsp.phys, GFP_KERNEL); in efc_els_io_alloc_size() 79 if (!els->io.rsp.virt) { in efc_els_io_alloc_size() [all …]
|
/linux/drivers/media/dvb-frontends/cxd2880/ |
H A D | cxd2880_tnrdmd_dvbt2.c | 165 ret = cxd2880_io_write_multi_regs(tnr_dmd->io, in x_tune_dvbt2_demod_setting() 172 ret = cxd2880_io_write_multi_regs(tnr_dmd->io, in x_tune_dvbt2_demod_setting() 180 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in x_tune_dvbt2_demod_setting() 186 ret = tnr_dmd->io->write_regs(tnr_dmd->io, in x_tune_dvbt2_demod_setting() 193 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in x_tune_dvbt2_demod_setting() 199 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in x_tune_dvbt2_demod_setting() 205 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in x_tune_dvbt2_demod_setting() 211 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in x_tune_dvbt2_demod_setting() 217 ret = tnr_dmd->io->write_regs(tnr_dmd->io, in x_tune_dvbt2_demod_setting() 223 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in x_tune_dvbt2_demod_setting() [all …]
|
H A D | cxd2880_tnrdmd.c | 212 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in p_init1() 233 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in p_init1() 240 ret = cxd2880_io_write_multi_regs(tnr_dmd->io, in p_init1() 258 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in p_init1() 269 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in p_init1() 274 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in p_init1() 280 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in p_init1() 285 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in p_init1() 291 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in p_init1() 308 return tnr_dmd->io->write_reg(tnr_dmd->io, in p_init1() [all …]
|
H A D | cxd2880_tnrdmd_dvbt.c | 105 ret = cxd2880_io_write_multi_regs(tnr_dmd->io, in x_tune_dvbt_demod_setting() 112 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in x_tune_dvbt_demod_setting() 132 ret = tnr_dmd->io->write_regs(tnr_dmd->io, in x_tune_dvbt_demod_setting() 138 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in x_tune_dvbt_demod_setting() 147 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in x_tune_dvbt_demod_setting() 153 ret = tnr_dmd->io->write_regs(tnr_dmd->io, in x_tune_dvbt_demod_setting() 160 ret = cxd2880_io_write_multi_regs(tnr_dmd->io, in x_tune_dvbt_demod_setting() 167 ret = tnr_dmd->io->write_regs(tnr_dmd->io, in x_tune_dvbt_demod_setting() 175 ret = cxd2880_io_write_multi_regs(tnr_dmd->io, in x_tune_dvbt_demod_setting() 184 ret = cxd2880_io_write_multi_regs(tnr_dmd->io, in x_tune_dvbt_demod_setting() [all …]
|
H A D | cxd2880_tnrdmd_mon.c | 29 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in cxd2880_tnrdmd_mon_rf_lvl() 35 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in cxd2880_tnrdmd_mon_rf_lvl() 41 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in cxd2880_tnrdmd_mon_rf_lvl() 47 ret = tnr_dmd->io->write_regs(tnr_dmd->io, in cxd2880_tnrdmd_mon_rf_lvl() 55 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in cxd2880_tnrdmd_mon_rf_lvl() 61 ret = tnr_dmd->io->read_regs(tnr_dmd->io, in cxd2880_tnrdmd_mon_rf_lvl() 70 ret = tnr_dmd->io->read_regs(tnr_dmd->io, in cxd2880_tnrdmd_mon_rf_lvl() 82 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in cxd2880_tnrdmd_mon_rf_lvl() 88 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in cxd2880_tnrdmd_mon_rf_lvl() 121 ret = tnr_dmd->io->write_reg(tnr_dmd->io, in cxd2880_tnrdmd_mon_internal_cpu_status() [all …]
|
/linux/tools/perf/tests/ |
H A D | api-io.c | 13 #include <api/io.h> 59 size_t buf_size, struct io *io) in setup_test() argument 64 io->fd = open(path, O_RDONLY); in setup_test() 65 if (io->fd < 0) { in setup_test() 70 io->buf = malloc(buf_size); in setup_test() 71 if (io->buf == NULL) { in setup_test() 73 close(io->fd); in setup_test() 77 io__init(io, io->fd, io->buf, buf_size); in setup_test() 81 static void cleanup_test(char path[PATH_MAX], struct io *io) in cleanup_test() argument 83 zfree(&io->buf); in cleanup_test() [all …]
|
/linux/sound/soc/renesas/rcar/ |
H A D | rsnd.h | 14 #include <linux/io.h> 256 u32 rsnd_get_adinr_bit(struct rsnd_mod *mod, struct rsnd_dai_stream *io); 257 u32 rsnd_get_dalign(struct rsnd_mod *mod, struct rsnd_dai_stream *io); 258 u32 rsnd_get_busif_shift(struct rsnd_dai_stream *io, struct rsnd_mod *mod); 263 int rsnd_dma_attach(struct rsnd_dai_stream *io, 291 struct dma_chan* (*dma_req)(struct rsnd_dai_stream *io, 294 struct rsnd_dai_stream *io, 297 struct rsnd_dai_stream *io, 300 struct rsnd_dai_stream *io, 303 struct rsnd_dai_stream *io, [all …]
|
H A D | ssi.c | 115 #define rsnd_ssi_is_parent(ssi, io) ((ssi) == rsnd_io_to_mod_ssip(io)) argument 116 #define rsnd_ssi_is_multi_secondary(mod, io) \ argument 117 (rsnd_ssi_multi_secondaries(io) & (1 << rsnd_mod_id(mod))) 118 #define rsnd_ssi_is_run_mods(mod, io) \ argument 119 (rsnd_ssi_run_mods(io) & (1 << rsnd_mod_id(mod))) 122 int rsnd_ssi_use_busif(struct rsnd_dai_stream *io) in rsnd_ssi_use_busif() argument 124 struct rsnd_mod *mod = rsnd_io_to_mod_ssi(io); in rsnd_ssi_use_busif() 133 if (rsnd_io_to_mod_src(io)) in rsnd_ssi_use_busif() 168 static u32 rsnd_ssi_multi_secondaries(struct rsnd_dai_stream *io) in rsnd_ssi_multi_secondaries() argument 179 struct rsnd_mod *mod = rsnd_io_to_mod(io, types[i]); in rsnd_ssi_multi_secondaries() [all …]
|
H A D | core.c | 127 struct dma_chan *rsnd_mod_dma_req(struct rsnd_dai_stream *io, in rsnd_mod_dma_req() argument 133 return mod->ops->dma_req(io, mod); in rsnd_mod_dma_req() 168 struct rsnd_dai_stream *io, in rsnd_mod_get_status() argument 224 struct rsnd_dai_stream *io)) in rsnd_mod_interrupt() argument 231 struct rsnd_dai_stream *io = &rdai->playback; in rsnd_mod_interrupt() local 233 if (mod == io->mod[mod->type]) in rsnd_mod_interrupt() 234 callback(mod, io); in rsnd_mod_interrupt() 236 io = &rdai->capture; in rsnd_mod_interrupt() 237 if (mod == io->mod[mod->type]) in rsnd_mod_interrupt() 238 callback(mod, io); in rsnd_mod_interrupt() [all …]
|
/linux/Documentation/block/ |
H A D | ublk.rst | 28 ublk block device (``/dev/ublkb*``) is added by ublk driver. Any IO request 37 After the IO is handled by userspace, the result is committed back to the 38 driver, thus completing the request cycle. This way, any specific IO handling 39 logic is totally done by userspace, such as loop's IO handling, NBD's IO 40 communication, or qcow2's IO mapping. 44 IO too, which is 1:1 mapped with IO of ``/dev/ublkb*``. 46 Both the IO request forward and IO handling result committing are done via 49 give better IOPS than block IO; which is why ublk is one of high performance 50 implementation of userspace block device: not only IO request communication is 51 done by io_uring, but also the preferred IO handling in ublk server is io_uring [all …]
|
/linux/Documentation/ABI/stable/ |
H A D | sysfs-driver-mlxreg-io | 1 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/asic_health 10 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld1_version 11 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld2_version 20 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/fan_dir 30 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld3_version 39 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/jtag_enable 48 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/select_iio 59 What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu1_on 60 /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu2_on 61 /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/pwr_cycle [all …]
|
/linux/fs/erofs/ |
H A D | fscache.c | 45 static bool erofs_fscache_io_put(struct erofs_fscache_io *io) in erofs_fscache_io_put() argument 47 if (!refcount_dec_and_test(&io->ref)) in erofs_fscache_io_put() 49 if (io->cres.ops) in erofs_fscache_io_put() 50 io->cres.ops->end_operation(&io->cres); in erofs_fscache_io_put() 51 kfree(io); in erofs_fscache_io_put() 97 static void erofs_fscache_req_io_put(struct erofs_fscache_io *io) in erofs_fscache_req_io_put() argument 99 struct erofs_fscache_rq *req = io->private; in erofs_fscache_req_io_put() 101 if (erofs_fscache_io_put(io)) in erofs_fscache_req_io_put() 108 struct erofs_fscache_io *io = priv; in erofs_fscache_req_end_io() local 109 struct erofs_fscache_rq *req = io->private; in erofs_fscache_req_end_io() [all …]
|
/linux/drivers/input/serio/ |
H A D | ambakmi.c | 21 #include <asm/io.h> 27 struct serio *io; member 42 serio_interrupt(kmi->io, readb(KMIDATA), 0); in amba_kmi_int() 50 static int amba_kmi_write(struct serio *io, unsigned char val) in amba_kmi_write() argument 52 struct amba_kmi_port *kmi = io->port_data; in amba_kmi_write() 64 static int amba_kmi_open(struct serio *io) in amba_kmi_open() argument 66 struct amba_kmi_port *kmi = io->port_data; in amba_kmi_open() 96 static void amba_kmi_close(struct serio *io) in amba_kmi_close() argument 98 struct amba_kmi_port *kmi = io->port_data; in amba_kmi_close() 110 struct serio *io; in amba_kmi_probe() local [all …]
|
H A D | arc_ps2.c | 15 #include <linux/io.h> 35 struct serio *io; member 70 serio_interrupt(port->io, data, flag); in arc_ps2_check_rx() 73 dev_err(&port->io->dev, "PS/2 hardware stuck\n"); in arc_ps2_check_rx() 87 static int arc_ps2_write(struct serio *io, unsigned char val) in arc_ps2_write() argument 90 struct arc_ps2_port *port = io->port_data; in arc_ps2_write() 104 dev_err(&io->dev, "write timeout\n"); in arc_ps2_write() 108 static int arc_ps2_open(struct serio *io) in arc_ps2_open() argument 110 struct arc_ps2_port *port = io->port_data; in arc_ps2_open() 117 static void arc_ps2_close(struct serio *io) in arc_ps2_close() argument [all …]
|
/linux/tools/lib/symbol/ |
H A D | kallsyms.c | 3 #include "api/io.h" 20 static void read_to_eol(struct io *io) in read_to_eol() argument 25 ch = io__get_char(io); in read_to_eol() 35 struct io io; in kallsyms__parse() local 39 io.fd = open(filename, O_RDONLY, 0); in kallsyms__parse() 41 if (io.fd < 0) in kallsyms__parse() 44 io__init(&io, io.fd, bf, sizeof(bf)); in kallsyms__parse() 47 while (!io.eof) { in kallsyms__parse() 54 if (io__get_hex(&io, &start) != ' ') { in kallsyms__parse() 55 read_to_eol(&io); in kallsyms__parse() [all …]
|
/linux/drivers/scsi/snic/ |
H A D | snic_stats.h | 10 atomic64_t max_sgl; /* Max # SGLs for any IO */ 11 atomic64_t max_time; /* Max time to process IO */ 12 atomic64_t max_qtime; /* Max time to Queue the IO */ 13 atomic64_t max_cmpl_time; /* Max time to complete the IO */ 15 atomic64_t max_io_sz; /* Max IO Size */ 16 atomic64_t compl; /* IO Completions */ 17 atomic64_t fail; /* IO Failures */ 21 atomic64_t io_not_found; /* IO Not Found */ 30 atomic64_t io_not_found;/* Abort IO Not Found */ 52 atomic64_t io_errs; /* Firmware IO Firmware Errors */ [all …]
|
/linux/drivers/media/radio/ |
H A D | radio-cadet.c | 42 #include <linux/io.h> /* outb, outb_p */ 54 static int io = -1; /* default to isapnp activation */ variable 57 module_param(io, int, 0); 58 MODULE_PARM_DESC(io, "I/O address of Cadet card (0x330,0x332,0x334,0x336,0x338,0x33a,0x33c,0x33e)"); 69 int io; member 122 outb(7, dev->io); /* Select tuner control */ in cadet_getstereo() 123 if ((inb(dev->io + 1) & 0x40) == 0) in cadet_getstereo() 137 outb(7, dev->io); /* Select tuner control */ in cadet_gettune() 138 curvol = inb(dev->io + 1); /* Save current volume/mute setting */ in cadet_gettune() 139 outb(0x00, dev->io + 1); /* Ensure WRITE-ENABLE is LOW */ in cadet_gettune() [all …]
|