Home
last modified time | relevance | path

Searched full:quirks (Results 1 – 25 of 862) sorted by relevance

12345678910>>...35

/linux-6.8/drivers/usb/host/
Dxhci-pci.c130 if (xhci->quirks & XHCI_BROKEN_MSI) in xhci_try_enable_msi()
219 * TODO: see if there are any quirks that need to be added to handle in xhci_pci_reinit()
241 xhci->quirks |= driver_data->quirks; in xhci_pci_quirks()
244 /* Look for vendor-specific quirks */ in xhci_pci_quirks()
250 xhci->quirks |= XHCI_RESET_EP_QUIRK; in xhci_pci_quirks()
256 xhci->quirks |= XHCI_SLOW_SUSPEND; in xhci_pci_quirks()
263 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks()
268 xhci->quirks |= XHCI_BROKEN_MSI; in xhci_pci_quirks()
273 xhci->quirks |= XHCI_TRUST_TX_LENGTH; in xhci_pci_quirks()
278 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks()
[all …]
/linux-6.8/drivers/irqchip/
Dirq-gic-common.c16 const struct gic_quirk *quirks, void *data) in gic_enable_of_quirks() argument
18 for (; quirks->desc; quirks++) { in gic_enable_of_quirks()
19 if (!quirks->compatible && !quirks->property) in gic_enable_of_quirks()
21 if (quirks->compatible && in gic_enable_of_quirks()
22 !of_device_is_compatible(np, quirks->compatible)) in gic_enable_of_quirks()
24 if (quirks->property && in gic_enable_of_quirks()
25 !of_property_read_bool(np, quirks->property)) in gic_enable_of_quirks()
27 if (quirks->init(data)) in gic_enable_of_quirks()
29 quirks->desc); in gic_enable_of_quirks()
33 void gic_enable_quirks(u32 iidr, const struct gic_quirk *quirks, in gic_enable_quirks() argument
[all …]
/linux-6.8/drivers/net/can/flexcan/
Dflexcan-ethtool.c30 if (priv->devtype_data.quirks & FLEXCAN_QUIRK_USE_RX_MAILBOX) in flexcan_get_ringparam()
64 u32 quirks = priv->devtype_data.quirks; in flexcan_set_priv_flags() local
68 quirks |= FLEXCAN_QUIRK_USE_RX_MAILBOX; in flexcan_set_priv_flags()
70 quirks &= ~FLEXCAN_QUIRK_USE_RX_MAILBOX; in flexcan_set_priv_flags()
72 quirks |= FLEXCAN_QUIRK_USE_RX_MAILBOX; in flexcan_set_priv_flags()
75 quirks |= FLEXCAN_QUIRK_USE_RX_MAILBOX; in flexcan_set_priv_flags()
77 quirks &= ~FLEXCAN_QUIRK_USE_RX_MAILBOX; in flexcan_set_priv_flags()
80 if (quirks != priv->devtype_data.quirks && netif_running(ndev)) in flexcan_set_priv_flags()
83 priv->devtype_data.quirks = quirks; in flexcan_set_priv_flags()
Dflexcan.h73 u32 quirks; /* quirks needed for different IP cores */ member
122 const u32 quirks = priv->devtype_data.quirks; in flexcan_supports_rx_mailbox() local
124 return quirks & FLEXCAN_QUIRK_SUPPORT_RX_MAILBOX; in flexcan_supports_rx_mailbox()
130 const u32 quirks = priv->devtype_data.quirks; in flexcan_supports_rx_mailbox_rtr() local
132 return (quirks & (FLEXCAN_QUIRK_SUPPORT_RX_MAILBOX | in flexcan_supports_rx_mailbox_rtr()
141 const u32 quirks = priv->devtype_data.quirks; in flexcan_supports_rx_fifo() local
143 return quirks & FLEXCAN_QUIRK_SUPPORT_RX_FIFO; in flexcan_supports_rx_fifo()
149 const u32 quirks = priv->devtype_data.quirks; in flexcan_active_rx_rtr() local
151 if (quirks & FLEXCAN_QUIRK_USE_RX_MAILBOX) { in flexcan_active_rx_rtr()
152 if (quirks & FLEXCAN_QUIRK_SUPPORT_RX_MAILBOX_RTR) in flexcan_active_rx_rtr()
/linux-6.8/drivers/hid/
Dhid-multitouch.c51 /* quirks to control the device */
113 __s32 quirks; member
143 __s32 quirks; member
245 .quirks = MT_QUIRK_ALWAYS_VALID |
248 .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP },
250 .quirks = MT_QUIRK_ALWAYS_VALID},
252 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE },
254 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE |
257 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE |
260 .quirks = MT_QUIRK_VALID_IS_INRANGE |
[all …]
Dhid-microsoft.c32 unsigned long quirks; member
63 unsigned long quirks = ms->quirks; in ms_report_fixup() local
69 if ((quirks & MS_RDESC) && *rsize == 571 && rdesc[557] == 0x19 && in ms_report_fixup()
187 unsigned long quirks = ms->quirks; in ms_input_mapping() local
189 if (quirks & MS_ERGONOMY) { in ms_input_mapping()
195 if ((quirks & MS_PRESENTER) && in ms_input_mapping()
199 if (quirks & MS_SURFACE_DIAL) { in ms_input_mapping()
214 unsigned long quirks = ms->quirks; in ms_input_mapped() local
216 if (quirks & MS_DUPLICATE_USAGES) in ms_input_mapped()
226 unsigned long quirks = ms->quirks; in ms_event() local
[all …]
Dhid-cypress.c73 unsigned long quirks = (unsigned long)hid_get_drvdata(hdev); in cp_report_fixup() local
75 if (quirks & CP_RDESC_SWAPPED_MIN_MAX) in cp_report_fixup()
77 if (quirks & VA_INVAL_LOGICAL_BOUNDARY) in cp_report_fixup()
87 unsigned long quirks = (unsigned long)hid_get_drvdata(hdev); in cp_input_mapped() local
89 if (!(quirks & CP_2WHEEL_MOUSE_HACK)) in cp_input_mapped()
103 unsigned long quirks = (unsigned long)hid_get_drvdata(hdev); in cp_event() local
106 !usage->type || !(quirks & CP_2WHEEL_MOUSE_HACK)) in cp_event()
111 quirks |= CP_2WHEEL_MOUSE_HACK_ON; in cp_event()
113 quirks &= ~CP_2WHEEL_MOUSE_HACK_ON; in cp_event()
114 hid_set_drvdata(hdev, (void *)quirks); in cp_event()
[all …]
Dhid-saitek.c32 unsigned long quirks; member
39 unsigned long quirks = id->driver_data; in saitek_probe() local
49 ssc->quirks = quirks; in saitek_probe()
74 if ((ssc->quirks & SAITEK_FIX_PS1000) && *rsize == 137 && in saitek_report_fixup()
98 if (ssc->quirks & SAITEK_RELEASE_MODE_RAT7 && size == 7) { in saitek_raw_event()
119 } else if (ssc->quirks & SAITEK_RELEASE_MODE_MMO7 && size == 8) { in saitek_raw_event()
157 (((ssc->quirks & SAITEK_RELEASE_MODE_RAT7) && in saitek_event()
159 ((ssc->quirks & SAITEK_RELEASE_MODE_MMO7) && in saitek_event()
Dhid-sony.c490 unsigned long quirks; member
751 if (sc->quirks & (SINO_LITE_CONTROLLER | FUTUREMAX_DANCE_MAT)) in sony_report_fixup()
758 if ((sc->quirks & VAIO_RDESC_CONSTANT) && *rsize >= 56 && in sony_report_fixup()
770 if (sc->quirks & MOTION_CONTROLLER) in sony_report_fixup()
773 if (sc->quirks & PS3REMOTE) in sony_report_fixup()
780 if ((sc->quirks & SIXAXIS_CONTROLLER_USB) && *rsize >= 45 && in sony_report_fixup()
810 offset = (sc->quirks & MOTION_CONTROLLER) ? 12 : 30; in sixaxis_parse_report()
826 if (sc->quirks & SIXAXIS_CONTROLLER) { in sixaxis_parse_report()
927 if ((sc->quirks & SIXAXIS_CONTROLLER) && rd[0] == 0x01 && size == 49) { in sony_raw_event()
945 } else if ((sc->quirks & MOTION_CONTROLLER_BT) && rd[0] == 0x01 && size == 49) { in sony_raw_event()
[all …]
Dhid-asus.c117 unsigned long quirks; member
335 if (drvdata->quirks & QUIRK_MEDION_E1239T) in asus_raw_event()
338 if (drvdata->quirks & QUIRK_USE_KBD_BACKLIGHT) { in asus_raw_event()
358 if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD) { in asus_raw_event()
370 if (drvdata->quirks & QUIRK_ROG_CLAYMORE_II_KEYBOARD) { in asus_raw_event()
576 if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD) { in asus_kbd_register_leds()
785 if (drvdata->quirks & QUIRK_T100CHI && in asus_input_configured()
790 if (drvdata->tp && (drvdata->quirks & QUIRK_MEDION_E1239T)) { in asus_input_configured()
854 if (drvdata->quirks & QUIRK_SKIP_INPUT_MAPPING) { in asus_input_mapping()
866 if ((drvdata->quirks & (QUIRK_T100CHI | QUIRK_T90CHI)) && in asus_input_mapping()
[all …]
Dhid-belkin.c30 unsigned long quirks = (unsigned long)hid_get_drvdata(hdev); in belkin_input_mapping() local
33 !(quirks & BELKIN_WKBD)) in belkin_input_mapping()
48 unsigned long quirks = id->driver_data; in belkin_probe() local
51 hid_set_drvdata(hdev, (void *)quirks); in belkin_probe()
60 ((quirks & BELKIN_HIDDEV) ? HID_CONNECT_HIDDEV_FORCE : 0)); in belkin_probe()
/linux-6.8/drivers/mmc/core/
Dcard.h169 card->quirks |= data; in add_quirk()
174 card->quirks &= ~data; in remove_quirk()
193 card->quirks |= MMC_QUIRK_NONSTD_SDIO; in wl1251_quirk()
207 card->quirks |= data; in add_quirk_mmc()
214 card->quirks &= ~data; in remove_quirk_mmc()
223 card->quirks |= data; in add_quirk_sd()
230 card->quirks &= ~data; in remove_quirk_sd()
235 return c->quirks & MMC_QUIRK_LENIENT_FN0; in mmc_card_lenient_fn0()
240 return c->quirks & MMC_QUIRK_BLKSZ_FOR_BYTE_MODE; in mmc_blksz_for_byte_mode()
245 return c->quirks & MMC_QUIRK_DISABLE_CD; in mmc_card_disable_cd()
[all …]
/linux-6.8/drivers/usb/core/
Dquirks.c11 #include <linux/usb/quirks.h>
172 device_param_cb(quirks, &quirks_param_ops, &quirks_param_string, 0644);
173 MODULE_PARM_DESC(quirks, "Add/modify USB quirks by specifying quirks=vendorID:productID:quirks");
175 /* Lists of quirky USB devices, split in device quirks and interface quirks.
176 * Device quirks are applied at the very beginning of the enumeration process,
180 * Interface quirks are applied after reading all the configuration descriptors.
183 * Note that the DELAY_INIT and HONOR_BNUMINTERFACES quirks do not make sense as
184 * interface quirks, as they only influence the enumeration process which is run
185 * before processing the interface quirks.
656 u32 quirks = 0; in usb_detect_static_quirks() local
[all …]
/linux-6.8/lib/
Dpacking.c58 * @startbit: The index (in logical notation, compensated for quirks) where
61 * @endbit: The index (in logical notation, compensated for quirks) where
69 * @quirks: A bit mask of QUIRK_LITTLE_ENDIAN, QUIRK_LSW32_IS_FIRST and
78 enum packing_op op, u8 quirks) in packing() argument
114 * no quirks, u8 by u8 (aligned at u8 boundaries), from high to low in packing()
154 * adjusted for quirks. The adjusted box_addr will be used for in packing()
159 if (quirks & QUIRK_LITTLE_ENDIAN) in packing()
161 if (quirks & QUIRK_LSW32_IS_FIRST) in packing()
170 if (quirks & QUIRK_MSB_ON_THE_RIGHT) in packing()
186 if (quirks & QUIRK_MSB_ON_THE_RIGHT) in packing()
/linux-6.8/drivers/gpu/drm/panfrost/
Dpanfrost_gpu.c117 u32 quirks = 0; in panfrost_gpu_init_quirks() local
121 quirks |= SC_LS_PAUSEBUFFER_DISABLE; in panfrost_gpu_init_quirks()
124 quirks |= SC_SDC_DISABLE_OQ_DISCARD; in panfrost_gpu_init_quirks()
127 quirks |= SC_ENABLE_TEXGRD_FLAGS; in panfrost_gpu_init_quirks()
131 quirks |= SC_LS_ATTR_CHECK_DISABLE; in panfrost_gpu_init_quirks()
133 quirks |= SC_LS_ALLOW_ATTR_TYPES; in panfrost_gpu_init_quirks()
137 quirks |= SC_VAR_ALGORITHM; in panfrost_gpu_init_quirks()
140 quirks |= SC_TLS_HASH_ENABLE; in panfrost_gpu_init_quirks()
142 if (quirks) in panfrost_gpu_init_quirks()
143 gpu_write(pfdev, GPU_SHADER_CONFIG, quirks); in panfrost_gpu_init_quirks()
[all …]
/linux-6.8/Documentation/nvme/
Dfeature-and-quirk-policy.rst59 Quirks chapter
63 of the standards. Linux uses identifier-based quirks to work around such
64 implementation bugs. The intent of quirks is to deal with widely available
65 hardware, usually consumer, which Linux users can't use without these quirks.
71 maintainability of the driver. In general quirks are a last resort, if no
74 Quirks will not be added to the Linux kernel for hardware that isn't available
77 should be fixed before it is shipped instead of relying on Linux quirks.
/linux-6.8/drivers/platform/x86/
Deeepc-wmi.c99 static struct quirk_entry *quirks; variable
109 quirks = &quirk_asus_et2012_type1; in et2012_quirks()
111 quirks = &quirk_asus_et2012_type3; in et2012_quirks()
121 quirks = dmi->driver_data; in dmi_matched()
188 quirks = &quirk_asus_unknown; in eeepc_wmi_quirks()
189 quirks->hotplug_wireless = hotplug_wireless; in eeepc_wmi_quirks()
193 driver->quirks = quirks; in eeepc_wmi_quirks()
194 driver->quirks->wapf = -1; in eeepc_wmi_quirks()
Dmsi-laptop.c112 /* MSI laptop quirks */
138 static struct quirk_entry *quirks; variable
210 if (quirks->ec_read_only) in set_device_state()
311 if (quirks->old_ec_model) { in show_wlan()
335 if (quirks->old_ec_model) { in show_bluetooth()
360 if (quirks->old_ec_model) in show_threeg()
588 quirks = dmi->driver_data; in dmi_check_cb()
595 if (quirks->ec_delay) in msi_work_delay()
775 if (quirks->ec_read_only) in msi_rfkill_set_state()
919 if (!quirks->load_scm_model) in msi_scm_disable_hw_fn_handling()
[all …]
/linux-6.8/arch/arm/mach-davinci/
Dpdata-quirks.c3 * Legacy platform_data quirks
191 static void pdata_quirks_check(struct pdata_init *quirks) in pdata_quirks_check() argument
193 while (quirks->compatible) { in pdata_quirks_check()
194 if (of_machine_is_compatible(quirks->compatible)) { in pdata_quirks_check()
195 if (quirks->fn) in pdata_quirks_check()
196 quirks->fn(); in pdata_quirks_check()
198 quirks++; in pdata_quirks_check()
/linux-6.8/drivers/net/ethernet/stmicro/stmmac/
Dhwif.c120 int (*quirks)(struct stmmac_priv *priv); member
140 .quirks = stmmac_dwmac1_quirks,
158 .quirks = stmmac_dwmac1_quirks,
178 .quirks = stmmac_dwmac4_quirks,
198 .quirks = NULL,
218 .quirks = NULL,
238 .quirks = NULL,
259 .quirks = NULL,
280 .quirks = stmmac_dwxlgmac_quirks,
368 /* Save quirks, if needed for posterior use */ in stmmac_hwif_init()
[all …]
/linux-6.8/drivers/watchdog/
Ds3c2410_wdt.c124 /* These quirks require that we have a PMU register map */
163 * @quirks: A bitfield of quirks.
175 u32 quirks; member
194 .quirks = 0
199 .quirks = QUIRK_HAS_WTCLRINT_REG,
208 .quirks = QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_PMU_MASK_RESET | \
218 .quirks = QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_PMU_MASK_RESET | \
228 .quirks = QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_PMU_MASK_RESET | \
240 .quirks = QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_PMU_MASK_RESET | \
252 .quirks = QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_PMU_MASK_RESET | \
[all …]
/linux-6.8/drivers/gpu/drm/imagination/
Dpvr_device_info.c16 [PVR_FW_HAS_BRN_##quirk] = offsetof(struct pvr_device, quirks.has_brn##quirk)
61 drm_warn(from_pvr_device(pvr_dev), "Unsupported quirks in firmware image"); in pvr_device_info_set_common()
71 "Unsupported quirks in firmware image"); in pvr_device_info_set_common()
85 * pvr_device_info_set_quirks() - Set device quirks from device information in firmware
87 * @quirks: Pointer to quirks mask in device information.
88 * @quirks_size: Size of quirks mask, in u64s.
90 void pvr_device_info_set_quirks(struct pvr_device *pvr_dev, const u64 *quirks, u32 quirks_size) in pvr_device_info_set_quirks() argument
94 pvr_device_info_set_common(pvr_dev, quirks, quirks_size, quirks_mapping, in pvr_device_info_set_quirks()
/linux-6.8/drivers/perf/
Dfsl_imx8_ddr_perf.c65 unsigned int quirks; /* quirks needed for different DDR Perf core */ member
72 .quirks = DDR_CAP_AXI_ID_FILTER,
76 .quirks = DDR_CAP_AXI_ID_FILTER,
81 .quirks = DDR_CAP_AXI_ID_FILTER,
86 .quirks = DDR_CAP_AXI_ID_FILTER,
91 .quirks = DDR_CAP_AXI_ID_FILTER_ENHANCED,
96 .quirks = DDR_CAP_AXI_ID_PORT_CHANNEL_FILTER,
169 u32 quirks = pmu->devtype_data->quirks; in ddr_perf_filter_cap_get() local
173 return !!(quirks & DDR_CAP_AXI_ID_FILTER); in ddr_perf_filter_cap_get()
175 quirks &= DDR_CAP_AXI_ID_FILTER_ENHANCED; in ddr_perf_filter_cap_get()
[all …]
/linux-6.8/drivers/mmc/host/
Dsdhci-pltfm.c62 host->quirks |= SDHCI_QUIRK_BROKEN_DMA; in sdhci_get_compatibility()
68 host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL; in sdhci_get_compatibility()
79 host->quirks |= SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12; in sdhci_get_property()
84 host->quirks |= SDHCI_QUIRK_FORCE_1_BIT_DATA; in sdhci_get_property()
87 host->quirks |= SDHCI_QUIRK_INVERTED_WRITE_PROTECT; in sdhci_get_property()
90 host->quirks |= SDHCI_QUIRK_BROKEN_CARD_DETECTION; in sdhci_get_property()
139 host->quirks = pdata->quirks; in sdhci_pltfm_init()
/linux-6.8/drivers/acpi/x86/
Dutils.c269 * 1. Devices with only the skip / don't-skip AC and battery quirks,
290 * 2. Devices which also have the skip i2c/serdev quirks and which
417 long quirks; in acpi_quirk_skip_i2c_client_enumeration() local
423 quirks = (unsigned long)dmi_id->driver_data; in acpi_quirk_skip_i2c_client_enumeration()
424 if (!(quirks & ACPI_QUIRK_SKIP_I2C_CLIENTS)) in acpi_quirk_skip_i2c_client_enumeration()
435 long quirks = 0; in acpi_quirk_skip_serdev_enumeration() local
451 quirks = (unsigned long)dmi_id->driver_data; in acpi_quirk_skip_serdev_enumeration()
453 if ((quirks & ACPI_QUIRK_UART1_SKIP) && uid == 1) in acpi_quirk_skip_serdev_enumeration()
456 if (quirks & ACPI_QUIRK_UART1_TTY_UART2_SKIP) { in acpi_quirk_skip_serdev_enumeration()
471 long quirks; in acpi_quirk_skip_gpio_event_handlers() local
[all …]

12345678910>>...35