| /kernel/linux/linux-6.6/drivers/usb/typec/ |
| D | retimer.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * USB Type-C Retimer support. 18 #include "retimer.h" 35 return dev ? to_typec_retimer(dev) : ERR_PTR(-EPROBE_DEFER); in typec_retimer_match() 39 * fwnode_typec_retimer_get - Find USB Type-C retimer. 42 * Finds a retimer linked to the caller. This function is primarily meant for the 43 * Type-C drivers. Returns a reference to the retimer on success, NULL if no 44 * matching connection was found, or ERR_PTR(-EPROBE_DEFER) when a connection 45 * was found but the retimer has not been enumerated yet. 49 struct typec_retimer *retimer; in fwnode_typec_retimer_get() local [all …]
|
| D | class.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * USB Type-C Connector Class 27 /* ------------------------------------------------------------------------- */ 64 return partner->identity; in get_pd_identity() 68 return cable->identity; in get_pd_identity() 75 struct typec_port *port = to_typec_port(dev->parent); in get_pd_product_type() 83 if (port->data_role == TYPEC_HOST) in get_pd_product_type() 84 ptype = product_type_ufp[PD_IDH_PTYPE(id->id_header)]; in get_pd_product_type() 86 ptype = product_type_dfp[PD_IDH_DFP_PTYPE(id->id_header)]; in get_pd_product_type() 89 ptype = product_type_cable[PD_IDH_PTYPE(id->id_header)]; in get_pd_product_type() [all …]
|
| /kernel/linux/linux-6.6/drivers/platform/chrome/ |
| D | cros_typec_switch.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * This driver provides the ability to configure Type-C muxes and retimers which are controlled by 25 struct typec_retimer *retimer; member 29 /* Driver-specific data. */ 48 return cros_ec_cmd(sdata->ec, 0, EC_CMD_TYPEC_CONTROL, &req, sizeof(req), NULL, 0); in cros_typec_cmd_mux_set() 53 int ret = -EOPNOTSUPP; in cros_typec_get_mux_state() 60 } else if (alt && alt->svid == USB_TYPEC_DP_SID) { in cros_typec_get_mux_state() 62 pin_assign = mode - TYPEC_STATE_MODAL; in cros_typec_get_mux_state() 79 return cros_ec_cmd(sdata->ec, 0, EC_CMD_TYPEC_CONTROL, &req, sizeof(req), NULL, 0); in cros_typec_send_clear_event() 90 ret = cros_ec_cmd(sdata->ec, 0, EC_CMD_TYPEC_STATUS, &req, sizeof(req), in cros_typec_check_event() [all …]
|
| D | cros_ec_typec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 22 #define DRV_NAME "cros-ec-typec" 35 ret = fwnode_property_read_string(fwnode, "power-role", &buf); in cros_typec_parse_port_props() 37 dev_err(dev, "power-role not found: %d\n", ret); in cros_typec_parse_port_props() 44 cap->type = ret; in cros_typec_parse_port_props() 46 ret = fwnode_property_read_string(fwnode, "data-role", &buf); in cros_typec_parse_port_props() 48 dev_err(dev, "data-role not found: %d\n", ret); in cros_typec_parse_port_props() 55 cap->data = ret; in cros_typec_parse_port_props() 57 /* Try-power-role is optional. */ in cros_typec_parse_port_props() 58 ret = fwnode_property_read_string(fwnode, "try-power-role", &buf); in cros_typec_parse_port_props() [all …]
|
| D | cros_ec_typec.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 30 /* Platform-specific data for the Chrome OS EC Type C controller. */ 60 struct typec_retimer *retimer; member 63 /* Variables keeping track of switch state. */ 77 /* PDO-related structs */
|
| /kernel/linux/linux-6.6/drivers/usb/typec/mux/ |
| D | nb7vpq904m.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * OnSemi NB7VPQ904M Type-C driver 68 struct typec_retimer *retimer; member 75 struct mutex lock; /* protect non-concurrent retimer & switch */ 98 regmap_update_bits(nb7->regmap, EQ_SETTING_REG(channel), in nb7vpq904m_set_channel() 100 regmap_update_bits(nb7->regmap, OUTPUT_COMPRESSION_AND_POL_REG(channel), in nb7vpq904m_set_channel() 102 regmap_update_bits(nb7->regmap, FLAT_GAIN_REG(channel), in nb7vpq904m_set_channel() 104 regmap_update_bits(nb7->regmap, LOSS_MATCH_REG(channel), in nb7vpq904m_set_channel() 110 bool reverse = (nb7->orientation == TYPEC_ORIENTATION_REVERSE); in nb7vpq904m_set() 112 switch (nb7->mode) { in nb7vpq904m_set() [all …]
|
| /kernel/linux/linux-5.10/drivers/thunderbolt/ |
| D | usb4.c | 1 // SPDX-License-Identifier: GPL-2.0 74 return -ETIMEDOUT; in usb4_switch_wait_for_bit() 81 return -EINVAL; in usb4_switch_op_read_data() 90 return -EINVAL; in usb4_switch_op_write_data() 125 if (ret != -ENODEV && retries--) in usb4_do_read_data() 130 nbytes -= offset; in usb4_do_read_data() 133 size -= nbytes; in usb4_do_read_data() 159 if (ret == -ETIMEDOUT) { in usb4_do_write_data() 160 if (retries--) in usb4_do_write_data() 162 ret = -EIO; in usb4_do_write_data() [all …]
|
| D | tb.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Thunderbolt driver - bus logic (NHI independent) 12 #include <linux/nvmem-provider.h> 30 * struct tb_nvm - Structure holding NVM information 36 * @non_active: Non-active portion NVMem device 65 * enum tb_switch_tmu_rate - TMU refresh rate 81 * struct tb_switch_tmu - Structure holding switch TMU configuration 83 * @has_ucap: Does the switch support uni-directional mode 84 * @rate: TMU refresh rate related to upstream switch. In case of root 85 * switch this holds the domain rate. [all …]
|
| D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0-only 2 obj-${CONFIG_USB4} := thunderbolt.o 3 thunderbolt-objs := nhi.o nhi_ops.o ctl.o tb.o switch.o cap.o path.o tunnel.o eeprom.o 4 thunderbolt-objs += domain.o dma_port.o icm.o property.o xdomain.o lc.o tmu.o usb4.o 5 thunderbolt-objs += nvm.o retimer.o quirks.o 7 thunderbolt-${CONFIG_ACPI} += acpi.o 8 thunderbolt-$(CONFIG_DEBUG_FS) += debugfs.o 9 thunderbolt-${CONFIG_USB4_KUNIT_TEST} += test.o
|
| /kernel/linux/linux-6.6/drivers/thunderbolt/ |
| D | usb4.c | 1 // SPDX-License-Identifier: GPL-2.0 89 return -EOPNOTSUPP; in usb4_native_switch_op() 114 const struct tb_cm_ops *cm_ops = sw->tb->cm_ops; in __usb4_switch_op() 117 return -EINVAL; in __usb4_switch_op() 124 if (cm_ops->usb4_switch_op) { in __usb4_switch_op() 127 ret = cm_ops->usb4_switch_op(sw, opcode, metadata, status, in __usb4_switch_op() 130 if (ret != -EOPNOTSUPP) in __usb4_switch_op() 159 * usb4_switch_check_wakes() - Check for wakes and notify PM core about them 188 if (!port->cap_usb4) in usb4_switch_check_wakes() 192 port->cap_usb4 + PORT_CS_18, 1)) in usb4_switch_check_wakes() [all …]
|
| D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0-only 2 obj-${CONFIG_USB4} := thunderbolt.o 3 thunderbolt-objs := nhi.o nhi_ops.o ctl.o tb.o switch.o cap.o path.o tunnel.o eeprom.o 4 thunderbolt-objs += domain.o dma_port.o icm.o property.o xdomain.o lc.o tmu.o usb4.o 5 thunderbolt-objs += usb4_port.o nvm.o retimer.o quirks.o clx.o 7 thunderbolt-${CONFIG_ACPI} += acpi.o 8 thunderbolt-$(CONFIG_DEBUG_FS) += debugfs.o 9 thunderbolt-${CONFIG_USB4_KUNIT_TEST} += test.o 12 thunderbolt_dma_test-${CONFIG_USB4_DMA_TEST} += dma_test.o 13 obj-$(CONFIG_USB4_DMA_TEST) += thunderbolt_dma_test.o
|
| D | tb.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Thunderbolt driver - bus logic (NHI independent) 12 #include <linux/nvmem-provider.h> 30 * struct tb_nvm - Structure holding NVM information 37 * @non_active: Non-active portion NVMem device 78 * enum tb_switch_tmu_mode - TMU mode 80 * @TB_SWITCH_TMU_MODE_LOWRES: Uni-directional, normal mode 81 * @TB_SWITCH_TMU_MODE_HIFI_UNI: Uni-directional, HiFi mode 82 * @TB_SWITCH_TMU_MODE_HIFI_BI: Bi-directional, HiFi mode 83 * @TB_SWITCH_TMU_MODE_MEDRES_ENHANCED_UNI: Enhanced Uni-directional, MedRes mode [all …]
|
| D | nvm.c | 1 // SPDX-License-Identifier: GPL-2.0 32 * struct tb_nvm_vendor_ops - Vendor specific NVM operations 44 * struct tb_nvm_vendor - Vendor to &struct tb_nvm_vendor_ops mapping 58 struct tb_switch *sw = tb_to_switch(nvm->dev); in intel_switch_nvm_version() 63 * If the switch is in safe-mode the only accessible portion of in intel_switch_nvm_version() 64 * the NVM is the non-active one where userspace is expected to in intel_switch_nvm_version() 67 if (sw->safe_mode) in intel_switch_nvm_version() 74 hdr_size = sw->generation < 3 ? SZ_8K : SZ_16K; in intel_switch_nvm_version() 76 nvm_size = (nvm_size - hdr_size) / 2; in intel_switch_nvm_version() 82 nvm->major = (val >> 16) & 0xff; in intel_switch_nvm_version() [all …]
|
| /kernel/linux/linux-5.10/drivers/hwmon/ |
| D | intel-m10-bmc-hwmon.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2018-2020 Intel Corporation. All rights reserved. 10 #include <linux/mfd/intel-m10-bmc.h> 43 { 0x168, 0x0, 0x0, 0x0, 0x0, 500, "Retimer A Temperature" }, 44 { 0x16c, 0x0, 0x0, 0x0, 0x0, 500, "Retimer A SerDes Temperature" }, 45 { 0x170, 0x0, 0x0, 0x0, 0x0, 500, "Retimer B Temperature" }, 46 { 0x174, 0x0, 0x0, 0x0, 0x0, 500, "Retimer B SerDes Temperature" }, 126 tbl = hw->bdata->tables[type]; in find_sensor_data() 128 return ERR_PTR(-EOPNOTSUPP); in find_sensor_data() 140 ret = m10bmc_sys_read(hw->m10bmc, regoff, ®val); in do_sensor_read() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/usb/ |
| D | onnn,nb7vpq904m.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ON Semiconductor Type-C DisplayPort ALT Mode Linear Redriver 10 - Neil Armstrong <neil.armstrong@linaro.org> 15 - onnn,nb7vpq904m 20 vcc-supply: 23 enable-gpios: true 25 retimer-switch: 29 orientation-switch: [all …]
|
| /kernel/linux/linux-6.6/drivers/soc/qcom/ |
| D | pmic_glink_altmode.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved. 117 mutex_lock(&altmode->lock); in pmic_glink_altmode_request() 119 req.hdr.owner = cpu_to_le32(altmode->owner_id); in pmic_glink_altmode_request() 125 ret = pmic_glink_send(altmode->client, &req, sizeof(req)); in pmic_glink_altmode_request() 127 dev_err(altmode->dev, "failed to send altmode request: %#x (%d)\n", cmd, ret); in pmic_glink_altmode_request() 131 left = wait_for_completion_timeout(&altmode->pan_ack, 5 * HZ); in pmic_glink_altmode_request() 133 dev_err(altmode->dev, "timeout waiting for altmode request ack for: %#x\n", cmd); in pmic_glink_altmode_request() 134 ret = -ETIMEDOUT; in pmic_glink_altmode_request() 138 mutex_unlock(&altmode->lock); in pmic_glink_altmode_request() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/core/ |
| D | dc_link.c | 2 * Copyright 2012-15 Advanced Micro Devices, Inc. 83 if (link->hpd_gpio) { in dc_link_destruct() 84 dal_gpio_destroy_irq(&link->hpd_gpio); in dc_link_destruct() 85 link->hpd_gpio = NULL; in dc_link_destruct() 88 if (link->ddc) in dc_link_destruct() 89 dal_ddc_service_destroy(&link->ddc); in dc_link_destruct() 91 if (link->panel_cntl) in dc_link_destruct() 92 link->panel_cntl->funcs->destroy(&link->panel_cntl); in dc_link_destruct() 94 if (link->link_enc) in dc_link_destruct() 95 link->link_enc->funcs->destroy(&link->link_enc); in dc_link_destruct() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/link/ |
| D | link_dpms.c | 31 * TODO - The reason link owns stream's dpms programming sequence is 80 for (i = 0; i < dc->link_count; i++) { in link_blank_all_dp_displays() 81 if ((dc->links[i]->connector_signal != SIGNAL_TYPE_DISPLAY_PORT) || in link_blank_all_dp_displays() 82 (dc->links[i]->priv == NULL) || (dc->links[i]->local_sink == NULL)) in link_blank_all_dp_displays() 86 dp_retrieve_lttpr_cap(dc->links[i]); in link_blank_all_dp_displays() 88 status = core_link_read_dpcd(dc->links[i], DP_SET_POWER, in link_blank_all_dp_displays() 92 link_blank_dp_stream(dc->links[i], true); in link_blank_all_dp_displays() 103 for (i = 0; i < dc->link_count; i++) { in link_blank_all_edp_displays() 104 if ((dc->links[i]->connector_signal != SIGNAL_TYPE_EDP) || in link_blank_all_edp_displays() 105 (!dc->links[i]->edp_sink_present)) in link_blank_all_edp_displays() [all …]
|
| /kernel/linux/linux-5.10/drivers/mfd/ |
| D | intel-m10-bmc.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2018-2020 Intel Corporation. All rights reserved. 10 #include <linux/mfd/intel-m10-bmc.h> 21 { .name = "n3000bmc-hwmon" }, 22 { .name = "n3000bmc-retimer" }, 23 { .name = "n3000bmc-secure" }, 88 return -ENODEV; in check_m10bmc_version() 91 dev_err(ddata->dev, "bad version M10BMC detected\n"); in check_m10bmc_version() 92 return -ENODEV; in check_m10bmc_version() 101 struct device *dev = &spi->dev; in intel_m10_bmc_spi_probe() [all …]
|
| /kernel/linux/linux-6.6/drivers/hwmon/ |
| D | intel-m10-bmc-hwmon.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2018-2020 Intel Corporation. All rights reserved. 10 #include <linux/mfd/intel-m10-bmc.h> 43 { 0x168, 0x0, 0x0, 0x0, 0x0, 500, "Retimer A Temperature" }, 44 { 0x16c, 0x0, 0x0, 0x0, 0x0, 500, "Retimer A SerDes Temperature" }, 45 { 0x170, 0x0, 0x0, 0x0, 0x0, 500, "Retimer B Temperature" }, 46 { 0x174, 0x0, 0x0, 0x0, 0x0, 500, "Retimer B SerDes Temperature" }, 243 { 0x1a8, 0x0, 0x0, 0x0, 0x0, 1000, "QSFP28-1 Temperature" }, 244 { 0x1ac, 0x0, 0x0, 0x0, 0x0, 1000, "QSFP28-2 Temperature" }, 245 { 0x1b0, 0x0, 0x0, 0x0, 0x0, 1000, "QSFP28-3 Temperature" }, [all …]
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/qcom/ |
| D | sm8550-qrd.dts | 1 // SPDX-License-Identifier: BSD-3-Clause 6 /dts-v1/; 8 #include <dt-bindings/leds/common.h> 9 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 21 compatible = "qcom,sm8550-qrd", "qcom,sm8550"; 22 chassis-type = "handset"; 28 wcd938x: audio-codec { 29 compatible = "qcom,wcd9385-codec"; 31 pinctrl-names = "default"; 32 pinctrl-0 = <&wcd_default>; [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/sfc/ |
| D | mcdi_pcol.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 4 * Copyright 2009-2018 Solarflare Communications Inc. 5 * Copyright 2019-2020 Xilinx Inc. 13 /* Power-on reset state */ 35 /* The 'doorbell' addresses are hard-wired to alert the MC when written */ 38 /* The rest of these are firmware-defined */ 46 /* Values to be written to the per-port status dword in shared 71 * | | \--- Response 72 * | \------- Error 73 * \------------------------------ Resync (always set) [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/sfc/ |
| D | mcdi_pcol.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 4 * Copyright 2009-2018 Solarflare Communications Inc. 5 * Copyright 2019-2020 Xilinx Inc. 13 /* Power-on reset state */ 35 /* The 'doorbell' addresses are hard-wired to alert the MC when written */ 38 /* The rest of these are firmware-defined */ 46 /* Values to be written to the per-port status dword in shared 71 * | | \--- Response 72 * | \------- Error 73 * \------------------------------ Resync (always set) [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/i915/display/ |
| D | intel_hdmi.c | 3 * Copyright © 2006-2009 Intel Corporation 64 return to_i915(hdmi_to_dig_port(intel_hdmi)->base.base.dev); in intel_hdmi_to_i915() 75 drm_WARN(&dev_priv->drm, in assert_hdmi_port_disabled() 76 intel_de_read(dev_priv, intel_hdmi->hdmi_reg) & enabled_bits, in assert_hdmi_port_disabled() 84 drm_WARN(&dev_priv->drm, in assert_hdmi_transcoder_func_disabled() 92 switch (type) { in g4x_infoframe_index() 109 switch (type) { in g4x_infoframe_enable() 132 switch (type) { in hsw_infoframe_enable() 161 switch (type) { in hsw_dip_data_reg() 185 switch (type) { in hsw_dip_data_size() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/link/protocols/ |
| D | link_dp_capability.c | 55 link->ctx->logger 108 return (link->dpcd_caps.dongle_type >= DISPLAY_DONGLE_DP_VGA_CONVERTER) && in is_dp_active_dongle() 109 (link->dpcd_caps.dongle_type <= DISPLAY_DONGLE_DP_HDMI_CONVERTER); in is_dp_active_dongle() 114 return link->dpcd_caps.is_branch_dev; in is_dp_branch_device() 119 switch (bpc) { in translate_dpcd_max_bpc() 132 return -1; in translate_dpcd_max_bpc() 137 switch (lttpr_repeater_count) { in dp_parse_lttpr_repeater_count() 162 switch (bw) { in link_bw_kbps_from_raw_frl_link_rate_data() 184 switch (link_rate_in_khz) { in linkRateInKHzToLinkRateMultiplier() 186 link_rate = LINK_RATE_LOW; // Rate_1 (RBR) - 1.62 Gbps/Lane in linkRateInKHzToLinkRateMultiplier() [all …]
|