| /linux/drivers/usb/host/ |
| H A D | xhci-pci.c | 153 if (xhci->quirks & XHCI_BROKEN_MSI) in xhci_try_enable_msi() 239 * TODO: see if there are any quirks that need to be added to handle in xhci_pci_reinit() 255 /* Look for vendor-specific quirks */ in xhci_pci_quirks() 261 xhci->quirks |= XHCI_RESET_EP_QUIRK; in xhci_pci_quirks() 267 xhci->quirks |= XHCI_SLOW_SUSPEND; in xhci_pci_quirks() 274 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks() 279 xhci->quirks |= XHCI_BROKEN_MSI; in xhci_pci_quirks() 288 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks() 291 xhci->quirks |= XHCI_NEC_HOST; in xhci_pci_quirks() 302 xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_9; in xhci_pci_quirks() [all …]
|
| /linux/drivers/irqchip/ |
| H A D | irq-gic-common.c | 17 const struct gic_quirk *quirks, void *data) in gic_enable_of_quirks() argument 19 for (; quirks->desc; quirks++) { in gic_enable_of_quirks() 20 if (!quirks->compatible && !quirks->property) in gic_enable_of_quirks() 22 if (quirks->compatible && in gic_enable_of_quirks() 23 !of_device_is_compatible(np, quirks->compatible)) in gic_enable_of_quirks() 25 if (quirks->property && in gic_enable_of_quirks() 26 !of_property_read_bool(np, quirks->property)) in gic_enable_of_quirks() 28 if (quirks->init(data)) in gic_enable_of_quirks() 30 quirks->desc); in gic_enable_of_quirks() 34 void gic_enable_quirks(u32 iidr, const struct gic_quirk *quirks, in gic_enable_quirks() argument [all …]
|
| /linux/drivers/hid/ |
| H A D | hid-multitouch.c | 54 /* quirks to control the device */ 126 __s32 quirks; member 155 __s32 quirks; member 269 .quirks = MT_QUIRK_ALWAYS_VALID | 272 .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP }, 274 .quirks = MT_QUIRK_ALWAYS_VALID}, 276 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE }, 278 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE | 281 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE | 284 .quirks = MT_QUIRK_VALID_IS_INRANGE | [all …]
|
| H A D | hid-microsoft.c | 32 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 …]
|
| H A D | hid-cypress.c | 73 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 …]
|
| H A D | hid-asus.c | 135 unsigned long quirks; member 374 if (drvdata->quirks & QUIRK_HID_FN_LOCK) { in asus_event() 396 if (drvdata->quirks & QUIRK_MEDION_E1239T) in asus_raw_event() 405 if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD) { in asus_raw_event() 452 if (drvdata->quirks & QUIRK_ROG_CLAYMORE_II_KEYBOARD) { in asus_raw_event() 746 if (drvdata->quirks & QUIRK_ROG_NKEY_ID1ID2_INIT) { in asus_kbd_register_leds() 757 if (drvdata->quirks & QUIRK_ROG_ALLY_XPAD) { in asus_kbd_register_leds() 950 if (drvdata->quirks & QUIRK_T100CHI && in asus_input_configured() 955 if (drvdata->tp && (drvdata->quirks & QUIRK_MEDION_E1239T)) { in asus_input_configured() 1002 if (drvdata->quirks & QUIRK_HID_FN_LOCK) { in asus_input_configured() [all …]
|
| H A D | hid-saitek.c | 32 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()
|
| H A D | hid-quirks.c | 3 * HID quirks support for Linux 1008 if (hdev->quirks & HID_QUIRK_NO_IGNORE) in hid_ignore() 1010 if (hdev->quirks & HID_QUIRK_IGNORE) in hid_ignore() 1097 hdev->quirks & HID_QUIRK_IGNORE_MOUSE) in hid_ignore() 1104 /* Dynamic HID quirks list - specified at runtime */ 1113 /* Runtime ("dynamic") quirks manipulation functions */ 1116 * hid_exists_dquirk - find any dynamic quirks for a HID device 1150 * @quirks: the unsigned long quirks value to add/replace 1154 * quirks value with what was provided. Otherwise, add the quirk 1155 * to the dynamic quirks list. [all …]
|
| H A D | hid-belkin.c | 30 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/drivers/net/can/flexcan/ |
| H A D | flexcan-ethtool.c | 30 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()
|
| H A D | flexcan.h | 79 u32 quirks; /* quirks needed for different IP cores */ member 130 const u32 quirks = priv->devtype_data.quirks; in flexcan_supports_rx_mailbox() local 132 return quirks & FLEXCAN_QUIRK_SUPPORT_RX_MAILBOX; in flexcan_supports_rx_mailbox() 138 const u32 quirks = priv->devtype_data.quirks; in flexcan_supports_rx_mailbox_rtr() local 140 return (quirks & (FLEXCAN_QUIRK_SUPPORT_RX_MAILBOX | in flexcan_supports_rx_mailbox_rtr() 149 const u32 quirks = priv->devtype_data.quirks; in flexcan_supports_rx_fifo() local 151 return quirks & FLEXCAN_QUIRK_SUPPORT_RX_FIFO; in flexcan_supports_rx_fifo() 157 const u32 quirks = priv->devtype_data.quirks; in flexcan_active_rx_rtr() local 159 if (quirks & FLEXCAN_QUIRK_USE_RX_MAILBOX) { in flexcan_active_rx_rtr() 160 if (quirks & FLEXCAN_QUIRK_SUPPORT_RX_MAILBOX_RTR) in flexcan_active_rx_rtr()
|
| /linux/drivers/usb/core/ |
| H A D | quirks.c | 11 #include <linux/usb/quirks.h> 173 device_param_cb(quirks, &quirks_param_ops, &quirks_param_string, 0644); 174 MODULE_PARM_DESC(quirks, "Add/modify USB quirks by specifying quirks=vendorID:productID:quirks"); 176 /* Lists of quirky USB devices, split in device quirks and interface quirks. 177 * Device quirks are applied at the very beginning of the enumeration process, 181 * Interface quirks are applied after reading all the configuration descriptors. 184 * Note that the DELAY_INIT and HONOR_BNUMINTERFACES quirks do not make sense as 185 * interface quirks, as they only influence the enumeration process which is run 186 * before processing the interface quirks. 711 u32 quirks = 0; in usb_detect_static_quirks() local [all …]
|
| /linux/Documentation/nvme/ |
| H A D | feature-and-quirk-policy.rst | 59 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/drivers/gpu/drm/msm/dsi/phy/ |
| H A D | dsi_phy_7nm.c | 144 if (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_PRE_V4_1) { in dsi_pll_calc_dec_frac() 146 } else if ((pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) { in dsi_pll_calc_dec_frac() 167 } else if ((pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2)) { in dsi_pll_calc_dec_frac() 176 } else if (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_1) { in dsi_pll_calc_dec_frac() 267 if (!(pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_PRE_V4_1)) in dsi_pll_config_hzindep_reg() 271 if (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_1) { in dsi_pll_config_hzindep_reg() 278 if ((pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_2) || in dsi_pll_config_hzindep_reg() 279 (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_3)) { in dsi_pll_config_hzindep_reg() 286 if ((pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2) || in dsi_pll_config_hzindep_reg() 287 (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) { in dsi_pll_config_hzindep_reg() [all …]
|
| /linux/drivers/platform/x86/ |
| H A D | eeepc-wmi.c | 99 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()
|
| H A D | msi-laptop.c | 112 /* 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/drivers/gpu/drm/msm/adreno/ |
| H A D | a5xx_catalog.c | 23 .quirks = ADRENO_QUIRK_TWO_PASS_USE_WFI | 40 .quirks = ADRENO_QUIRK_TWO_PASS_USE_WFI | 58 .quirks = ADRENO_QUIRK_LMLOADKILL_DISABLE, 75 .quirks = ADRENO_QUIRK_LMLOADKILL_DISABLE, 108 .quirks = ADRENO_QUIRK_LMLOADKILL_DISABLE, 129 .quirks = ADRENO_QUIRK_TWO_PASS_USE_WFI | 148 .quirks = ADRENO_QUIRK_LMLOADKILL_DISABLE,
|
| /linux/drivers/mmc/host/ |
| H A D | sdhci-pltfm.c | 62 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/arch/arm/mach-davinci/ |
| H A D | pdata-quirks.c | 3 * 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/drivers/gpu/drm/imagination/ |
| H A D | pvr_device_info.c | 16 [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/drivers/bus/ |
| H A D | ti-sysc.c | 177 if (ddata->cfg.quirks & SYSC_QUIRK_16BIT) { in sysc_write() 196 if (ddata->cfg.quirks & SYSC_QUIRK_16BIT) { in sysc_read() 217 return !!(ddata->cfg.quirks & SYSC_QUIRK_OPT_CLKS_NEEDED); in sysc_opt_clks_needed() 255 if (ddata->cfg.quirks & SYSS_QUIRK_RESETDONE_INVERTED) in sysc_poll_reset_sysstatus() 315 else if (ddata->cfg.quirks & SYSC_QUIRK_RESET_STATUS) in sysc_wait_softreset() 464 if ((ddata->cfg.quirks & SYSC_QUIRK_EXT_OPT_CLOCK)) { in sysc_get_clocks() 618 if (ddata->legacy_mode || (ddata->cfg.quirks & SYSC_QUIRK_CLKDM_NOAUTO)) in sysc_clkdm_deny_idle() 630 if (ddata->legacy_mode || (ddata->cfg.quirks & SYSC_QUIRK_CLKDM_NOAUTO)) in sysc_clkdm_allow_idle() 721 ddata->cfg.quirks |= SYSC_QUIRK_NO_IDLE_ON_INIT | in sysc_check_quirk_stdout() 764 ddata->cfg.quirks |= SYSC_QUIRK_16BIT | SYSC_QUIRK_USE_CLOCKACT; in sysc_check_quirk_16bit() [all …]
|
| /linux/drivers/net/ethernet/via/ |
| H A D | via-rhine.c | 281 * The .data field is currently only used to store quirks 467 u32 quirks; member 556 if (rp->quirks & rqStatusWBRace) in rhine_get_events() 565 if (rp->quirks & rqStatusWBRace) in rhine_ack_events() 580 if (rp->quirks & rqWOL) { in rhine_power_init() 590 if (rp->quirks & rq6patterns) in rhine_power_init() 595 if (rp->quirks & rq6patterns) in rhine_power_init() 600 if (rp->quirks & rq6patterns) in rhine_power_init() 643 if (rp->quirks & rqForceReset) in rhine_chip_reset() 655 static void enable_mmio(long pioaddr, u32 quirks) in enable_mmio() argument [all …]
|
| /linux/sound/soc/sunxi/ |
| H A D | sun4i-spdif.c | 193 const struct sun4i_spdif_quirks *quirks; member 199 const struct sun4i_spdif_quirks *quirks = host->quirks; in sun4i_spdif_configure() local 206 quirks->val_fctl_ftx, quirks->val_fctl_ftx); in sun4i_spdif_configure() 327 mclk *= host->quirks->mclk_multiplier; in sun4i_spdif_hw_params() 359 mclk_div *= host->quirks->mclk_multiplier; in sun4i_spdif_hw_params() 655 const struct sun4i_spdif_quirks *quirks; in sun4i_spdif_probe() local 678 quirks = of_device_get_match_data(&pdev->dev); in sun4i_spdif_probe() 679 if (quirks == NULL) { in sun4i_spdif_probe() 680 dev_err(&pdev->dev, "Failed to determine the quirks to use\n"); in sun4i_spdif_probe() 683 host->quirks = quirks; in sun4i_spdif_probe() [all …]
|
| /linux/drivers/acpi/x86/ |
| H A D | utils.c | 288 * 1. Devices with only the skip / don't-skip AC and battery quirks, 309 * 2. Devices which also have the skip i2c/serdev quirks and which 479 long quirks; in acpi_quirk_skip_i2c_client_enumeration() local 485 quirks = (unsigned long)dmi_id->driver_data; in acpi_quirk_skip_i2c_client_enumeration() 486 if (!(quirks & ACPI_QUIRK_SKIP_I2C_CLIENTS)) in acpi_quirk_skip_i2c_client_enumeration() 497 long quirks = 0; in acpi_dmi_skip_serdev_enumeration() local 504 quirks = (unsigned long)dmi_id->driver_data; in acpi_dmi_skip_serdev_enumeration() 528 if ((quirks & ACPI_QUIRK_PNP_UART1_SKIP) && uid == 1) in acpi_dmi_skip_serdev_enumeration() 534 if ((quirks & ACPI_QUIRK_UART1_SKIP) && uid == 1) in acpi_dmi_skip_serdev_enumeration() 537 if (quirks & ACPI_QUIRK_UART1_TTY_UART2_SKIP) { in acpi_dmi_skip_serdev_enumeration() [all …]
|
| /linux/drivers/base/regmap/ |
| H A D | regmap-i2c.c | 309 const struct i2c_adapter_quirks *quirks; in regmap_get_i2c_bus() local 345 quirks = i2c->adapter->quirks; in regmap_get_i2c_bus() 346 if (quirks) { in regmap_get_i2c_bus() 347 if (quirks->max_read_len && in regmap_get_i2c_bus() 348 (bus->max_raw_read == 0 || bus->max_raw_read > quirks->max_read_len)) in regmap_get_i2c_bus() 349 max_read = quirks->max_read_len; in regmap_get_i2c_bus() 351 if (quirks->max_write_len && in regmap_get_i2c_bus() 352 (bus->max_raw_write == 0 || bus->max_raw_write > quirks->max_write_len)) in regmap_get_i2c_bus() 353 max_write = quirks->max_write_len - in regmap_get_i2c_bus()
|