/linux-6.14.4/drivers/irqchip/ |
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-6.14.4/drivers/usb/host/ |
D | xhci-pci.c | 143 if (xhci->quirks & XHCI_BROKEN_MSI) in xhci_try_enable_msi() 229 * TODO: see if there are any quirks that need to be added to handle in xhci_pci_reinit() 245 /* Look for vendor-specific quirks */ in xhci_pci_quirks() 251 xhci->quirks |= XHCI_RESET_EP_QUIRK; in xhci_pci_quirks() 257 xhci->quirks |= XHCI_SLOW_SUSPEND; in xhci_pci_quirks() 264 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks() 269 xhci->quirks |= XHCI_BROKEN_MSI; in xhci_pci_quirks() 278 xhci->quirks |= XHCI_BROKEN_STREAMS; in xhci_pci_quirks() 281 xhci->quirks |= XHCI_NEC_HOST; in xhci_pci_quirks() 284 xhci->quirks |= XHCI_AMD_0x96_HOST; in xhci_pci_quirks() [all …]
|
D | xhci-plat.c | 81 xhci->quirks |= priv->quirks; in xhci_plat_quirks() 113 .quirks = XHCI_RESET_ON_RESUME | XHCI_SUSPEND_RESUME_CLKS, 244 /* Iterate over all parent nodes for finding quirks */ in xhci_plat_probe() 248 xhci->quirks |= XHCI_HW_LPM_DISABLE; in xhci_plat_probe() 251 xhci->quirks |= XHCI_LPM_SUPPORT; in xhci_plat_probe() 254 xhci->quirks |= XHCI_BROKEN_PORT_PED; in xhci_plat_probe() 257 xhci->quirks |= XHCI_SG_TRB_CACHE_SIZE_QUIRK; in xhci_plat_probe() 260 xhci->quirks |= XHCI_WRITE_64_HI_LO; in xhci_plat_probe() 263 xhci->quirks |= XHCI_MISSING_CAS; in xhci_plat_probe() 266 xhci->quirks |= XHCI_SKIP_PHY_INIT; in xhci_plat_probe() [all …]
|
/linux-6.14.4/lib/ |
D | packing.c | 13 #define __pack_fields(pbuf, pbuflen, ustruct, fields, num_fields, quirks) \ argument 22 pbuflen, quirks); \ 26 #define __unpack_fields(pbuf, pbuflen, ustruct, fields, num_fields, quirks) \ argument 33 pbuflen, quirks); \ 43 * @quirks: mask of QUIRK_LSW32_IS_FIRST and QUIRK_LITTLE_ENDIAN 61 static size_t calculate_box_addr(size_t box, size_t len, u8 quirks) in calculate_box_addr() argument 66 if (quirks & QUIRK_LSW32_IS_FIRST) in calculate_box_addr() 73 if (quirks & QUIRK_LITTLE_ENDIAN) in calculate_box_addr() 82 size_t pbuflen, u8 quirks) in __pack() argument 101 * no quirks, u8 by u8 (aligned at u8 boundaries), from high to low in __pack() [all …]
|
D | packing_test.c | 15 u8 quirks; member 38 .desc = "no quirks, 16 bytes", 44 .quirks = NO_QUIRKS, 53 .quirks = QUIRK_LSW32_IS_FIRST, 62 .quirks = QUIRK_LITTLE_ENDIAN, 71 .quirks = QUIRK_LSW32_IS_FIRST | QUIRK_LITTLE_ENDIAN, 80 .quirks = QUIRK_MSB_ON_THE_RIGHT, 89 .quirks = QUIRK_MSB_ON_THE_RIGHT | QUIRK_LSW32_IS_FIRST, 98 .quirks = QUIRK_MSB_ON_THE_RIGHT | QUIRK_LITTLE_ENDIAN, 107 .quirks = QUIRK_MSB_ON_THE_RIGHT | QUIRK_LSW32_IS_FIRST | QUIRK_LITTLE_ENDIAN, [all …]
|
/linux-6.14.4/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 | 79 u32 quirks; /* quirks needed for different IP cores */ member 129 const u32 quirks = priv->devtype_data.quirks; in flexcan_supports_rx_mailbox() local 131 return quirks & FLEXCAN_QUIRK_SUPPORT_RX_MAILBOX; in flexcan_supports_rx_mailbox() 137 const u32 quirks = priv->devtype_data.quirks; in flexcan_supports_rx_mailbox_rtr() local 139 return (quirks & (FLEXCAN_QUIRK_SUPPORT_RX_MAILBOX | in flexcan_supports_rx_mailbox_rtr() 148 const u32 quirks = priv->devtype_data.quirks; in flexcan_supports_rx_fifo() local 150 return quirks & FLEXCAN_QUIRK_SUPPORT_RX_FIFO; in flexcan_supports_rx_fifo() 156 const u32 quirks = priv->devtype_data.quirks; in flexcan_active_rx_rtr() local 158 if (quirks & FLEXCAN_QUIRK_USE_RX_MAILBOX) { in flexcan_active_rx_rtr() 159 if (quirks & FLEXCAN_QUIRK_SUPPORT_RX_MAILBOX_RTR) in flexcan_active_rx_rtr()
|
/linux-6.14.4/drivers/hid/ |
D | hid-multitouch.c | 52 /* quirks to control the device */ 121 __s32 quirks; member 150 __s32 quirks; member 253 .quirks = MT_QUIRK_ALWAYS_VALID | 256 .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP }, 258 .quirks = MT_QUIRK_ALWAYS_VALID}, 260 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE }, 262 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE | 265 .quirks = MT_QUIRK_VALID_IS_CONFIDENCE | 268 .quirks = MT_QUIRK_VALID_IS_INRANGE | [all …]
|
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-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()
|
D | hid-sony.c | 490 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 …]
|
D | hid-asus.c | 117 unsigned long quirks; member 335 if (drvdata->quirks & QUIRK_MEDION_E1239T) in asus_raw_event() 344 if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD) { in asus_raw_event() 354 if (drvdata->quirks & QUIRK_ROG_CLAYMORE_II_KEYBOARD) { in asus_raw_event() 522 if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD && in asus_kbd_wmi_led_control_present() 543 if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD) { in asus_kbd_register_leds() 768 if (drvdata->quirks & QUIRK_T100CHI && in asus_input_configured() 773 if (drvdata->tp && (drvdata->quirks & QUIRK_MEDION_E1239T)) { in asus_input_configured() 837 if (drvdata->quirks & QUIRK_SKIP_INPUT_MAPPING) { in asus_input_mapping() 849 if ((drvdata->quirks & (QUIRK_T100CHI | QUIRK_T90CHI)) && in asus_input_mapping() [all …]
|
/linux-6.14.4/drivers/mmc/core/ |
D | card.h | 173 card->quirks |= data; in add_quirk() 178 card->quirks &= ~data; in remove_quirk() 197 card->quirks |= MMC_QUIRK_NONSTD_SDIO; in wl1251_quirk() 211 card->quirks |= data; in add_quirk_mmc() 218 card->quirks &= ~data; in remove_quirk_mmc() 227 card->quirks |= data; in add_quirk_sd() 234 card->quirks &= ~data; in remove_quirk_sd() 239 return c->quirks & MMC_QUIRK_LENIENT_FN0; in mmc_card_lenient_fn0() 244 return c->quirks & MMC_QUIRK_BLKSZ_FOR_BYTE_MODE; in mmc_blksz_for_byte_mode() 249 return c->quirks & MMC_QUIRK_DISABLE_CD; in mmc_card_disable_cd() [all …]
|
/linux-6.14.4/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. 672 u32 quirks = 0; in usb_detect_static_quirks() local [all …]
|
/linux-6.14.4/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.
|
/linux-6.14.4/drivers/gpu/drm/panfrost/ |
D | panfrost_gpu.c | 117 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.14.4/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()
|
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-6.14.4/drivers/watchdog/ |
D | s3c2410_wdt.c | 128 /* These quirks require that we have a PMU register map */ 167 * @quirks: A bitfield of quirks. 179 u32 quirks; member 198 .quirks = 0 203 .quirks = QUIRK_HAS_WTCLRINT_REG, 212 .quirks = QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_PMU_MASK_RESET | \ 222 .quirks = QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_PMU_MASK_RESET | \ 232 .quirks = QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_PMU_MASK_RESET | \ 244 .quirks = QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_PMU_MASK_RESET | \ 256 .quirks = QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_PMU_MASK_RESET | \ [all …]
|
/linux-6.14.4/drivers/gpu/drm/msm/adreno/ |
D | a5xx_catalog.c | 22 .quirks = ADRENO_QUIRK_TWO_PASS_USE_WFI | 39 .quirks = ADRENO_QUIRK_TWO_PASS_USE_WFI | 57 .quirks = ADRENO_QUIRK_LMLOADKILL_DISABLE, 74 .quirks = ADRENO_QUIRK_LMLOADKILL_DISABLE, 107 .quirks = ADRENO_QUIRK_LMLOADKILL_DISABLE, 128 .quirks = ADRENO_QUIRK_TWO_PASS_USE_WFI | 147 .quirks = ADRENO_QUIRK_LMLOADKILL_DISABLE,
|
/linux-6.14.4/arch/arm/mach-davinci/ |
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-6.14.4/drivers/gpu/drm/imagination/ |
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-6.14.4/drivers/perf/ |
D | fsl_imx8_ddr_perf.c | 65 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.14.4/drivers/mmc/host/ |
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()
|