Home
last modified time | relevance | path

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

12345678910>>...12

/linux/drivers/gpu/drm/amd/display/dc/link/protocols/
H A 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/drivers/gpu/drm/nouveau/nvkm/engine/disp/
H A 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/Documentation/devicetree/bindings/display/panel/
H A 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/drivers/gpu/drm/radeon/
H A 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 …]
H A 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/drivers/gpu/drm/amd/display/dc/gpio/
H A 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 dal_hw_hpd_get_value() local
92 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in dal_hw_hpd_set_config() local
98 DC_HPD_CONNECT_INT_DELAY, config_data->config.hpd.delay_on_connect / 10, in dal_hw_hpd_set_config()
99 DC_HPD_DISCONNECT_INT_DELAY, config_data->config.hpd.delay_on_disconnect / 10); in dal_hw_hpd_set_config()
/linux/drivers/usb/typec/altmodes/
H A Ddisplayport.c66 bool hpd; member
70 * hpd is mandatory for irq_hpd assertion, so irq_hpd also needs its own pending flag if
71 * both hpd and irq_hpd are asserted in the first Status Update before the pin assignment
160 bool hpd = !!(dp->data.status & DP_STATUS_HPD_STATE); in dp_altmode_status_update() local
177 if (dp->hpd != hpd) { in dp_altmode_status_update()
178 dp->hpd = hpd; in dp_altmode_status_update()
181 if (dp->hpd && dp->pending_hpd && irq_hpd) in dp_altmode_status_update()
186 hpd ? connector_status_connected : in dp_altmode_status_update()
188 dp->hpd = hpd; in dp_altmode_status_update()
189 sysfs_notify(&dp->alt->dev.kobj, "displayport", "hpd"); in dp_altmode_status_update()
[all …]
/linux/Documentation/devicetree/bindings/display/bridge/
H A 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/drivers/gpu/drm/msm/hdmi/
H A Dhdmi_hpd.c89 /* enable HPD events: */ in msm_hdmi_hpd_enable()
99 /* Toggle HPD circuit to trigger HPD sense */ in msm_hdmi_hpd_enable()
113 /* Disable HPD interrupt */ in msm_hdmi_hpd_disable()
130 /* Process HPD: */ in msm_hdmi_hpd_irq()
138 /* ack & disable (temporarily) HPD events: */ in msm_hdmi_hpd_irq()
189 * some platforms may not have hpd gpio. Rely only on the status in msm_hdmi_bridge_detect()
211 DBG("hpd gpio tells us: %d", stat_gpio); in msm_hdmi_bridge_detect()
/linux/Documentation/ABI/testing/
H A 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
71 Attention messages. IRQ_HPD can only be asserted when HPD is high,
/linux/drivers/gpu/drm/amd/amdgpu/
H A Ddce_v6_0.c101 uint32_t hpd; member
107 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK
112 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK
117 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK
122 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK
127 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK
132 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK
236 * dce_v6_0_hpd_sense - hpd sense callback.
239 * @hpd: hpd (hotplug detect) pin
245 enum amdgpu_hpd_id hpd) in dce_v6_0_hpd_sense() argument
[all …]
H A 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 …]
H A 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/Documentation/devicetree/bindings/display/ti/
H A 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/Documentation/userspace-api/media/cec/
H A 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/drivers/gpu/drm/amd/display/dc/gpio/dce120/
H A 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/Documentation/devicetree/bindings/display/samsung/
H A 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>;
/linux/drivers/gpu/drm/amd/display/dc/gpio/dcn10/
H A Dhw_factory_dcn10.c43 #define block HPD
188 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
190 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
191 hpd->shifts = &hpd_shift; in define_hpd_registers()
192 hpd->masks = &hpd_mask; in define_hpd_registers()
193 hpd->base.regs = &hpd_regs[en].gpio; in define_hpd_registers()
/linux/drivers/gpu/drm/amd/display/dc/
H A Ddc.h1565 bool hpd_status; /* HPD status of link without physical HPD pin. */
1566 bool is_hpd_pending; /* Indicates a new received hpd */
1975 * recommended to call this function as the first link operation upon HPD event
2018 /* Enable HPD interrupt handler for a given link */
2021 /* Disable HPD interrupt handler for a given link */
2037 /* query current hpd pin value
2038 * return - true HPD is asserted (HPD high), false otherwise (HPD low)
2046 /* enable/disable hardware HPD filter.
2048 * @link - The link the HPD pin is associated with.
2049 * @enable = true - enable hardware HPD filter. HPD event will only queued to irq
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dcn21/
H A Dhw_factory_dcn21.c47 #define block HPD
196 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
198 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
199 hpd->shifts = &hpd_shift; in define_hpd_registers()
200 hpd->masks = &hpd_mask; in define_hpd_registers()
201 hpd->base.regs = &hpd_regs[en].gpio; in define_hpd_registers()
/linux/drivers/gpu/drm/amd/display/dc/gpio/dce80/
H A Dhw_factory_dce80.c143 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
145 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
146 hpd->shifts = &hpd_shift; in define_hpd_registers()
147 hpd->masks = &hpd_mask; in define_hpd_registers()
148 hpd->base.regs = &hpd_regs[en].gpio; in define_hpd_registers()
/linux/drivers/gpu/drm/amd/display/dc/gpio/dce60/
H A Dhw_factory_dce60.c143 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
145 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
146 hpd->shifts = &hpd_shift; in define_hpd_registers()
147 hpd->masks = &hpd_mask; in define_hpd_registers()
148 hpd->base.regs = &hpd_regs[en].gpio; in define_hpd_registers()
/linux/drivers/gpu/drm/amd/display/dc/gpio/dce110/
H A Dhw_factory_dce110.c139 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
141 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
142 hpd->shifts = &hpd_shift; in define_hpd_registers()
143 hpd->masks = &hpd_mask; in define_hpd_registers()
144 hpd->base.regs = &hpd_regs[en].gpio; in define_hpd_registers()
/linux/drivers/gpu/drm/amd/display/dc/gpio/dcn30/
H A Dhw_factory_dcn30.c56 #define block HPD
225 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
227 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
228 hpd->shifts = &hpd_shift; in define_hpd_registers()
229 hpd->masks = &hpd_mask; in define_hpd_registers()
230 hpd->base.regs = &hpd_regs[en].gpio; in define_hpd_registers()
/linux/drivers/gpu/drm/amd/display/dc/gpio/dcn315/
H A Dhw_factory_dcn315.c53 #define block HPD
217 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
219 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
220 hpd->shifts = &hpd_shift; in define_hpd_registers()
221 hpd->masks = &hpd_mask; in define_hpd_registers()
222 hpd->base.regs = &hpd_regs[en].gpio; in define_hpd_registers()

12345678910>>...12