| /linux/drivers/platform/x86/ |
| H A D | toshiba_haps.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 37 return -EIO; in toshiba_haps_reset_protection() 43 static int toshiba_haps_protection_level(acpi_handle handle, int level) in toshiba_haps_protection_level() argument 47 status = acpi_execute_simple_method(handle, "PTLV", level); in toshiba_haps_protection_level() 49 pr_err("Error while setting the protection level\n"); in toshiba_haps_protection_level() 50 return -EIO; in toshiba_haps_protection_level() 53 pr_debug("HDD protection level set to: %d\n", level); in toshiba_haps_protection_level() 59 static ssize_t protection_level_show(struct device *dev, in protection_level_show() 64 return sprintf(buf, "%i\n", haps->protection_level); in protection_level_show() 67 static ssize_t protection_level_store(struct device *dev, in protection_level_store() [all …]
|
| /linux/include/linux/comedi/ |
| H A D | comedidev.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 4 * header file for kernel-only structures, variables, and constants 6 * COMEDI - Linux Control and Measurement Device Interface 7 * Copyright (C) 1997-2000 David A. Schleef <ds@schleef.org> 13 #include <linux/dma-mapping.h> 29 * struct comedi_subdevice - Working data for a COMEDI subdevice 30 * @device: COMEDI device to which this subdevice belongs. (Initialized by 32 * @index: Index of this subdevice within device's array of subdevices. 35 * the low-level driver.) 37 * low-level driver.) [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/ |
| H A D | gk20a.c | 53 struct nvkm_clk *clk = pmu->base.subdev.device->clk; in gk20a_pmu_dvfs_target() 61 struct nvkm_clk *clk = pmu->base.subdev.device->clk; in gk20a_pmu_dvfs_get_cur_state() 63 *state = clk->pstate; in gk20a_pmu_dvfs_get_cur_state() 70 struct gk20a_pmu_dvfs_data *data = pmu->data; in gk20a_pmu_dvfs_get_target_state() 71 struct nvkm_clk *clk = pmu->base.subdev.device->clk; in gk20a_pmu_dvfs_get_target_state() 72 int cur_level, level; in gk20a_pmu_dvfs_get_target_state() local 74 /* For GK20A, the performance level is directly mapped to pstate */ in gk20a_pmu_dvfs_get_target_state() 75 level = cur_level = clk->pstate; in gk20a_pmu_dvfs_get_target_state() 77 if (load > data->p_load_max) { in gk20a_pmu_dvfs_get_target_state() 78 level = min(clk->state_nr - 1, level + (clk->state_nr / 3)); in gk20a_pmu_dvfs_get_target_state() [all …]
|
| /linux/Documentation/infiniband/ |
| H A D | core_locking.rst | 7 both low-level drivers that sit below the midlayer and upper level 13 With the following exceptions, a low-level driver implementation of 17 - create_ah 18 - modify_ah 19 - query_ah 20 - destroy_ah 21 - post_send 22 - post_recv 23 - poll_cq 24 - req_notify_cq [all …]
|
| /linux/rust/kernel/ |
| H A D | device.rs | 1 // SPDX-License-Identifier: GPL-2.0 5 //! C header: [`include/linux/device.h`](srctree/include/linux/device.h) 24 /// The core representation of a device in the kernel's driver model. 26 /// This structure represents the Rust abstraction for a C `struct device`. A [`Device`] can either 27 /// exist as temporary reference (see also [`Device::from_raw`]), which is only valid within a 28 /// certain scope or as [`ARef<Device>`], owning a dedicated reference count. 30 /// # Device Types 32 /// A [`Device`] can represent either a bus device or a class device. 36 /// A bus device is a [`Device`] that is associated with a physical or virtual bus. Examples of 39 /// identifying information. Bus devices are visible in sysfs under `/sys/bus/<bus-name>/devices/`. [all …]
|
| /linux/Documentation/firmware-guide/acpi/ |
| H A D | video_extension.rst | 1 .. SPDX-License-Identifier: GPL-2.0 10 defining the video POST device, retrieving EDID information or to 12 only. It may or may not work for your integrated video device. 16 Export a sysfs interface for user space to control backlight level 19 If the ACPI table has a video device, and acpi_backlight=vendor kernel 20 command line is not present, the driver will register a backlight device 22 interface control. For every registered class device, there will be a 26 Documentation/ABI/stable/sysfs-class-backlight. 32 get the brightness level the firmware thinks it is at; 36 on write, control method _BCM will run to set the requested brightness level; [all …]
|
| /linux/drivers/block/drbd/ |
| H A D | drbd_polymorph_printk.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 15 #define __drbd_printk_drbd_device_prep(device) \ argument 16 const struct drbd_device *__d = (device); \ 17 const struct drbd_resource *__r = __d->resource 19 #define __drbd_printk_drbd_device_args() __r->name, __d->vnr, __d->minor 25 __d = (peer_device)->device; \ 26 __r = __d->resource 30 __r->name, __d->vnr, __d->minor 36 #define __drbd_printk_drbd_resource_args() __r->name 41 const struct drbd_resource *__r = __c->resource [all …]
|
| /linux/sound/soc/sof/intel/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 7 Say Y if you have such a device. 15 This option is not user-selectable but automagically handled by 16 'select' statements at a higher level. 23 This option is not user-selectable but automagically handled by 24 'select' statements at a higher level. 35 This option is not user-selectabl [all...] |
| /linux/drivers/sh/intc/ |
| H A D | userimask.c | 2 * Support for hardware-assisted userspace interrupt masking. 13 #include <linux/device.h> 23 show_intc_userimask(struct device *dev, in show_intc_userimask() 30 store_intc_userimask(struct device *dev, in store_intc_userimask() 34 unsigned long level; in store_intc_userimask() local 37 ret = kstrtoul(buf, 10, &level); in store_intc_userimask() 42 * Minimal acceptable IRQ levels are in the 2 - 16 range, but in store_intc_userimask() 45 * Level 1 is a special case on some CPUs in that it's not in store_intc_userimask() 47 * certain level, we don't care about this limitation here. in store_intc_userimask() 48 * Level 0 on the other hand equates to user masking disabled. in store_intc_userimask() [all …]
|
| /linux/Documentation/driver-api/media/drivers/ |
| H A D | pvrusb2.rst | 1 .. SPDX-License-Identifier: GPL-2.0 9 ---------- 13 Its history started with the reverse-engineering effort by Björn 29 1. Low level wire-protocol implementation with the device. 34 3. High level hardware driver implementation which coordinates all 35 activities that ensure correct operation of the device. 38 tear-down, arbitration, and interaction with high level 42 5. High level interfaces which glue the driver to various published 54 right now the V4L high level interface is the most complete, the 55 sysfs high level interface will work equally well for similar [all …]
|
| /linux/drivers/iommu/intel/ |
| H A D | pasid.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * pasid.h - PASID idr, table and entry header 22 #define is_pasid_enabled(entry) (((entry)->lo >> 3) & 0x1) 23 #define get_pasid_dir_size(entry) (1 << ((((entry)->lo >> 9) & 0x7) + 7)) 30 * The PASID_FLAG_FL5LP flag Indicates using 5-level paging for first- 31 * level translation, otherwise, 4-level paging will be used. 57 return READ_ONCE(pde->val) & PASID_PTE_PRESENT; in pasid_pde_is_present() 67 return phys_to_virt(READ_ONCE(pde->val) & PDE_PFN_MASK); in get_pasid_table_from_pde() 73 return READ_ONCE(pte->val[0]) & PASID_PTE_PRESENT; in pasid_pte_is_present() 79 return READ_ONCE(pte->val[0]) & PASID_PTE_FPD; in pasid_pte_is_fault_disabled() [all …]
|
| /linux/drivers/gpu/drm/amd/pm/powerplay/smumgr/ |
| H A D | polaris10_smumgr.c | 82 …/* Voltage, DpmLevel, DivId, Level, FuncCntl3, FuncCntl4, DynRm, DynRm1 Did, Padding,ForActivi… 99 struct smu7_smumgr *smu_data = (struct smu7_smumgr *)(hwmgr->smu_backend); in polaris10_perform_btc() 101 if (0 != smu_data->avfs_btc_param) { in polaris10_perform_btc() 102 …if (0 != smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_PerformBtc, smu_data->avfs_btc_param, in polaris10_perform_btc() 105 result = -1; in polaris10_perform_btc() 108 if (smu_data->avfs_btc_param > 1) { in polaris10_perform_btc() 109 /* Soft-Reset to reset the engine before loading uCode */ in polaris10_perform_btc() 111 cgs_write_register(hwmgr->device, mmCP_MEC_CNTL, 0x50000000); in polaris10_perform_btc() 113 cgs_write_register(hwmgr->device, mmGRBM_SOFT_RESET, 0xffffffff); in polaris10_perform_btc() 114 cgs_write_register(hwmgr->device, mmGRBM_SOFT_RESET, 0); in polaris10_perform_btc() [all …]
|
| H A D | ci_smumgr.c | 100 return -EINVAL; in ci_set_smc_sram_address() 103 cgs_write_register(hwmgr->device, mmSMC_IND_INDEX_0, smc_addr); in ci_set_smc_sram_address() 104 PHM_WRITE_FIELD(hwmgr->device, SMC_IND_ACCESS_CNTL, AUTO_INCREMENT_IND_0, 0); in ci_set_smc_sram_address() 120 return -EINVAL; in ci_copy_bytes_to_smc() 134 cgs_write_register(hwmgr->device, mmSMC_IND_DATA_0, data); in ci_copy_bytes_to_smc() 137 byte_count -= 4; in ci_copy_bytes_to_smc() 151 original_data = cgs_read_register(hwmgr->device, mmSMC_IND_DATA_0); in ci_copy_bytes_to_smc() 153 extra_shift = 8 * (4 - byte_count); in ci_copy_bytes_to_smc() 158 byte_count--; in ci_copy_bytes_to_smc() 170 cgs_write_register(hwmgr->device, mmSMC_IND_DATA_0, data); in ci_copy_bytes_to_smc() [all …]
|
| H A D | fiji_smumgr.c | 88 …/* Voltage, Frequency, DpmLevel, DivId, Level, FuncCntl3, FuncCntl4, Spectrum, Spectrum… 107 PHM_WRITE_VFPF_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in fiji_start_smu_in_protection_mode() 115 cgs_write_ind_register(hwmgr->device, CGS_IND_REG__SMC, in fiji_start_smu_in_protection_mode() 118 PHM_WRITE_VFPF_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in fiji_start_smu_in_protection_mode() 121 /* De-assert reset */ in fiji_start_smu_in_protection_mode() 122 PHM_WRITE_VFPF_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in fiji_start_smu_in_protection_mode() 130 PHM_WRITE_VFPF_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in fiji_start_smu_in_protection_mode() 134 cgs_write_ind_register(hwmgr->device, CGS_IND_REG__SMC, in fiji_start_smu_in_protection_mode() 147 if (PHM_READ_VFPF_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in fiji_start_smu_in_protection_mode() 150 "SMU Firmware start failed!", return -1); in fiji_start_smu_in_protection_mode() [all …]
|
| H A D | vegam_smumgr.c | 88 return -ENOMEM; in vegam_smu_init() 90 hwmgr->smu_backend = smu_data; in vegam_smu_init() 94 return -EINVAL; in vegam_smu_init() 108 PHM_WRITE_VFPF_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in vegam_start_smu_in_protection_mode() 116 cgs_write_ind_register(hwmgr->device, CGS_IND_REG__SMC, ixSMU_STATUS, 0); in vegam_start_smu_in_protection_mode() 118 PHM_WRITE_VFPF_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in vegam_start_smu_in_protection_mode() 121 /* De-assert reset */ in vegam_start_smu_in_protection_mode() 122 PHM_WRITE_VFPF_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in vegam_start_smu_in_protection_mode() 137 if (1 != PHM_READ_VFPF_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in vegam_start_smu_in_protection_mode() 139 PP_ASSERT_WITH_CODE(false, "SMU Firmware start failed!", return -1); in vegam_start_smu_in_protection_mode() [all …]
|
| H A D | iceland_smumgr.c | 83 /* 35W - XT, XTL */ 96 /* 25W - PRO, LE */ 111 PHM_WRITE_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in iceland_start_smc() 119 PHM_WRITE_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in iceland_reset_smc() 127 PHM_WRITE_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in iceland_stop_smc_clock() 134 PHM_WRITE_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, in iceland_start_smc_clock() 147 /* de-assert reset */ in iceland_smu_start_smc() 164 …PP_ASSERT_WITH_CODE((limit >= byte_count), "SMC address is beyond the SMC RAM area.", return -EINV… in iceland_upload_smc_firmware_data() 166 cgs_write_register(hwmgr->device, mmSMC_IND_INDEX_0, start_addr); in iceland_upload_smc_firmware_data() 167 PHM_WRITE_FIELD(hwmgr->device, SMC_IND_ACCESS_CNTL, AUTO_INCREMENT_IND_0, 1); in iceland_upload_smc_firmware_data() [all …]
|
| /linux/scripts/gdb/linux/ |
| H A D | device.py | 1 # SPDX-License-Identifier: GPL-2.0 13 device_type = CachedType('struct device') 60 raise gdb.GdbError("Can't find device class {!r}".format(name)) 75 yield dp['device'] 81 yield dp['device'] 87 yield dp['device'] 90 def _show_device(dev, level=0, recursive=False): argument 91 gdb.write('{}dev {}:\t{}\n'.format('\t' * level, dev_name(dev), dev)) 94 _show_device(child, level + 1, recursive) 101 super(LxDeviceListBus, self).__init__('lx-device-list-bus', gdb.COMMAND_DATA) [all …]
|
| /linux/Documentation/cdrom/ |
| H A D | cdrom-standard.rst | 2 A Linux CD-ROM standard 14 Linux is probably the Unix-like operating system that supports 18 - The large list of hardware devices available for the many platforms 19 that Linux now supports (i.e., i386-PCs, Sparc Suns, etc.) 20 - The open design of the operating system, such that anybody can write a 22 - There is plenty of source code around as examples of how to write a driver. 28 device driver to differ significantly from one device to another. 29 This divergence of behavior has been very significant for CD-ROM 31 call varies greatly from one device driver to another. To avoid making 32 their drivers totally inconsistent, the writers of Linux CD-ROM [all …]
|
| /linux/tools/testing/selftests/devices/probe/boards/ |
| H A D | google,spherion.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 # This is the device definition for the Google Spherion Chromebook. 7 # The top-level is a list of controllers, either for USB or PCI(e). 8 # Every controller needs to have a 'type' key set to either 'usb-controller' or 9 # 'pci-controller'. 12 # - dt-mmio: identify the MMIO address of the controller as defined in the 14 # - of-fullname-regex: regular expression to match against the OF_FULLNAME 16 # sibling controllers. In this case, dt-mmio can't be used, and this property 18 # - usb-version: for USB controllers to differentiate between USB3 and USB2 20 # - acpi-uid: _UID property of the controller as supplied by the ACPI. Useful to [all …]
|
| /linux/drivers/net/wireless/intel/iwlwifi/ |
| H A D | iwl-debug.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 4 * Copyright(c) 2003 - 2014 Intel Corporation. All rights reserved. 5 * Copyright(c) 2018 - 2021, 2024-2025 Intel Corporation 13 #include "iwl-modparams.h" 16 static inline bool iwl_have_debug_level(u32 level) in iwl_have_debug_level() argument 19 return iwlwifi_mod_params.debug_level & level; in iwl_have_debug_level() 32 struct device; 33 void __iwl_err(struct device *dev, enum iwl_err_mode mode, const char *fmt, ...) 35 void __iwl_warn(struct device *dev, const char *fmt, ...) __printf(2, 3); 36 void __iwl_info(struct device *dev, const char *fmt, ...) __printf(2, 3); [all …]
|
| /linux/drivers/opp/ |
| H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2009-2010 Texas Instruments Incorporated. 16 #include <linux/device.h> 26 * The root of the list of all opp-tables. All opp_table structures branch off 32 /* Lock to allow exclusive modification to the device and opp lists */ 40 static bool _find_opp_dev(const struct device *dev, struct opp_table *opp_table) in _find_opp_dev() 44 guard(mutex)(&opp_table->loc in _find_opp_dev() 895 dev_pm_opp_find_level_exact(struct device * dev,unsigned int level) dev_pm_opp_find_level_exact() argument 917 dev_pm_opp_find_level_ceil(struct device * dev,unsigned int * level) dev_pm_opp_find_level_ceil() argument 957 dev_pm_opp_find_level_floor(struct device * dev,unsigned int * level) dev_pm_opp_find_level_floor() argument 1180 unsigned int level = 0; _set_opp_level() local [all...] |
| /linux/Documentation/scsi/ |
| H A D | ufs.rst | 1 .. SPDX-License-Identifier: GPL-2.0 29 embedded and removable flash memory-based storage in mobile 32 on the MIPI M-PHY physical layer standard. UFS uses MIPI M-PHY as the 41 - Support for Gear1 is mandatory (rate A: 1248Mbps, rate B: 1457.6Mbps) 42 - Support for Gear2 is optional (rate A: 2496Mbps, rate B: 2915.2Mbps) 46 - Gear3 (rate A: 4992Mbps, rate B: 5830.4Mbps) 56 SAM-5 architectural model. 61 --------------------- 64 Task Manager and Device manager. The UFS interface is designed to be 68 UFS supports a subset of SCSI commands defined by SPC-4 and SBC-3. [all …]
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-class-backlight | 10 non-linear. To achieve a linear perception of brightness changes 24 non-linear 25 The brightness changes non-linearly with each step. Brightness 38 The value range is device-driver specific: 47 It returns a 13-bits integer. 53 device-drivers-devel@blackfin.uclinux.org 56 (RW) Read or write the specific brightness level at which the 59 The value meaning is device-driver specific: 65 1 Level 1: daylight 66 2 Level 2: bright [all …]
|
| /linux/drivers/input/misc/ |
| H A D | pm8xxx-vibrator.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* Copyright (c) 2010-2011, Code Aurora Forum. All rights reserved. 14 #define VIB_MAX_LEVEL_mV(vib) (vib->drv2_addr ? 3544 : 3100) 15 #define VIB_MIN_LEVEL_mV(vib) (vib->drv2_addr ? 1504 : 1200) 16 #define VIB_PER_STEP_mV(vib) (vib->drv2_addr ? 8 : 100) 18 (VIB_MAX_LEVEL_mV(vib) - VIB_MIN_LEVEL_mV(vib) + VIB_PER_STEP_mV(vib)) 68 * struct pm8xxx_vib - structure to hold vibrator data 69 * @vib_input_dev: input device supporting force feedback 78 * @level: level of vibration to set in the chip 79 * @reg_vib_drv: regs->drv_addr register value [all …]
|
| /linux/drivers/comedi/ |
| H A D | drivers.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 * COMEDI - Linux Control and Measurement Device Interface 7 * Copyright (C) 1997-2000 David A. Schleef <ds@schleef.org> 11 #include <linux/device.h> 17 #include <linux/dma-direction.h> 28 * comedi_set_hw_dev() - Set hardware device associated with COMEDI device 29 * @dev: COMEDI device. 30 * @hw_dev: Hardware device. 33 * comedi_auto_config() or one of its wrappers from the low-level COMEDI 35 * to associate the COMEDI device with the hardware device. It can also be [all …]
|