| /kernel/linux/linux-5.10/drivers/usb/host/ |
| D | xhci-pci.c | 93 * TODO: see if there are any quirks that need to be added to handle in xhci_pci_reinit() 115 xhci->quirks |= driver_data->quirks; in xhci_pci_quirks() 118 /* Look for vendor-specific quirks */ in xhci_pci_quirks() 124 xhci->quirks |= XHCI_RESET_EP_QUIRK; in xhci_pci_quirks() 131 xhci->quirks |= XHCI_SLOW_SUSPEND; in xhci_pci_quirks() 138 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks() 143 xhci->quirks |= XHCI_BROKEN_MSI; in xhci_pci_quirks() 148 xhci->quirks |= XHCI_TRUST_TX_LENGTH; in xhci_pci_quirks() 153 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks() 157 xhci->quirks |= XHCI_TRUST_TX_LENGTH; in xhci_pci_quirks() [all …]
|
| D | xhci-plat.c | 96 xhci->quirks |= XHCI_PLAT | priv->quirks; in xhci_plat_quirks() 137 .quirks = XHCI_RESET_ON_RESUME | XHCI_SUSPEND_RESUME_CLKS, 314 /* Iterate over all parent nodes for finding quirks */ in xhci_plat_probe() 318 xhci->quirks |= XHCI_HW_LPM_DISABLE; in xhci_plat_probe() 321 xhci->quirks |= XHCI_LPM_SUPPORT; in xhci_plat_probe() 324 xhci->quirks |= XHCI_BROKEN_PORT_PED; in xhci_plat_probe() 327 xhci->quirks |= XHCI_SG_TRB_CACHE_SIZE_QUIRK; in xhci_plat_probe() 354 if ((xhci->quirks & XHCI_SKIP_PHY_INIT) || (priv && (priv->quirks & XHCI_SKIP_PHY_INIT))) in xhci_plat_probe() 357 if (priv && (priv->quirks & XHCI_SG_TRB_CACHE_SIZE_QUIRK)) in xhci_plat_probe() 358 xhci->quirks |= XHCI_SG_TRB_CACHE_SIZE_QUIRK; in xhci_plat_probe() [all …]
|
| /kernel/linux/linux-5.10/drivers/irqchip/ |
| D | irq-gic-common.c | 29 const struct gic_quirk *quirks, void *data) in gic_enable_of_quirks() argument 31 for (; quirks->desc; quirks++) { in gic_enable_of_quirks() 32 if (!quirks->compatible && !quirks->property) in gic_enable_of_quirks() 34 if (quirks->compatible && in gic_enable_of_quirks() 35 !of_device_is_compatible(np, quirks->compatible)) in gic_enable_of_quirks() 37 if (quirks->property && in gic_enable_of_quirks() 38 !of_property_read_bool(np, quirks->property)) in gic_enable_of_quirks() 40 if (quirks->init(data)) in gic_enable_of_quirks() 42 quirks->desc); in gic_enable_of_quirks() 46 void gic_enable_quirks(u32 iidr, const struct gic_quirk *quirks, in gic_enable_quirks() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/irqchip/ |
| D | irq-gic-common.c | 16 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 …]
|
| /kernel/linux/linux-6.6/drivers/usb/host/ |
| D | xhci-pci.c | 230 if (xhci->quirks & XHCI_BROKEN_MSI) in xhci_try_enable_msi() 298 * TODO: see if there are any quirks that need to be added to handle in xhci_pci_reinit() 320 xhci->quirks |= driver_data->quirks; in xhci_pci_quirks() 323 /* Look for vendor-specific quirks */ in xhci_pci_quirks() 329 xhci->quirks |= XHCI_RESET_EP_QUIRK; in xhci_pci_quirks() 335 xhci->quirks |= XHCI_SLOW_SUSPEND; in xhci_pci_quirks() 342 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks() 347 xhci->quirks |= XHCI_BROKEN_MSI; in xhci_pci_quirks() 356 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks() 359 xhci->quirks |= XHCI_NEC_HOST; in xhci_pci_quirks() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/can/flexcan/ |
| 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()
|
| D | flexcan.h | 73 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()
|
| /kernel/linux/linux-5.10/drivers/hid/ |
| 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 …]
|
| D | hid-multitouch.c | 51 /* quirks to control the device */ 111 __s32 quirks; member 141 __s32 quirks; member 240 .quirks = MT_QUIRK_ALWAYS_VALID | 243 .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP }, 245 .quirks = MT_QUIRK_ALWAYS_VALID}, 247 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE }, 249 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE | 252 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE | 255 .quirks = MT_QUIRK_VALID_IS_INRANGE | [all …]
|
| 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 …]
|
| 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()
|
| /kernel/linux/linux-6.6/drivers/hid/ |
| 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 …]
|
| D | hid-multitouch.c | 51 /* 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 …]
|
| 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 …]
|
| 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()
|
| /kernel/linux/linux-6.6/drivers/mmc/core/ |
| D | card.h | 171 card->quirks |= data; in add_quirk() 176 card->quirks &= ~data; in remove_quirk() 195 card->quirks |= MMC_QUIRK_NONSTD_SDIO; in wl1251_quirk() 209 card->quirks |= data; in add_quirk_mmc() 216 card->quirks &= ~data; in remove_quirk_mmc() 225 card->quirks |= data; in add_quirk_sd() 232 card->quirks &= ~data; in remove_quirk_sd() 237 return c->quirks & MMC_QUIRK_LENIENT_FN0; in mmc_card_lenient_fn0() 242 return c->quirks & MMC_QUIRK_BLKSZ_FOR_BYTE_MODE; in mmc_blksz_for_byte_mode() 247 return c->quirks & MMC_QUIRK_DISABLE_CD; in mmc_card_disable_cd() [all …]
|
| /kernel/linux/linux-5.10/drivers/mmc/core/ |
| D | card.h | 140 card->quirks |= data; in add_quirk() 145 card->quirks &= ~data; in remove_quirk() 160 card->quirks |= data; in add_quirk_mmc() 167 card->quirks &= ~data; in remove_quirk_mmc() 176 card->quirks |= data; in add_quirk_sd() 183 card->quirks &= ~data; in remove_quirk_sd() 188 return c->quirks & MMC_QUIRK_LENIENT_FN0; in mmc_card_lenient_fn0() 193 return c->quirks & MMC_QUIRK_BLKSZ_FOR_BYTE_MODE; in mmc_blksz_for_byte_mode() 198 return c->quirks & MMC_QUIRK_DISABLE_CD; in mmc_card_disable_cd() 203 return c->quirks & MMC_QUIRK_NONSTD_FUNC_IF; in mmc_card_nonstd_func_interface() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/panfrost/ |
| D | panfrost_gpu.c | 92 u32 quirks = 0; in panfrost_gpu_init_quirks() local 96 quirks |= SC_LS_PAUSEBUFFER_DISABLE; in panfrost_gpu_init_quirks() 99 quirks |= SC_SDC_DISABLE_OQ_DISCARD; in panfrost_gpu_init_quirks() 102 quirks |= SC_ENABLE_TEXGRD_FLAGS; in panfrost_gpu_init_quirks() 106 quirks |= SC_LS_ATTR_CHECK_DISABLE; in panfrost_gpu_init_quirks() 108 quirks |= SC_LS_ALLOW_ATTR_TYPES; in panfrost_gpu_init_quirks() 112 quirks |= SC_TLS_HASH_ENABLE; in panfrost_gpu_init_quirks() 114 if (quirks) in panfrost_gpu_init_quirks() 115 gpu_write(pfdev, GPU_SHADER_CONFIG, quirks); in panfrost_gpu_init_quirks() 118 quirks = gpu_read(pfdev, GPU_TILER_CONFIG); in panfrost_gpu_init_quirks() [all …]
|
| /kernel/linux/linux-5.10/drivers/usb/core/ |
| D | quirks.c | 11 #include <linux/usb/quirks.h> 169 device_param_cb(quirks, &quirks_param_ops, &quirks_param_string, 0644); 170 MODULE_PARM_DESC(quirks, "Add/modify USB quirks by specifying quirks=vendorID:productID:quirks"); 172 /* Lists of quirky USB devices, split in device quirks and interface quirks. 173 * Device quirks are applied at the very beginning of the enumeration process, 177 * Interface quirks are applied after reading all the configuration descriptors. 180 * Note that the DELAY_INIT and HONOR_BNUMINTERFACES quirks do not make sense as 181 * interface quirks, as they only influence the enumeration process which is run 182 * before processing the interface quirks. 650 u32 quirks = 0; in usb_detect_static_quirks() local [all …]
|
| /kernel/linux/linux-6.6/drivers/usb/core/ |
| D | quirks.c | 11 #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. 682 u32 quirks = 0; in usb_detect_static_quirks() local [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/panfrost/ |
| D | panfrost_gpu.c | 97 u32 quirks = 0; in panfrost_gpu_init_quirks() local 101 quirks |= SC_LS_PAUSEBUFFER_DISABLE; in panfrost_gpu_init_quirks() 104 quirks |= SC_SDC_DISABLE_OQ_DISCARD; in panfrost_gpu_init_quirks() 107 quirks |= SC_ENABLE_TEXGRD_FLAGS; in panfrost_gpu_init_quirks() 111 quirks |= SC_LS_ATTR_CHECK_DISABLE; in panfrost_gpu_init_quirks() 113 quirks |= SC_LS_ALLOW_ATTR_TYPES; in panfrost_gpu_init_quirks() 117 quirks |= SC_VAR_ALGORITHM; in panfrost_gpu_init_quirks() 120 quirks |= SC_TLS_HASH_ENABLE; in panfrost_gpu_init_quirks() 122 if (quirks) in panfrost_gpu_init_quirks() 123 gpu_write(pfdev, GPU_SHADER_CONFIG, quirks); in panfrost_gpu_init_quirks() [all …]
|
| /kernel/linux/linux-6.6/lib/ |
| D | packing.c | 58 * @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()
|
| /kernel/linux/linux-6.6/Documentation/nvme/ |
| 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.
|
| /kernel/linux/linux-5.10/lib/ |
| D | packing.c | 70 * @startbit: The index (in logical notation, compensated for quirks) where 73 * @endbit: The index (in logical notation, compensated for quirks) where 81 * @quirks: A bit mask of QUIRK_LITTLE_ENDIAN, QUIRK_LSW32_IS_FIRST and 90 enum packing_op op, u8 quirks) in packing() argument 126 * no quirks, u8 by u8 (aligned at u8 boundaries), from high to low in packing() 166 * adjusted for quirks. The adjusted box_addr will be used for in packing() 171 if (quirks & QUIRK_LITTLE_ENDIAN) in packing() 173 if (quirks & QUIRK_LSW32_IS_FIRST) in packing() 182 if (quirks & QUIRK_MSB_ON_THE_RIGHT) in packing() 198 if (quirks & QUIRK_MSB_ON_THE_RIGHT) in packing()
|
| /kernel/linux/linux-6.6/drivers/platform/x86/ |
| 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()
|