/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/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/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/include/linux/ |
H A D | pm_opp.h | 22 struct device; 35 * @u_amp: Maximum current drawn by the device in microamperes 36 * @u_watt: Power used by the device in microwatts 49 typedef int (*config_regulators_t)(struct device *dev, 53 typedef int (*config_clks_t)(struct device *dev, struct opp_table *opp_table, 57 * struct dev_pm_opp_config - Device OPP configuration values 65 * @required_dev: The required OPP device. 68 * This structure contains platform specific OPP configurations for the device. 79 struct device *required_dev; 102 struct opp_table *dev_pm_opp_get_opp_table(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/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 …]
|
H A D | vfio.h | 10 #include <linux/device.h> 20 struct vfio_device *device; member 30 void vfio_device_put_registration(struct vfio_device *device); 31 bool vfio_device_try_get_registration(struct vfio_device *device); 35 vfio_allocate_device_file(struct vfio_device *device); 47 * Physical device with IOMMU backing. 52 * Virtual device without IOMMU backing. The VFIO core fakes up an 60 * Physical device without IOMMU backing. The VFIO core fakes up an 62 * userspace ABI. Users can trigger unmediated DMA by the device, 71 struct device dev; [all …]
|
/linux/Documentation/power/ |
H A D | runtime_pm.rst | 17 * The power management workqueue pm_wq in which bus types and device drivers can 24 * A number of runtime PM fields in the 'power' member of 'struct device' (which 28 * Three device runtime PM callbacks in 'struct dev_pm_ops' (defined in 34 device drivers are encouraged to use these functions. 36 The runtime PM callbacks present in 'struct dev_pm_ops', the device runtime PM 40 2. Device Runtime PM Callbacks 43 There are three device runtime PM callbacks defined in 'struct dev_pm_ops':: 47 int (*runtime_suspend)(struct device *dev); 48 int (*runtime_resume)(struct device *dev); 49 int (*runtime_idle)(struct device *dev); [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/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/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/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/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/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 …]
|
/linux/drivers/dma/ |
H A D | dmaengine.c | 26 * Each device has a channels list, which runs unlocked but is never modified 27 * once the device is registered, it's just setup by the driver. 39 #include <linux/device.h> 149 * dev_to_dma_chan - convert a device pointer to its sysfs container object 150 * @dev: device node 154 static struct dma_chan *dev_to_dma_chan(struct device *dev) in dev_to_dma_chan() 158 chan_dev = container_of(dev, typeof(*chan_dev), device); in dev_to_dma_chan() 162 static ssize_t memcpy_count_show(struct device *dev, in memcpy_count_show() 184 static ssize_t bytes_transferred_show(struct device *dev, in bytes_transferred_show() 206 static ssize_t in_use_show(struct device *dev, struct device_attribute *attr, in in_use_show() [all …]
|
/linux/include/linux/cdx/ |
H A D | cdx_bus.h | 12 #include <linux/device.h> 57 * CDX_DEVICE - macro used to describe a specific CDX device 59 * @dev: the 16 bit CDX Device ID 62 * specific device. The subvendor and subdevice fields will be set to 66 .vendor = (vend), .device = (dev), \ 70 * CDX_DEVICE_DRIVER_OVERRIDE - macro used to describe a CDX device with 73 * @dev: the 16 bit CDX Device ID 74 * @driver_override: the 32 bit CDX Device override_only 77 * driver_override device. The subvendor and subdevice fields will be set to 81 .vendor = (vend), .device = (dev), .subvendor = CDX_ANY_ID,\ [all …]
|