Home
last modified time | relevance | path

Searched full:hpd (Results 1 – 25 of 459) sorted by relevance

12345678910>>...19

/linux-6.14.4/drivers/gpu/drm/amd/display/dc/link/protocols/
Dlink_hpd.c28 * This file implements functions that manage basic HPD components such as gpio.
29 * It also provides wrapper functions to execute HPD related programming. This
30 * file only manages basic HPD functionality. It doesn't manage detection or
31 * feature or signal specific HPD behaviors.
65 struct gpio *hpd; in link_enable_hpd_filter() local
72 /* Obtain HPD handle */ in link_enable_hpd_filter()
73 hpd = link_get_hpd_gpio(link->ctx->dc_bios, link->link_id, link->ctx->gpio_service); in link_enable_hpd_filter()
75 if (!hpd) in link_enable_hpd_filter()
78 /* Setup HPD filtering */ in link_enable_hpd_filter()
79 if (dal_gpio_open(hpd, GPIO_MODE_INTERRUPT) == GPIO_RESULT_OK) { in link_enable_hpd_filter()
[all …]
/linux-6.14.4/drivers/gpu/drm/nouveau/nvkm/engine/disp/
Dconn.c46 static const u8 hpd[] = { 0x07, 0x08, 0x51, 0x52, 0x5e, 0x5f, 0x60 }; in nvkm_conn_ctor() local
54 conn->info.hpd = DCB_GPIO_UNUSED; in nvkm_conn_ctor()
56 CONN_DBG(conn, "type %02x loc %d hpd %02x dp %x di %x sr %x lcdid %x", in nvkm_conn_ctor()
57 info->type, info->location, info->hpd, info->dp, in nvkm_conn_ctor()
60 if ((info->hpd = ffs(info->hpd))) { in nvkm_conn_ctor()
61 if (--info->hpd >= ARRAY_SIZE(hpd)) { in nvkm_conn_ctor()
62 CONN_ERR(conn, "hpd %02x unknown", info->hpd); in nvkm_conn_ctor()
65 info->hpd = hpd[info->hpd]; in nvkm_conn_ctor()
67 ret = nvkm_gpio_find(gpio, 0, info->hpd, DCB_GPIO_UNUSED, &func); in nvkm_conn_ctor()
69 CONN_ERR(conn, "func %02x lookup failed, %d", info->hpd, ret); in nvkm_conn_ctor()
[all …]
/linux-6.14.4/drivers/gpu/drm/mediatek/
Dmtk_cec.c56 bool hpd; member
57 void (*hpd_event)(bool hpd, struct device *dev);
94 void (*hpd_event)(bool hpd, struct device *dev), in mtk_cec_set_hpd_event() argument
151 static void mtk_cec_hpd_event(struct mtk_cec *cec, bool hpd) in mtk_cec_hpd_event() argument
153 void (*hpd_event)(bool hpd, struct device *dev); in mtk_cec_hpd_event()
163 hpd_event(hpd, hdmi_dev); in mtk_cec_hpd_event()
170 bool hpd; in mtk_cec_htplg_isr_thread() local
173 hpd = mtk_cec_hpd_high(dev); in mtk_cec_htplg_isr_thread()
175 if (cec->hpd != hpd) { in mtk_cec_htplg_isr_thread()
176 dev_dbg(dev, "hotplug event! cur hpd = %d, hpd = %d\n", in mtk_cec_htplg_isr_thread()
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/display/panel/
Dpanel-edp.yaml56 HPD :<T3>| : : |
91 hpd-reliable-delay-ms:
94 panel's power-supply before the HPD signal is a reliable way to know
96 the HPD at the start of power-on. This value is not needed if HPD is
99 hpd-absent-delay-ms:
101 The panel specifies that HPD will be asserted this many milliseconds
103 measure HPD then a fixed delay of this many milliseconds can be used.
104 This can also be used as a timeout when waiting for HPD. Does not
105 include the hpd-reliable-delay, so if hpd-reliable-delay was 80 ms
106 and hpd-absent-delay was 200 ms then we'd do a fixed 80 ms delay and
[all …]
/linux-6.14.4/drivers/gpu/drm/radeon/
Dradeon_combios.c617 i2c.hpd = RADEON_HPD_NONE; in combios_setup_i2c_bus()
1440 struct radeon_hpd hpd; in radeon_get_legacy_connector_info_from_table() local
1527 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table()
1538 &hpd); in radeon_get_legacy_connector_info_from_table()
1542 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table()
1553 &hpd); in radeon_get_legacy_connector_info_from_table()
1557 hpd.hpd = RADEON_HPD_NONE; in radeon_get_legacy_connector_info_from_table()
1568 &hpd); in radeon_get_legacy_connector_info_from_table()
1572 hpd.hpd = RADEON_HPD_1; in radeon_get_legacy_connector_info_from_table()
1589 &hpd); in radeon_get_legacy_connector_info_from_table()
[all …]
Dradeon_connectors.c46 /* bail if the connector does not have hpd pin, e.g., in radeon_connector_hotplug()
49 if (radeon_connector->hpd.hpd == RADEON_HPD_NONE) in radeon_connector_hotplug()
52 radeon_hpd_set_polarity(rdev, radeon_connector->hpd.hpd); in radeon_connector_hotplug()
74 radeon_hpd_sense(rdev, radeon_connector->hpd.hpd) && in radeon_connector_hotplug()
1187 /* We only trust HPD on R600 and newer ASICS. */ in radeon_check_hpd_status_unchanged()
1189 && radeon_connector->hpd.hpd != RADEON_HPD_NONE) { in radeon_check_hpd_status_unchanged()
1190 if (radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) in radeon_check_hpd_status_unchanged()
1247 * for HPD do. If the DDC probe fails even though we had an HPD in radeon_dvi_detect()
1251 DRM_DEBUG_KMS("hpd detected without ddc, retrying in 1 second\n"); in radeon_dvi_detect()
1308 /* hpd is our only option in this case */ in radeon_dvi_detect()
[all …]
Drs600.c358 /* hpd for digital panel detect/disconnect */
359 bool rs600_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd) in rs600_hpd_sense() argument
364 switch (hpd) { in rs600_hpd_sense()
382 enum radeon_hpd_id hpd) in rs600_hpd_set_polarity() argument
385 bool connected = rs600_hpd_sense(rdev, hpd); in rs600_hpd_set_polarity()
387 switch (hpd) { in rs600_hpd_set_polarity()
417 switch (radeon_connector->hpd.hpd) { in rs600_hpd_init()
429 if (radeon_connector->hpd.hpd != RADEON_HPD_NONE) in rs600_hpd_init()
430 enable |= 1 << radeon_connector->hpd.hpd; in rs600_hpd_init()
431 radeon_hpd_set_polarity(rdev, radeon_connector->hpd.hpd); in rs600_hpd_init()
[all …]
/linux-6.14.4/drivers/gpu/drm/amd/display/dc/gpio/
Dhw_hpd.c38 hpd->shifts->field_name, hpd->masks->field_name
41 hpd->base.base.ctx
43 (hpd->regs->reg)
56 struct hw_hpd *hpd = HW_HPD_FROM_BASE(*ptr); in dal_hw_hpd_destroy() local
58 dal_hw_hpd_destruct(hpd); in dal_hw_hpd_destroy()
60 kfree(hpd); in dal_hw_hpd_destroy()
69 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in get_value() local
92 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in set_config() local
98 DC_HPD_CONNECT_INT_DELAY, config_data->config.hpd.delay_on_connect / 10, in set_config()
99 DC_HPD_DISCONNECT_INT_DELAY, config_data->config.hpd.delay_on_disconnect / 10); in set_config()
/linux-6.14.4/drivers/gpu/drm/i915/display/
Dintel_hotplug_irq.c136 struct intel_hotplug *hpd = &dev_priv->display.hotplug; in intel_hpd_init_pins() local
141 hpd->hpd = hpd_status_g4x; in intel_hpd_init_pins()
143 hpd->hpd = hpd_status_i915; in intel_hpd_init_pins()
148 hpd->hpd = hpd_xelpdp; in intel_hpd_init_pins()
150 hpd->hpd = hpd_gen11; in intel_hpd_init_pins()
152 hpd->hpd = hpd_bxt; in intel_hpd_init_pins()
154 hpd->hpd = NULL; /* no north HPD on SKL */ in intel_hpd_init_pins()
156 hpd->hpd = hpd_bdw; in intel_hpd_init_pins()
158 hpd->hpd = hpd_ivb; in intel_hpd_init_pins()
160 hpd->hpd = hpd_ilk; in intel_hpd_init_pins()
[all …]
Dintel_hotplug.c47 * handlers gather the hotplug detect (HPD) information from relevant registers
76 * callback is handled by i915_digport_work_func reenabling of hpd is not
86 * @port: the hpd port to get associated pin
120 * intel_hpd_irq_storm_detect - gather stats and detect HPD IRQ storm on a pin
123 * @long_hpd: whether the HPD IRQ was long or short
125 * Gather stats about HPD IRQs from the specified @pin, and detect IRQ
143 * The HPD threshold can be controlled through i915_hpd_storm_ctl in debugfs,
151 struct intel_hotplug *hpd = &dev_priv->display.hotplug; in intel_hpd_irq_storm_detect() local
152 unsigned long start = hpd->stats[pin].last_jiffies; in intel_hpd_irq_storm_detect()
155 const int threshold = hpd->hpd_storm_threshold; in intel_hpd_irq_storm_detect()
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/media/cec/
Dcec-gpio.yaml14 hooked up to a pull-up GPIO line and - optionally - the HPD line is hooked up
17 Please note:: the maximum voltage for the CEC line is 3.63V, for the HPD and
31 hpd-gpios:
34 GPIO that the HPD line is connected to. Used for debugging HPD changes
54 hpd-gpios: false
58 - hpd-gpios
72 hpd-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
Dcec-common.yaml21 needs-hpd:
24 The CEC support is only available when the HPD is high. Some boards only
25 let the CEC pin through if the HPD is high, for example if there is a
26 level converter that uses the HPD to power up or down.
/linux-6.14.4/drivers/gpu/drm/msm/hdmi/
Dhdmi_hpd.c83 "failed to enable hpd clk: %s (%d)\n", in enable_hpd_clocks()
105 DRM_DEV_ERROR(dev, "failed to enable hpd regulators: %d\n", ret); in msm_hdmi_hpd_enable()
127 /* enable HPD events: */ in msm_hdmi_hpd_enable()
137 /* Toggle HPD circuit to trigger HPD sense */ in msm_hdmi_hpd_enable()
156 /* Disable HPD interrupt */ in msm_hdmi_hpd_disable()
170 dev_warn(dev, "failed to disable hpd regulator: %d\n", ret); in msm_hdmi_hpd_disable()
179 /* Process HPD: */ in msm_hdmi_hpd_irq()
187 /* ack & disable (temporarily) HPD events: */ in msm_hdmi_hpd_irq()
236 * some platforms may not have hpd gpio. Rely only on the status in msm_hdmi_bridge_detect()
258 DBG("hpd gpio tells us: %d", stat_gpio); in msm_hdmi_bridge_detect()
/linux-6.14.4/Documentation/devicetree/bindings/display/bridge/
Danalogix,dp.yaml28 force-hpd:
31 Indicate driver need force hpd when hpd detect failed, this
32 is used for some eDP screen which don not have a hpd signal.
34 hpd-gpios:
/linux-6.14.4/drivers/usb/typec/altmodes/
Ddisplayport.c66 bool hpd; member
153 bool hpd = !!(dp->data.status & DP_STATUS_HPD_STATE); in dp_altmode_status_update() local
169 if (dp->hpd != hpd) { in dp_altmode_status_update()
170 dp->hpd = hpd; in dp_altmode_status_update()
176 hpd ? connector_status_connected : in dp_altmode_status_update()
178 dp->hpd = hpd; in dp_altmode_status_update()
179 sysfs_notify(&dp->alt->dev.kobj, "displayport", "hpd"); in dp_altmode_status_update()
190 * If the DFP_D/UFP_D sends a change in HPD when first notifying the in dp_altmode_configured()
192 * configuration is complete to signal HPD. in dp_altmode_configured()
197 sysfs_notify(&dp->alt->dev.kobj, "displayport", "hpd"); in dp_altmode_configured()
[all …]
/linux-6.14.4/Documentation/ABI/testing/
Dsysfs-driver-typec-displayport51 What: /sys/bus/typec/devices/.../displayport/hpd
56 HotPlugDetect(HPD) shall be supported on the USB-C connector when
58 reflects the current state of HPD.
61 - 1: when HPD’s logical state is high (HPD_High) as defined
63 - 0 when HPD’s logical state is low (HPD_Low) as defined by
/linux-6.14.4/drivers/gpu/drm/amd/amdgpu/
Ddce_v11_0.c55 static void dce_v11_0_hpd_int_ack(struct amdgpu_device *adev, int hpd);
94 uint32_t hpd; member
100 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK
105 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK
110 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK
115 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK
120 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK
125 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK
296 * dce_v11_0_hpd_sense - hpd sense callback.
299 * @hpd: hpd (hotplug detect) pin
[all …]
Ddce_v10_0.c55 static void dce_v10_0_hpd_int_ack(struct amdgpu_device *adev, int hpd);
90 uint32_t hpd; member
96 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK
101 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK
106 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK
111 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK
116 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK
121 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK
272 * dce_v10_0_hpd_sense - hpd sense callback.
275 * @hpd: hpd (hotplug detect) pin
[all …]
Ddce_v6_0.c94 uint32_t hpd; member
100 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK
105 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK
110 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK
115 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK
120 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK
125 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK
229 * dce_v6_0_hpd_sense - hpd sense callback.
232 * @hpd: hpd (hotplug detect) pin
238 enum amdgpu_hpd_id hpd) in dce_v6_0_hpd_sense() argument
[all …]
Ddce_v8_0.c89 uint32_t hpd; member
95 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK
100 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK
105 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK
110 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK
115 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK
120 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK
220 * dce_v8_0_hpd_sense - hpd sense callback.
223 * @hpd: hpd (hotplug detect) pin
229 enum amdgpu_hpd_id hpd) in dce_v8_0_hpd_sense() argument
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/display/ti/
Dti,tpd12s015.txt8 - gpios: CT CP HPD, LS OE and HPD gpios
20 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
22 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
/linux-6.14.4/include/linux/
Damd-pmf-io.h31 * @SFH_NOT_DETECTED: Check the HPD connection information from MP2 FW
32 * @SFH_USER_PRESENT: Check if the user is present from HPD sensor
33 * @SFH_USER_AWAY: Check if the user is away from HPD sensor
42 * struct amd_sfh_info - get HPD sensor info from MP2 FW
/linux-6.14.4/Documentation/userspace-api/media/cec/
Dcec-ioc-dqevent.rst167 * .. _`CEC-EVENT-PIN-HPD-LOW`:
171 - Generated if the HPD pin goes from a high voltage to a low voltage.
173 capability set. When open() is called, the HPD pin can be read and
174 if the HPD is low, then an initial event will be generated for that
176 * .. _`CEC-EVENT-PIN-HPD-HIGH`:
180 - Generated if the HPD pin goes from a low voltage to a high voltage.
182 capability set. When open() is called, the HPD pin can be read and
183 if the HPD is high, then an initial event will be generated for that
/linux-6.14.4/drivers/gpu/drm/amd/display/dc/gpio/dce120/
Dhw_factory_dce120.c42 #define block HPD
156 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
158 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
159 hpd->shifts = &hpd_shift; in define_hpd_registers()
160 hpd->masks = &hpd_mask; in define_hpd_registers()
161 hpd->base.regs = &hpd_regs[en].gpio; in define_hpd_registers()
/linux-6.14.4/Documentation/devicetree/bindings/display/samsung/
Dsamsung,exynos-hdmi.yaml40 HPD (hot plug detect) line, what causes HDMI block to stay turned off.
41 When provided, the regulator allows TV-set correctly signal HPD event.
43 hpd-gpios:
46 A GPIO line connected to HPD
96 - hpd-gpios
203 hpd-gpios = <&gpa3 0 GPIO_ACTIVE_HIGH>;

12345678910>>...19