| /linux/drivers/gpu/drm/mediatek/ |
| H A D | mtk_disp_drv.h | 15 int mtk_aal_clk_enable(struct device *dev); 16 void mtk_aal_clk_disable(struct device *dev); 17 void mtk_aal_config(struct device *dev, unsigned int w, 20 unsigned int mtk_aal_gamma_get_lut_size(struct device *dev); 21 void mtk_aal_gamma_set(struct device *dev, struct drm_crtc_state *state); 22 void mtk_aal_start(struct device *dev); 23 void mtk_aal_stop(struct device *dev); 25 void mtk_ccorr_ctm_set(struct device *dev, struct drm_crtc_state *state); 26 int mtk_ccorr_clk_enable(struct device *dev); 27 void mtk_ccorr_clk_disable(struct device *dev); [all …]
|
| /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 29 #include <linux/device/bus.h> 30 #include <linux/device/class.h> 31 #include <linux/device/devres.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 [all …]
|
| H A D | pm_runtime.h | 3 * pm_runtime.h - Device run-time power management helper functions. 11 #include <linux/device.h> 68 extern int pm_generic_runtime_suspend(struct device *dev); 69 extern int pm_generic_runtime_resume(struct device *dev); 70 extern int pm_runtime_force_suspend(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); 76 extern int pm_runtime_get_if_in_use(struct device *dev); [all …]
|
| /linux/drivers/s390/char/ |
| H A D | tape_core.c | 3 * basic function of the tape device driver 93 tape_medium_state_show(struct device *dev, struct device_attribute *attr, char *buf) in tape_medium_state_show() 105 tape_first_minor_show(struct device *dev, struct device_attribute *attr, char *buf) in tape_first_minor_show() 117 tape_state_show(struct device *dev, struct device_attribute *attr, char *buf) in tape_state_show() 130 tape_operation_show(struct device *dev, struct device_attribute *attr, char *buf) in tape_operation_show() 157 tape_blocksize_show(struct device *dev, struct device_attribute *attr, char *buf) in tape_blocksize_show() 186 tape_state_set(struct tape_device *device, enum tape_state newstate) in tape_state_set() argument 190 if (device->tape_state == TS_NOT_OPER) { in tape_state_set() 194 DBF_EVENT(4, "ts. dev: %x\n", device->first_minor); in tape_state_set() 196 if (device->tape_state < TS_SIZE && device->tape_state >=0 ) in tape_state_set() [all …]
|
| /linux/drivers/s390/block/ |
| H A D | dasd.c | 51 MODULE_DESCRIPTION("Linux on S/390 DASD device driver," 75 * SECTION: Operations on the device structure. 83 * Allocate memory for a new device structure. 87 struct dasd_device *device; in dasd_alloc_device() local 89 device = kzalloc_obj(struct dasd_device, GFP_ATOMIC); in dasd_alloc_device() 90 if (!device) in dasd_alloc_device() 93 /* Get two pages for normal block device operations. */ in dasd_alloc_device() 94 device->ccw_mem = (void *) __get_free_pages(GFP_ATOMIC | GFP_DMA, 1); in dasd_alloc_device() 95 if (!device->ccw_mem) { in dasd_alloc_device() 96 kfree(device); in dasd_alloc_device() [all …]
|
| H A D | dasd_devmap.c | 10 * Device mapping and dasd= parameter parsing functions. All devmap 36 * between device number and device index. To find a dasd_devmap_t 37 * that corresponds to a device number of a device index each 39 * the device number and one to search by the device index. As 40 * soon as big minor numbers are available the device index list 41 * can be removed since the device number will then be identical 42 * to the device index. 49 struct dasd_device *device; member 130 * Read a device busid/devno from a string. 140 pr_err("The IPL device is not a CCW device\n"); in dasd_busid() [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. 173 * so this function must be called first for a new device. 178 int dasd_alias_make_device_known_to_lcu(struct dasd_device *device) in dasd_alias_make_device_known_to_lcu() argument 180 struct dasd_eckd_private *private = device->private; in dasd_alias_make_device_known_to_lcu() 186 device->discipline->get_uid(device, &uid); in dasd_alias_make_device_known_to_lcu() [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 * Note: This callback may be invoked with or without the device 40 * @uevent: Called when a device is added, removed, or a few other things 42 * @probe: Called when a new device or driver add to this bus, and callback 43 * the specific driver's probe to initial the matched device. [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/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/tools/testing/selftests/vfio/lib/ |
| H A D | vfio_pci_device.c | 30 static void vfio_pci_irq_set(struct vfio_pci_device *device, in vfio_pci_irq_set() argument 50 ioctl_assert(device->fd, VFIO_DEVICE_SET_IRQS, irq); in vfio_pci_irq_set() 53 void vfio_pci_irq_trigger(struct vfio_pci_device *device, u32 index, u32 vector) in vfio_pci_irq_trigger() argument 63 ioctl_assert(device->fd, VFIO_DEVICE_SET_IRQS, &irq); in vfio_pci_irq_trigger() 74 void vfio_pci_irq_enable(struct vfio_pci_device *device, u32 index, u32 vector, in vfio_pci_irq_enable() argument 82 VFIO_ASSERT_LT(device->msi_eventfds[i], 0); in vfio_pci_irq_enable() 83 device->msi_eventfds[i] = eventfd(0, 0); in vfio_pci_irq_enable() 84 VFIO_ASSERT_GE(device->msi_eventfds[i], 0); in vfio_pci_irq_enable() 87 vfio_pci_irq_set(device, index, vector, count, device->msi_eventfds + vector); in vfio_pci_irq_enable() 90 void vfio_pci_irq_disable(struct vfio_pci_device *device, u32 index) in vfio_pci_irq_disable() argument [all …]
|
| /linux/drivers/vfio/ |
| H A D | vfio_main.c | 15 #include <linux/device.h> 62 …U mode. This mode provides no device isolation, no DMA translation, no host kernel protection, ca… 67 int vfio_assign_device_set(struct vfio_device *device, void *set_id) in vfio_assign_device_set() argument 110 device->dev_set = dev_set; in vfio_assign_device_set() 111 list_add_tail(&device->dev_set_list, &dev_set->device_list); in vfio_assign_device_set() 117 static void vfio_release_device_set(struct vfio_device *device) in vfio_release_device_set() argument 119 struct vfio_device_set *dev_set = device->dev_set; in vfio_release_device_set() 125 list_del(&device->dev_set_list); in vfio_release_device_set() 153 struct device *dev) in vfio_find_device_in_devset() 167 * Device objects - create, release, get, put, search [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/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 53 mutex_lock(&device->subdevs_lock); in host1x_subdev_add() 54 list_add_tail(&subdev->list, &device->subdevs); in host1x_subdev_add() 55 mutex_unlock(&device->subdevs_lock); in host1x_subdev_add() 61 err = host1x_subdev_add(device, driver, child); in host1x_subdev_add() 84 * host1x_device_parse_dt() - scan device tree and add matching subdevices 85 * @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 …]
|
| /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/tools/testing/selftests/vfio/lib/drivers/dsa/ |
| H A D | dsa.c | 28 /* Cached device registers (and derived data) for easy access */ 47 static inline struct dsa_state *to_dsa_state(struct vfio_pci_device *device) in to_dsa_state() argument 49 return device->driver.region.vaddr; in to_dsa_state() 52 static bool dsa_int_handle_request_required(struct vfio_pci_device *device) in dsa_int_handle_request_required() argument 54 void *bar0 = device->bars[0].vaddr; in dsa_int_handle_request_required() 66 static int dsa_probe(struct vfio_pci_device *device) in dsa_probe() argument 68 if (!vfio_pci_device_match(device, PCI_VENDOR_ID_INTEL, in dsa_probe() 72 if (dsa_int_handle_request_required(device)) { in dsa_probe() 73 dev_err(device, "Device requires requesting interrupt handles\n"); in dsa_probe() 80 static void dsa_check_sw_err(struct vfio_pci_device *device) in dsa_check_sw_err() argument [all …]
|
| /linux/rust/kernel/ |
| H A D | device.rs | 5 //! C header: [`include/linux/device.h`](srctree/include/linux/device.h) 28 /// The core representation of a device in the kernel's driver model. 30 /// This structure represents the Rust abstraction for a C `struct device`. A [`Device`] can either 31 /// exist as temporary reference (see also [`Device::from_raw`]), which is only valid within a 32 /// certain scope or as [`ARef<Device>`], owning a dedicated reference count. 34 /// # Device Types 36 /// A [`Device`] can represent either a bus device or a class device. 40 /// A bus device is a [`Device`] that is associated with a physical or virtual bus. Examples of 47 /// A class device is a [`Device`] that is associated with a logical category of functionality 52 /// # Device Context [all …]
|
| /linux/tools/testing/selftests/vfio/lib/drivers/ioat/ |
| H A D | ioat.c | 26 static inline struct ioat_state *to_ioat_state(struct vfio_pci_device *device) in to_ioat_state() argument 28 return device->driver.region.vaddr; in to_ioat_state() 31 static inline void *ioat_channel_registers(struct vfio_pci_device *device) in ioat_channel_registers() argument 33 return device->bars[0].vaddr + IOAT_CHANNEL_MMIO_SIZE; in ioat_channel_registers() 36 static int ioat_probe(struct vfio_pci_device *device) in ioat_probe() argument 41 if (!vfio_pci_device_match(device, PCI_VENDOR_ID_INTEL, in ioat_probe() 45 VFIO_ASSERT_NOT_NULL(device->bars[0].vaddr); in ioat_probe() 47 version = readb(device->bars[0].vaddr + IOAT_VER_OFFSET); in ioat_probe() 54 dev_err(device, "ioat: Unsupported version: 0x%x\n", version); in ioat_probe() 65 static void ioat_clear_errors(struct vfio_pci_device *device) in ioat_clear_errors() argument [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 …]
|