Home
last modified time | relevance | path

Searched +full:no +full:- +full:hpd (Results 1 – 25 of 223) sorted by relevance

123456789

/linux-5.10/drivers/gpu/drm/nouveau/nvkm/engine/disp/
Dconn.c16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
35 struct nvkm_conn *conn = container_of(notify, typeof(*conn), hpd); in nvkm_conn_hpd()
36 struct nvkm_disp *disp = conn->disp; in nvkm_conn_hpd()
37 struct nvkm_gpio *gpio = disp->engine.subdev.device->gpio; in nvkm_conn_hpd()
38 const struct nvkm_gpio_ntfy_rep *line = notify->data; in nvkm_conn_hpd()
40 int index = conn->index; in nvkm_conn_hpd()
42 CONN_DBG(conn, "HPD: %d", line->mask); in nvkm_conn_hpd()
44 if (!nvkm_gpio_get(gpio, 0, DCB_GPIO_UNUSED, conn->hpd.index)) in nvkm_conn_hpd()
50 nvkm_event_send(&disp->hpd, rep.mask, index, &rep, sizeof(rep)); in nvkm_conn_hpd()
57 nvkm_notify_put(&conn->hpd); in nvkm_conn_fini()
[all …]
Dbase.c16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
48 head->func->vblank_put(head); in nvkm_disp_vblank_fini()
57 head->func->vblank_get(head); in nvkm_disp_vblank_init()
65 container_of(notify->event, typeof(*disp), vblank); in nvkm_disp_vblank_ctor()
69 int ret = -ENOSYS; in nvkm_disp_vblank_ctor()
71 if (!(ret = nvif_unpack(ret, &data, &size, req->v0, 0, 0, false))) { in nvkm_disp_vblank_ctor()
72 notify->size = sizeof(struct nvif_notify_head_rep_v0); in nvkm_disp_vblank_ctor()
73 if (ret = -ENXIO, req->v0.head <= disp->vblank.index_nr) { in nvkm_disp_vblank_ctor()
74 notify->types = 1; in nvkm_disp_vblank_ctor()
75 notify->index = req->v0.head; in nvkm_disp_vblank_ctor()
[all …]
/linux-5.10/Documentation/userspace-api/media/cec/
Dcec-ioc-dqevent.rst1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
13 CEC_DQEVENT - Dequeue a CEC event
35 non-blocking mode and no event is pending, then it will return -1 and
38 The internal event queues are per-filehandle and per-event type. If
39 there is no more room in a queue then the last event is overwritten with
43 two :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` events with
51 .. flat-table:: struct cec_event_state_change
52 :header-rows: 0
53 :stub-columns: 0
56 * - __u16
[all …]
/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/
Dhw_hpd.c2 * Copyright 2012-15 Advanced Micro Devices, Inc.
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
40 hpd->shifts->field_name, hpd->masks->field_name
43 hpd->base.base.ctx
45 (hpd->regs->reg)
52 dal_hw_gpio_destruct(&pin->base); in dal_hw_hpd_destruct()
58 struct hw_hpd *hpd = HW_HPD_FROM_BASE(*ptr); in dal_hw_hpd_destroy() local
60 dal_hw_hpd_destruct(hpd); in dal_hw_hpd_destroy()
62 kfree(hpd); in dal_hw_hpd_destroy()
71 struct hw_hpd *hpd = HW_HPD_FROM_BASE(ptr); in get_value() local
[all …]
/linux-5.10/drivers/gpu/drm/
Ddrm_dp_cec.c1 // SPDX-License-Identifier: GPL-2.0
3 * DisplayPort CEC-Tunneling-over-AUX support
19 * Unfortunately it turns out that we have a chicken-and-egg situation
20 * here. Quite a few active (mini-)DP-to-HDMI or USB-C-to-HDMI adapters
21 * have a converter chip that supports CEC-Tunneling-over-AUX (usually the
23 * useless. Note that MegaChips 2900-based adapters appear to have good
27 * Sadly there is no way for this driver to know this. What happens is
33 * was never supported by any OS. So there was no easy way of testing it,
34 * and no incentive to correctly wire up the CEC pin.
41 * https://hverkuil.home.xs4all.nl/cec-status.txt
[all …]
Ddrm_bridge_connector.c1 // SPDX-License-Identifier: GPL-2.0+
31 * with the DRM device. At that point the connector becomes fully usable, no
40 * operation flags (&drm_bridge->ops) and bridge output type
41 * (&drm_bridge->type), as well as the DRM_BRIDGE_ATTACH_NO_CONNECTOR attach
46 * struct drm_bridge_connector - A connector backed by a chain of bridges
70 * hot-plug detection notification, if any (see &DRM_BRIDGE_OP_HPD).
92 /* -----------------------------------------------------------------------------
93 * Bridge Connector Hot-Plug Handling
104 drm_for_each_bridge_in_chain(bridge_connector->encoder, bridge) { in drm_bridge_connector_hpd_notify()
105 if (bridge->funcs->hpd_notify) in drm_bridge_connector_hpd_notify()
[all …]
/linux-5.10/drivers/gpu/drm/bridge/
Ddisplay-connector.c1 // SPDX-License-Identifier: GPL-2.0
34 return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL; in display_connector_attach()
42 if (conn->hpd_gpio) { in display_connector_detect()
43 if (gpiod_get_value_cansleep(conn->hpd_gpio)) in display_connector_detect()
49 if (conn->bridge.ddc && drm_probe_ddc(conn->bridge.ddc)) in display_connector_detect()
52 switch (conn->bridge.type) { in display_connector_detect()
60 * that no cable is connected. in display_connector_detect()
69 * Composite and S-Video connectors have no other detection in display_connector_detect()
70 * mean than the HPD GPIO. For VGA connectors, even if we have in display_connector_detect()
84 return drm_get_edid(connector, conn->bridge.ddc); in display_connector_get_edid()
[all …]
/linux-5.10/drivers/gpu/drm/radeon/
Dradeon_combios.c3 * Copyright 2007-8 Advanced Micro Devices, Inc.
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
136 struct radeon_device *rdev = dev->dev_private; in combios_get_table_offset()
140 if (!rdev->bios) in combios_get_table_offset()
365 size = RBIOS8(rdev->bios_header_start + 0x6); in combios_get_table_offset()
368 offset = RBIOS16(rdev->bios_header_start + check_offset); in combios_get_table_offset()
378 edid_info = combios_get_table_offset(rdev->ddev, COMBIOS_HARDCODED_EDID_TABLE); in radeon_combios_check_hardcoded_edid()
382 raw = rdev->bios + edid_info; in radeon_combios_check_hardcoded_edid()
395 rdev->mode_info.bios_hardcoded_edid = edid; in radeon_combios_check_hardcoded_edid()
396 rdev->mode_info.bios_hardcoded_edid_size = size; in radeon_combios_check_hardcoded_edid()
[all …]
Dradeon_connectors.c2 * Copyright 2007-8 Advanced Micro Devices, Inc.
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
46 if (ret == -EINVAL) in radeon_dp_handle_hpd()
52 struct drm_device *dev = connector->dev; in radeon_connector_hotplug()
53 struct radeon_device *rdev = dev->dev_private; in radeon_connector_hotplug()
56 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { in radeon_connector_hotplug()
58 radeon_connector->con_priv; in radeon_connector_hotplug()
60 if (radeon_connector->is_mst_connector) in radeon_connector_hotplug()
62 if (dig_connector->is_mst) { in radeon_connector_hotplug()
67 /* bail if the connector does not have hpd pin, e.g., in radeon_connector_hotplug()
[all …]
Drs600.c18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
39 #include <linux/io-64-nonatomic-lo-hi.h>
58 AVIVO_D2CRTC_H_TOTAL - AVIVO_D1CRTC_H_TOTAL
83 * avivo_wait_for_vblank - vblank wait asic callback.
88 * Wait for vblank on the requested crtc (r5xx-r7xx).
94 if (crtc >= rdev->num_crtc) in avivo_wait_for_vblank()
120 struct radeon_crtc *radeon_crtc = rdev->mode_info.crtcs[crtc_id]; in rs600_page_flip()
121 u32 tmp = RREG32(AVIVO_D1GRPH_UPDATE + radeon_crtc->crtc_offset); in rs600_page_flip()
126 WREG32(AVIVO_D1GRPH_UPDATE + radeon_crtc->crtc_offset, tmp); in rs600_page_flip()
129 WREG32(AVIVO_D1GRPH_FLIP_CONTROL + radeon_crtc->crtc_offset, in rs600_page_flip()
[all …]
/linux-5.10/drivers/gpu/drm/i915/display/
Dintel_hotplug.c17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
41 * handlers gather the hotplug detect (HPD) information from relevant registers
51 * pulses, with failures and non-MST long pulses triggering regular hotplug
64 * while before being re-enabled. The intention is to mitigate issues raising
70 * callback is handled by i915_digport_work_func reenabling of hpd is not
78 * intel_hpd_pin_default - return default pin associated with certain port.
80 * @port: the hpd port to get associated pin
89 return HPD_PORT_A + port - PORT_A; in intel_hpd_pin_default()
107 return encoder ? encoder->hpd_pin : HPD_NONE; in intel_connector_hpd_pin()
111 * intel_hpd_irq_storm_detect - gather stats and detect HPD IRQ storm on a pin
[all …]
/linux-5.10/Documentation/devicetree/bindings/display/panel/
Dpanel-common.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/display/panel/panel-common.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Thierry Reding <thierry.reding@gmail.com>
11 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
24 width-mm:
29 height-mm:
41 If no such name exists, and unless the property is mandatory according to
43 non-descriptive information. For instance an LCD panel in a system that
[all …]
Dinnolux,p120zdg-bf1.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/display/panel/innolux,p120zdg-bf1.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Innolux P120ZDG-BF1 12.02 inch eDP 2K display panel
10 - Sandeep Panda <spanda@codeaurora.org>
11 - Douglas Anderson <dianders@chromium.org>
14 - $ref: panel-common.yaml#
18 const: innolux,p120zdg-bf1
20 enable-gpios: true
[all …]
/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/dce120/
Dhw_factory_dce120.c2 * Copyright 2013-15 Advanced Micro Devices, Inc.
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
42 #define block HPD
135 switch (pin->id) { in define_ddc_registers()
137 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers()
138 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers()
141 ddc->regs = &ddc_clk_regs[en]; in define_ddc_registers()
142 ddc->base.regs = &ddc_clk_regs[en].gpio; in define_ddc_registers()
149 ddc->shifts = &ddc_shift; in define_ddc_registers()
150 ddc->masks = &ddc_mask; in define_ddc_registers()
[all …]
/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/dce80/
Dhw_factory_dce80.c2 * Copyright 2012-15 Advanced Micro Devices, Inc.
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
122 switch (pin->id) { in define_ddc_registers()
124 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers()
125 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers()
128 ddc->regs = &ddc_clk_regs[en]; in define_ddc_registers()
129 ddc->base.regs = &ddc_clk_regs[en].gpio; in define_ddc_registers()
136 ddc->shifts = &ddc_shift; in define_ddc_registers()
137 ddc->masks = &ddc_mask; in define_ddc_registers()
143 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
[all …]
/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/dce60/
Dhw_factory_dce60.c16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
122 switch (pin->id) { in define_ddc_registers()
124 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers()
125 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers()
128 ddc->regs = &ddc_clk_regs[en]; in define_ddc_registers()
129 ddc->base.regs = &ddc_clk_regs[en].gpio; in define_ddc_registers()
136 ddc->shifts = &ddc_shift; in define_ddc_registers()
137 ddc->masks = &ddc_mask; in define_ddc_registers()
143 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
145 hpd->regs = &hpd_regs[en]; in define_hpd_registers()
[all …]
/linux-5.10/drivers/gpu/drm/amd/amdgpu/
Damdgpu_connectors.c2 * Copyright 2007-8 Advanced Micro Devices, Inc.
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
44 struct drm_device *dev = connector->dev; in amdgpu_connector_hotplug()
48 /* bail if the connector does not have hpd pin, e.g., in amdgpu_connector_hotplug()
51 if (amdgpu_connector->hpd.hpd == AMDGPU_HPD_NONE) in amdgpu_connector_hotplug()
54 amdgpu_display_hpd_set_polarity(adev, amdgpu_connector->hpd.hpd); in amdgpu_connector_hotplug()
57 if (connector->dpms != DRM_MODE_DPMS_ON) in amdgpu_connector_hotplug()
61 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { in amdgpu_connector_hotplug()
63 amdgpu_connector->con_priv; in amdgpu_connector_hotplug()
65 /* if existing sink type was not DP no need to retrain */ in amdgpu_connector_hotplug()
[all …]
Ddce_v6_0.c16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
69 mmDC_HPD1_INT_STATUS - mmDC_HPD1_INT_STATUS,
70 mmDC_HPD2_INT_STATUS - mmDC_HPD1_INT_STATUS,
71 mmDC_HPD3_INT_STATUS - mmDC_HPD1_INT_STATUS,
72 mmDC_HPD4_INT_STATUS - mmDC_HPD1_INT_STATUS,
73 mmDC_HPD5_INT_STATUS - mmDC_HPD1_INT_STATUS,
74 mmDC_HPD6_INT_STATUS - mmDC_HPD1_INT_STATUS,
84 (0x13830 - 0x7030) >> 2,
91 uint32_t hpd; member
97 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK
[all …]
Ddce_v11_0.c16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
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
161 switch (adev->asic_type) { in dce_v11_0_init_golden_registers()
198 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v11_0_audio_endpt_rreg()
[all …]
Ddce_v10_0.c16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
88 uint32_t hpd; member
94 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK
99 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK
104 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK
109 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK
114 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK
119 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK
152 switch (adev->asic_type) { in dce_v10_0_init_golden_registers()
180 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v10_0_audio_endpt_rreg()
[all …]
/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/dcn10/
Dhw_factory_dcn10.c2 * Copyright 2013-15 Advanced Micro Devices, Inc.
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
43 #define block HPD
155 generic->regs = &generic_regs[en]; in define_generic_registers()
156 generic->shifts = &generic_shift[en]; in define_generic_registers()
157 generic->masks = &generic_mask[en]; in define_generic_registers()
158 generic->base.regs = &generic_regs[en].gpio; in define_generic_registers()
167 switch (pin->id) { in define_ddc_registers()
169 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers()
170 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers()
[all …]
/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/dce110/
Dhw_factory_dce110.c2 * Copyright 2013-15 Advanced Micro Devices, Inc.
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
122 switch (pin->id) { in define_ddc_registers()
124 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers()
125 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers()
128 ddc->regs = &ddc_clk_regs[en]; in define_ddc_registers()
129 ddc->base.regs = &ddc_clk_regs[en].gpio; in define_ddc_registers()
136 ddc->shifts = &ddc_shift; in define_ddc_registers()
137 ddc->masks = &ddc_mask; in define_ddc_registers()
143 struct hw_hpd *hpd = HW_HPD_FROM_BASE(pin); in define_hpd_registers() local
[all …]
/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/dcn21/
Dhw_factory_dcn21.c2 * Copyright 2013-15 Advanced Micro Devices, Inc.
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
47 #define block HPD
163 generic->regs = &generic_regs[en]; in define_generic_registers()
164 generic->shifts = &generic_shift[en]; in define_generic_registers()
165 generic->masks = &generic_mask[en]; in define_generic_registers()
166 generic->base.regs = &generic_regs[en].gpio; in define_generic_registers()
175 switch (pin->id) { in define_ddc_registers()
177 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers()
178 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers()
[all …]
/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/dcn20/
Dhw_factory_dcn20.c2 * Copyright 2013-15 Advanced Micro Devices, Inc.
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
49 #define block HPD
185 switch (pin->id) { in define_ddc_registers()
187 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers()
188 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers()
191 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers()
192 ddc->base.regs = &ddc_clk_regs_dcn[en].gpio; in define_ddc_registers()
199 ddc->shifts = &ddc_shift[en]; in define_ddc_registers()
200 ddc->masks = &ddc_mask[en]; in define_ddc_registers()
[all …]
/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/dcn30/
Dhw_factory_dcn30.c16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
57 #define block HPD
191 generic->regs = &generic_regs[en]; in define_generic_registers()
192 generic->shifts = &generic_shift[en]; in define_generic_registers()
193 generic->masks = &generic_mask[en]; in define_generic_registers()
194 generic->base.regs = &generic_regs[en].gpio; in define_generic_registers()
203 switch (pin->id) { in define_ddc_registers()
205 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers()
206 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers()
209 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers()
[all …]

123456789