/linux/drivers/block/drbd/ |
H A D | drbd_actlog.c | 57 * sectors-written since device creation, and other data generation tag 73 * allows to cover device sizes of up to 2**54 Byte (16 PiB) */ 82 void *drbd_md_get_buffer(struct drbd_device *device, const char *intent) in drbd_md_get_buffer() argument 86 wait_event(device->misc_wait, in drbd_md_get_buffer() 87 (r = atomic_cmpxchg(&device->md_io.in_use, 0, 1)) == 0 || in drbd_md_get_buffer() 88 device->state.disk <= D_FAILED); in drbd_md_get_buffer() 93 device->md_io.current_use = intent; in drbd_md_get_buffer() 94 device->md_io.start_jif = jiffies; in drbd_md_get_buffer() 95 device->md_io.submit_jif = device->md_io.start_jif - 1; in drbd_md_get_buffer() 96 return page_address(device->md_io.page); in drbd_md_get_buffer() [all …]
|
H A D | drbd_worker.c | 52 struct drbd_device *device; in drbd_md_endio() local 54 device = bio->bi_private; in drbd_md_endio() 55 device->md_io.error = blk_status_to_errno(bio->bi_status); in drbd_md_endio() 58 if (device->ldev) in drbd_md_endio() 59 put_ldev(device); in drbd_md_endio() 63 * to timeout on the lower level device, and eventually detach from it. in drbd_md_endio() 71 * ASSERT(atomic_read(&device->md_io_in_use) == 1) there. in drbd_md_endio() 73 drbd_md_put_buffer(device); in drbd_md_endio() 74 device->md_io.done = 1; in drbd_md_endio() 75 wake_up(&device->misc_wait); in drbd_md_endio() [all …]
|
/linux/include/linux/ |
H A D | device.h | 3 * device.h - generic, centralized driver model 30 #include <linux/device/bus.h> 31 #include <linux/device/class.h> 32 #include <linux/device/driver.h> 34 #include <asm/device.h> 36 struct device; 51 * struct subsys_interface - interfaces to device functions 52 * @name: name of the device function 55 * @add_dev: device hookup to device function handler 56 * @remove_dev: device hookup to device function handler [all …]
|
H A D | pm_runtime.h | 3 * pm_runtime.h - Device run-time power management helper functions. 11 #include <linux/device.h> 67 extern int pm_generic_runtime_suspend(struct device *dev); 68 extern int pm_generic_runtime_resume(struct device *dev); 69 extern int pm_runtime_force_suspend(struct device *dev); 70 extern int pm_runtime_force_resume(struct device *dev); 72 extern int __pm_runtime_idle(struct device *dev, int rpmflags); 73 extern int __pm_runtime_suspend(struct device *dev, int rpmflags); 74 extern int __pm_runtime_resume(struct device *dev, int rpmflags); 75 extern int pm_runtime_get_if_active(struct device *dev); [all …]
|
H A D | vdpa.h | 6 #include <linux/device.h> 49 * @last_avail_counter: last driver ring wrap counter observed by device 50 * @last_avail_idx: device available index 51 * @last_used_counter: device ring wrap counter 71 * struct vdpa_device - representation of a vDPA device 72 * @dev: underlying device 73 * @dma_dev: the actual device that is performing DMA 77 * @config: the configuration ops for this device. 79 * @index: device index 83 * @use_va: indicate whether virtual address must be used by this device [all …]
|
H A D | dma-mapping.h | 5 #include <linux/device.h> 34 * transferred to 'device' domain. 63 * be given to a device to use as a DMA source or target. It is specific to a 64 * given device and there may be a translation between the CPU physical address 76 void debug_dma_mapping_error(struct device *dev, dma_addr_t dma_addr); 77 void debug_dma_map_single(struct device *dev, const void *addr, 80 static inline void debug_dma_mapping_error(struct device *dev, in debug_dma_mapping_error() 84 static inline void debug_dma_map_single(struct device *dev, const void *addr, in debug_dma_map_single() 91 static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) in dma_mapping_error() 100 dma_addr_t dma_map_page_attrs(struct device *dev, struct page *page, [all …]
|
/linux/include/linux/device/ |
H A D | bus.h | 25 * struct bus_type - The bus type of the device 31 * @drv_groups: Default attributes of the device drivers on the bus. 32 * @match: Called, perhaps multiple times, whenever a new device or driver 34 * given device can be handled by the given driver and zero 36 * the driver supports the device is not possible. In case of 37 * -EPROBE_DEFER it will queue the device for deferred probing. 38 * @uevent: Called when a device is added, removed, or a few other things 40 * @probe: Called when a new device or driver add to this bus, and callback 41 * the specific driver's probe to initial the matched device. 42 * @sync_state: Called to sync device state to software state after all the [all …]
|
/linux/drivers/s390/block/ |
H A D | dasd.c | 49 MODULE_DESCRIPTION("Linux on S/390 DASD device driver," 73 * SECTION: Operations on the device structure. 81 * Allocate memory for a new device structure. 85 struct dasd_device *device; in dasd_alloc_device() local 87 device = kzalloc(sizeof(struct dasd_device), GFP_ATOMIC); in dasd_alloc_device() 88 if (!device) in dasd_alloc_device() 91 /* Get two pages for normal block device operations. */ in dasd_alloc_device() 92 device->ccw_mem = (void *) __get_free_pages(GFP_ATOMIC | GFP_DMA, 1); in dasd_alloc_device() 93 if (!device->ccw_mem) { in dasd_alloc_device() 94 kfree(device); in dasd_alloc_device() [all …]
|
H A D | dasd_alias.c | 18 * - A device is connected to an lcu as long as the device exists. 20 * device is checked by the eckd discipline and 22 * before the device is deleted. 24 * functions mark the point when a device is 'ready for service'. 28 * - dasd_alias_get_start_dev will find an alias device that can be used 29 * instead of the base device and does some (very simple) load balancing. 174 * so this function must be called first for a new device. 179 int dasd_alias_make_device_known_to_lcu(struct dasd_device *device) in dasd_alias_make_device_known_to_lcu() argument 181 struct dasd_eckd_private *private = device->private; in dasd_alias_make_device_known_to_lcu() 187 device->discipline->get_uid(device, &uid); in dasd_alias_make_device_known_to_lcu() [all …]
|
/linux/drivers/base/power/ |
H A D | power.h | 4 static inline void device_pm_init_common(struct device *dev) in device_pm_init_common() 15 static inline void pm_runtime_early_init(struct device *dev) in pm_runtime_early_init() 21 extern void pm_runtime_init(struct device *dev); 22 extern void pm_runtime_reinit(struct device *dev); 23 extern void pm_runtime_remove(struct device *dev); 24 extern u64 pm_runtime_active_time(struct device *dev); 35 struct device *dev; 43 extern void dev_pm_enable_wake_irq_check(struct device *dev, 45 extern void dev_pm_disable_wake_irq_check(struct device *dev, bool cond_disable); 46 extern void dev_pm_enable_wake_irq_complete(struct device *dev); [all …]
|
/linux/drivers/hid/ |
H A D | hid-roccat.c | 12 * Module roccat is a char device used to report special events of roccat 15 * not stored in device. The information in these events depends on hid device 45 struct device *dev; 62 struct roccat_device *device; member 77 struct roccat_device *device = reader->device; in roccat_read() local 82 mutex_lock(&device->cbuf_lock); in roccat_read() 85 if (reader->cbuf_start == device->cbuf_end) { in roccat_read() 86 add_wait_queue(&device->wait, &wait); in roccat_read() 90 while (reader->cbuf_start == device->cbuf_end) { in roccat_read() 99 if (!device->exist) { in roccat_read() [all …]
|
/linux/drivers/firewire/ |
H A D | core-device.c | 3 * Device probing and sysfs code. 11 #include <linux/device.h> 191 static const struct ieee1394_device_id *unit_match(struct device *dev, in unit_match() 207 static bool is_fw_unit(const struct device *dev); 209 static int fw_unit_match(struct device *dev, const struct device_driver *drv) in fw_unit_match() 215 static int fw_unit_probe(struct device *dev) in fw_unit_probe() 223 static void fw_unit_remove(struct device *dev) in fw_unit_remove() 242 static int fw_unit_uevent(const struct device *dev, struct kobj_uevent_env *env) in fw_unit_uevent() 263 int fw_device_enable_phys_dma(struct fw_device *device) in fw_device_enable_phys_dma() argument 265 int generation = device->generation; in fw_device_enable_phys_dma() [all …]
|
/linux/drivers/s390/char/ |
H A D | tape_char.c | 3 * character device frontend for tape device driver 63 tapechar_setup_device(struct tape_device * device) in tapechar_setup_device() argument 67 sprintf(device_name, "ntibm%i", device->first_minor / 2); in tapechar_setup_device() 68 device->nt = register_tape_dev( in tapechar_setup_device() 69 &device->cdev->dev, in tapechar_setup_device() 70 MKDEV(tapechar_major, device->first_minor), in tapechar_setup_device() 76 device->rt = register_tape_dev( in tapechar_setup_device() 77 &device->cdev->dev, in tapechar_setup_device() 78 MKDEV(tapechar_major, device->first_minor + 1), in tapechar_setup_device() 88 tapechar_cleanup_device(struct tape_device *device) in tapechar_cleanup_device() argument [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/engine/gr/ |
H A D | nv40.c | 36 return nvkm_rd32(gr->engine.subdev.device, 0x1540); in nv40_gr_units() 47 int ret = nvkm_gpuobj_new(object->engine->subdev.device, 20, align, in nv40_gr_object_bind() 79 int ret = nvkm_gpuobj_new(gr->base.engine.subdev.device, gr->size, in nv40_gr_chan_bind() 84 nv40_grctx_fill(gr->base.engine.subdev.device, *pgpuobj); in nv40_gr_chan_bind() 97 struct nvkm_device *device = subdev->device; in nv40_gr_chan_fini() local 101 nvkm_mask(device, 0x400720, 0x00000001, 0x00000000); in nv40_gr_chan_fini() 103 if (nvkm_rd32(device, 0x40032c) == inst) { in nv40_gr_chan_fini() 105 nvkm_wr32(device, 0x400720, 0x00000000); in nv40_gr_chan_fini() 106 nvkm_wr32(device, 0x400784, inst); in nv40_gr_chan_fini() 107 nvkm_mask(device, 0x400310, 0x00000020, 0x00000020); in nv40_gr_chan_fini() [all …]
|
H A D | nv20.c | 34 struct nvkm_device *device = gr->base.engine.subdev.device; in nv20_gr_chan_fini() local 38 nvkm_mask(device, 0x400720, 0x00000001, 0x00000000); in nv20_gr_chan_fini() 39 if (nvkm_rd32(device, 0x400144) & 0x00010000) in nv20_gr_chan_fini() 40 chid = (nvkm_rd32(device, 0x400148) & 0x1f000000) >> 24; in nv20_gr_chan_fini() 42 nvkm_wr32(device, 0x400784, inst >> 4); in nv20_gr_chan_fini() 43 nvkm_wr32(device, 0x400788, 0x00000002); in nv20_gr_chan_fini() 44 nvkm_msec(device, 2000, in nv20_gr_chan_fini() 45 if (!nvkm_rd32(device, 0x400700)) in nv20_gr_chan_fini() 48 nvkm_wr32(device, 0x400144, 0x10000000); in nv20_gr_chan_fini() 49 nvkm_mask(device, 0x400148, 0xff000000, 0x1f000000); in nv20_gr_chan_fini() [all …]
|
/linux/drivers/vfio/ |
H A D | vfio_main.c | 15 #include <linux/device.h> 61 …U mode. This mode provides no device isolation, no DMA translation, no host kernel protection, ca… 66 int vfio_assign_device_set(struct vfio_device *device, void *set_id) in vfio_assign_device_set() argument 109 device->dev_set = dev_set; in vfio_assign_device_set() 110 list_add_tail(&device->dev_set_list, &dev_set->device_list); in vfio_assign_device_set() 116 static void vfio_release_device_set(struct vfio_device *device) in vfio_release_device_set() argument 118 struct vfio_device_set *dev_set = device->dev_set; in vfio_release_device_set() 124 list_del(&device->dev_set_list); in vfio_release_device_set() 152 struct device *dev) in vfio_find_device_in_devset() 166 * Device objects - create, release, get, put, search [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-driver-habanalabs | 1 What: /sys/class/accel/accel<n>/device/armcp_kernel_ver 5 Description: Version of the Linux kernel running on the device's CPU. 9 What: /sys/class/accel/accel<n>/device/armcp_ver 13 Description: Version of the application running on the device's CPU 17 What: /sys/class/accel/accel<n>/device/clk_max_freq_mhz 22 The device clock might be set to lower value than the maximum. 24 frequency value of the device clock. This property is valid 27 What: /sys/class/accel/accel<n>/device/clk_cur_freq_mhz 31 Description: Displays the current frequency, in MHz, of the device clock. 34 What: /sys/class/accel/accel<n>/device/cpld_ver [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
H A D | gv100.c | 40 struct nvkm_device *device = ior->disp->engine.subdev.device; in gv100_sor_hda_device_entry() local 43 nvkm_mask(device, 0x616528 + hoff, 0x00000070, head << 4); in gv100_sor_hda_device_entry() 56 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_dp_watermark() local 59 nvkm_mask(device, 0x616550 + hoff, 0x0c00003f, 0x08000000 | watermark); in gv100_sor_dp_watermark() 65 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_dp_audio_sym() local 68 nvkm_mask(device, 0x616568 + hoff, 0x0000ffff, h); in gv100_sor_dp_audio_sym() 69 nvkm_mask(device, 0x61656c + hoff, 0x00ffffff, v); in gv100_sor_dp_audio_sym() 75 struct nvkm_device *device = sor->disp->engine.subdev.device; in gv100_sor_dp_audio() local 80 nvkm_mask(device, 0x616560 + hoff, mask, data); in gv100_sor_dp_audio() 81 nvkm_msec(device, 2000, in gv100_sor_dp_audio() [all …]
|
H A D | gf119.c | 39 struct nvkm_device *device = ior->disp->engine.subdev.device; in gf119_sor_hda_device_entry() local 42 nvkm_mask(device, 0x616548 + hoff, 0x00000070, head << 4); in gf119_sor_hda_device_entry() 48 struct nvkm_device *device = ior->disp->engine.subdev.device; in gf119_sor_hda_eld() local 53 nvkm_wr32(device, 0x10ec00 + soff, (i << 8) | data[i]); in gf119_sor_hda_eld() 55 nvkm_wr32(device, 0x10ec00 + soff, (i << 8)); in gf119_sor_hda_eld() 56 nvkm_mask(device, 0x10ec10 + soff, 0x80000002, 0x80000002); in gf119_sor_hda_eld() 62 struct nvkm_device *device = ior->disp->engine.subdev.device; in gf119_sor_hda_hpd() local 74 nvkm_mask(device, 0x10ec10 + soff, mask, data); in gf119_sor_hda_hpd() 87 struct nvkm_device *device = sor->disp->engine.subdev.device; in gf119_sor_dp_watermark() local 90 nvkm_mask(device, 0x616610 + hoff, 0x0800003f, 0x08000000 | watermark); in gf119_sor_dp_watermark() [all …]
|
H A D | vga.c | 27 nvkm_rdport(struct nvkm_device *device, int head, u16 port) in nvkm_rdport() argument 29 if (device->card_type >= NV_50) in nvkm_rdport() 30 return nvkm_rd08(device, 0x601000 + port); in nvkm_rdport() 35 return nvkm_rd08(device, 0x601000 + (head * 0x2000) + port); in nvkm_rdport() 40 if (device->card_type < NV_40) in nvkm_rdport() 42 return nvkm_rd08(device, 0x0c0000 + (head * 0x2000) + port); in nvkm_rdport() 49 nvkm_wrport(struct nvkm_device *device, int head, u16 port, u8 data) in nvkm_wrport() argument 51 if (device->card_type >= NV_50) in nvkm_wrport() 52 nvkm_wr08(device, 0x601000 + port, data); in nvkm_wrport() 57 nvkm_wr08(device, 0x601000 + (head * 0x2000) + port, data); in nvkm_wrport() [all …]
|
/linux/drivers/gpu/host1x/ |
H A D | bus.c | 34 * host1x_subdev_add() - add a new subdevice with an associated device node 35 * @device: host1x device to add the subdevice to 37 * @np: device node 39 static int host1x_subdev_add(struct host1x_device *device, in host1x_subdev_add() argument 54 mutex_lock(&device->subdevs_lock); in host1x_subdev_add() 55 list_add_tail(&subdev->list, &device->subdevs); in host1x_subdev_add() 56 mutex_unlock(&device->subdevs_lock); in host1x_subdev_add() 62 err = host1x_subdev_add(device, driver, child); in host1x_subdev_add() 86 * host1x_device_parse_dt() - scan device tree and add matching subdevices 87 * @device: host1x logical device [all …]
|
/linux/drivers/acpi/ |
H A D | device_pm.c | 3 * drivers/acpi/device_pm.c - ACPI device power management routines. 27 * acpi_power_state_string - String representation of ACPI device power state. 28 * @state: ACPI device power state to return the string representation of. 48 static int acpi_dev_pm_explicit_get(struct acpi_device *device, int *state) in acpi_dev_pm_explicit_get() argument 53 status = acpi_evaluate_integer(device->handle, "_PSC", NULL, &psc); in acpi_dev_pm_explicit_get() 62 * acpi_device_get_power - Get power state of an ACPI device. 63 * @device: Device to get the power state of. 64 * @state: Place to store the power state of the device. 66 * This function does not update the device's power.state field, but it may 68 * unknown and the device's power state turns out to be D0). [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/engine/fifo/ |
H A D | nv04.c | 44 struct nvkm_device *device = fifo->engine.subdev.device; in nv04_chan_stop() local 45 struct nvkm_memory *fctx = device->imem->ramfc; in nv04_chan_stop() 53 nvkm_wr32(device, NV03_PFIFO_CACHES, 0); in nv04_chan_stop() 56 chid = nvkm_rd32(device, NV03_PFIFO_CACHE1_PUSH1) & fifo->chid->mask; in nv04_chan_stop() 58 nvkm_mask(device, NV04_PFIFO_CACHE1_DMA_PUSH, 0x00000001, 0); in nv04_chan_stop() 59 nvkm_wr32(device, NV03_PFIFO_CACHE1_PUSH0, 0); in nv04_chan_stop() 60 nvkm_mask(device, NV04_PFIFO_CACHE1_PULL0, 0x00000001, 0); in nv04_chan_stop() 67 u32 rv = (nvkm_rd32(device, c->regp) & rm) >> c->regs; in nv04_chan_stop() 75 nvkm_wr32(device, c->regp, 0x00000000); in nv04_chan_stop() 78 nvkm_wr32(device, NV03_PFIFO_CACHE1_GET, 0); in nv04_chan_stop() [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/ |
H A D | gt215.c | 34 struct nvkm_device *device = subdev->device; in gt215_pmu_send() local 39 addr = nvkm_rd32(device, 0x10a4a0); in gt215_pmu_send() 40 if (nvkm_msec(device, 2000, in gt215_pmu_send() 41 u32 tmp = nvkm_rd32(device, 0x10a4b0); in gt215_pmu_send() 60 nvkm_wr32(device, 0x10a580, 0x00000001); in gt215_pmu_send() 61 } while (nvkm_rd32(device, 0x10a580) != 0x00000001); in gt215_pmu_send() 64 nvkm_wr32(device, 0x10a1c0, 0x01000000 | (((addr & 0x07) << 4) + in gt215_pmu_send() 66 nvkm_wr32(device, 0x10a1c4, process); in gt215_pmu_send() 67 nvkm_wr32(device, 0x10a1c4, message); in gt215_pmu_send() 68 nvkm_wr32(device, 0x10a1c4, data0); in gt215_pmu_send() [all …]
|
/linux/drivers/hid/intel-ish-hid/ishtp/ |
H A D | bus.c | 11 #include <linux/device.h> 29 * @dev: ishtp device 73 * @dev: ishtp device 104 * @dev: ishtp device 121 * @dev: ishtp device 142 * @dev: the ishtp device structure 181 * @dev: the ishtp device structure 207 * @dev: the device structure 213 static int ishtp_cl_device_probe(struct device *dev) in ishtp_cl_device_probe() 215 struct ishtp_cl_device *device = to_ishtp_cl_device(dev); in ishtp_cl_device_probe() local [all …]
|