Home
last modified time | relevance | path

Searched full:ddc (Results 1 – 25 of 393) sorted by relevance

12345678910>>...16

/linux/drivers/gpu/drm/mediatek/
H A Dmtk_hdmi_ddc.c65 static inline void sif_set_bit(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_set_bit() argument
68 writel(readl(ddc->regs + offset) | val, ddc->regs + offset); in sif_set_bit()
71 static inline void sif_clr_bit(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_clr_bit() argument
74 writel(readl(ddc->regs + offset) & ~val, ddc->regs + offset); in sif_clr_bit()
77 static inline bool sif_bit_is_set(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_bit_is_set() argument
80 return (readl(ddc->regs + offset) & val) == val; in sif_bit_is_set()
83 static inline void sif_write_mask(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_write_mask() argument
89 tmp = readl(ddc->regs + offset); in sif_write_mask()
92 writel(tmp, ddc->regs + offset); in sif_write_mask()
95 static inline unsigned int sif_read_mask(struct mtk_hdmi_ddc *ddc, in sif_read_mask() argument
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/
H A Dgpio_service.c475 struct ddc *dal_gpio_create_ddc( in dal_gpio_create_ddc()
483 struct ddc *ddc; in dal_gpio_create_ddc() local
488 ddc = kzalloc(sizeof(struct ddc), GFP_KERNEL); in dal_gpio_create_ddc()
490 if (!ddc) { in dal_gpio_create_ddc()
495 ddc->pin_data = dal_gpio_create( in dal_gpio_create_ddc()
498 if (!ddc->pin_data) { in dal_gpio_create_ddc()
503 ddc->pin_clock = dal_gpio_create( in dal_gpio_create_ddc()
506 if (!ddc->pin_clock) { in dal_gpio_create_ddc()
511 ddc->hw_info = *info; in dal_gpio_create_ddc()
513 ddc->ctx = service->ctx; in dal_gpio_create_ddc()
[all …]
H A Dhw_ddc.c39 ddc->shifts->field_name, ddc->masks->field_name
42 ddc->base.base.ctx
44 (ddc->regs->reg)
70 struct hw_ddc *ddc = HW_DDC_FROM_BASE(ptr); in set_config() local
77 hw_gpio = &ddc->base; in set_config()
89 switch (config_data->config.ddc.type) { in set_config()
139 if (config_data->config.ddc.data_en_bit_present || in set_config()
140 config_data->config.ddc.clock_en_bit_present) in set_config()
152 if (ddc->regs->dc_gpio_aux_ctrl_5 != 0) { in set_config()
156 if (ddc->regs->phy_aux_cntl != 0) { in set_config()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/link/protocols/
H A Dlink_ddc.c168 static void ddc_service_destruct(struct ddc_service *ddc) in ddc_service_destruct() argument
170 if (ddc->ddc_pin) in ddc_service_destruct()
171 dal_gpio_destroy_ddc(&ddc->ddc_pin); in ddc_service_destruct()
174 void link_destroy_ddc_service(struct ddc_service **ddc) in link_destroy_ddc_service() argument
176 if (!ddc || !*ddc) { in link_destroy_ddc_service()
180 ddc_service_destruct(*ddc); in link_destroy_ddc_service()
181 kfree(*ddc); in link_destroy_ddc_service()
182 *ddc = NULL; in link_destroy_ddc_service()
186 struct ddc_service *ddc, in set_ddc_transaction_type() argument
189 ddc->transaction_type = type; in set_ddc_transaction_type()
[all …]
H A Dlink_ddc.h43 void link_destroy_ddc_service(struct ddc_service **ddc);
46 struct ddc_service *ddc,
49 uint32_t link_get_aux_defer_delay(struct ddc_service *ddc);
51 bool link_is_in_aux_transaction_mode(struct ddc_service *ddc);
53 bool try_to_configure_aux_timeout(struct ddc_service *ddc,
57 struct ddc_service *ddc,
72 bool link_aux_transfer_with_retries_no_mutex(struct ddc_service *ddc,
76 struct ddc_service *ddc,
81 struct ddc_service *ddc,
97 void set_dongle_type(struct ddc_service *ddc,
[all …]
H A Dlink_dp_training_fixed_vs_pe_retimer.c55 link_configure_fixed_vs_pe_retimer(link->ddc, in dp_fixed_vs_pe_read_lane_adjust()
58 link_query_fixed_vs_pe_retimer(link->ddc, &dprx_vs, 1); in dp_fixed_vs_pe_read_lane_adjust()
60 link_configure_fixed_vs_pe_retimer(link->ddc, in dp_fixed_vs_pe_read_lane_adjust()
63 link_query_fixed_vs_pe_retimer(link->ddc, &dprx_pe, 1); in dp_fixed_vs_pe_read_lane_adjust()
90 link_configure_fixed_vs_pe_retimer(link->ddc, in dp_fixed_vs_pe_set_retimer_lane_settings()
93 link_configure_fixed_vs_pe_retimer(link->ddc, in dp_fixed_vs_pe_set_retimer_lane_settings()
96 link_configure_fixed_vs_pe_retimer(link->ddc, in dp_fixed_vs_pe_set_retimer_lane_settings()
238 link_configure_fixed_vs_pe_retimer(link->ddc, in dp_perform_fixed_vs_pe_training_sequence()
240 link_configure_fixed_vs_pe_retimer(link->ddc, in dp_perform_fixed_vs_pe_training_sequence()
242 link_configure_fixed_vs_pe_retimer(link->ddc, in dp_perform_fixed_vs_pe_training_sequence()
[all …]
/linux/drivers/gpu/drm/mgag200/
H A Dmgag200_ddc.c76 struct mgag200_ddc *ddc = data; in mgag200_ddc_algo_bit_data_setsda() local
78 mga_i2c_set(ddc->mdev, ddc->data, state); in mgag200_ddc_algo_bit_data_setsda()
83 struct mgag200_ddc *ddc = data; in mgag200_ddc_algo_bit_data_setscl() local
85 mga_i2c_set(ddc->mdev, ddc->clock, state); in mgag200_ddc_algo_bit_data_setscl()
90 struct mgag200_ddc *ddc = data; in mgag200_ddc_algo_bit_data_getsda() local
92 return (mga_i2c_read_gpio(ddc->mdev) & ddc->data) ? 1 : 0; in mgag200_ddc_algo_bit_data_getsda()
97 struct mgag200_ddc *ddc = data; in mgag200_ddc_algo_bit_data_getscl() local
99 return (mga_i2c_read_gpio(ddc->mdev) & ddc->clock) ? 1 : 0; in mgag200_ddc_algo_bit_data_getscl()
104 struct mgag200_ddc *ddc = i2c_get_adapdata(adapter); in mgag200_ddc_algo_bit_data_pre_xfer() local
105 struct mga_device *mdev = ddc->mdev; in mgag200_ddc_algo_bit_data_pre_xfer()
[all …]
H A Dmgag200_vga.c33 struct i2c_adapter *ddc; in mgag200_vga_output_init() local
45 ddc = mgag200_ddc_create(mdev); in mgag200_vga_output_init()
46 if (IS_ERR(ddc)) { in mgag200_vga_output_init()
47 ret = PTR_ERR(ddc); in mgag200_vga_output_init()
48 drm_err(dev, "failed to add DDC bus: %d\n", ret); in mgag200_vga_output_init()
55 DRM_MODE_CONNECTOR_VGA, ddc); in mgag200_vga_output_init()
/linux/drivers/gpu/drm/sun4i/
H A Dsun4i_hdmi_ddc_clk.c65 struct sun4i_ddc *ddc = hw_to_ddc(hw); in sun4i_ddc_round_rate() local
67 return sun4i_ddc_calc_divider(rate, *prate, ddc->pre_div, in sun4i_ddc_round_rate()
68 ddc->m_offset, NULL, NULL); in sun4i_ddc_round_rate()
74 struct sun4i_ddc *ddc = hw_to_ddc(hw); in sun4i_ddc_recalc_rate() local
78 regmap_field_read(ddc->reg, &reg); in sun4i_ddc_recalc_rate()
82 return (((parent_rate / ddc->pre_div) / 10) >> n) / in sun4i_ddc_recalc_rate()
83 (m + ddc->m_offset); in sun4i_ddc_recalc_rate()
89 struct sun4i_ddc *ddc = hw_to_ddc(hw); in sun4i_ddc_set_rate() local
92 sun4i_ddc_calc_divider(rate, parent_rate, ddc->pre_div, in sun4i_ddc_set_rate()
93 ddc->m_offset, &div_m, &div_n); in sun4i_ddc_set_rate()
[all …]
/linux/drivers/gpu/drm/ast/
H A Dast_ddc.c42 struct ast_ddc *ddc = data; in ast_ddc_algo_bit_data_setsda() local
43 struct ast_device *ast = ddc->ast; in ast_ddc_algo_bit_data_setsda()
58 struct ast_ddc *ddc = data; in ast_ddc_algo_bit_data_setscl() local
59 struct ast_device *ast = ddc->ast; in ast_ddc_algo_bit_data_setscl()
74 struct ast_ddc *ddc = i2c_get_adapdata(adapter); in ast_ddc_algo_bit_data_pre_xfer() local
75 struct ast_device *ast = ddc->ast; in ast_ddc_algo_bit_data_pre_xfer()
88 struct ast_ddc *ddc = i2c_get_adapdata(adapter); in ast_ddc_algo_bit_data_post_xfer() local
89 struct ast_device *ast = ddc->ast; in ast_ddc_algo_bit_data_post_xfer()
96 struct ast_ddc *ddc = data; in ast_ddc_algo_bit_data_getsda() local
97 struct ast_device *ast = ddc->ast; in ast_ddc_algo_bit_data_getsda()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/dce/
H A Ddce_i2c_sw.c40 struct ddc *ddc, in read_bit_from_ddc() argument
46 dal_gpio_get_value(ddc->pin_data, &value); in read_bit_from_ddc()
48 dal_gpio_get_value(ddc->pin_clock, &value); in read_bit_from_ddc()
54 struct ddc *ddc, in write_bit_to_ddc() argument
61 dal_gpio_set_value(ddc->pin_data, value); in write_bit_to_ddc()
63 dal_gpio_set_value(ddc->pin_clock, value); in write_bit_to_ddc()
70 dal_ddc_close(dce_i2c_sw->ddc); in release_engine_dce_sw()
71 dce_i2c_sw->ddc = NULL; in release_engine_dce_sw()
76 struct ddc *ddc, in wait_for_scl_high_sw() argument
85 if (read_bit_from_ddc(ddc, SCL)) in wait_for_scl_high_sw()
[all …]
H A Ddce_i2c.c30 struct ddc_service *ddc, in dce_i2c_oem_device_present() argument
34 struct dc *dc = ddc->ctx->dc; in dce_i2c_oem_device_present()
56 struct ddc *ddc, in dce_i2c_submit_command() argument
62 if (!ddc) { in dce_i2c_submit_command()
72 dce_i2c_hw = acquire_i2c_hw_engine(pool, ddc); in dce_i2c_submit_command()
75 return dce_i2c_submit_command_hw(pool, ddc, cmd, dce_i2c_hw); in dce_i2c_submit_command()
77 dce_i2c_sw.ctx = ddc->ctx; in dce_i2c_submit_command()
78 if (dce_i2c_engine_acquire_sw(&dce_i2c_sw, ddc)) { in dce_i2c_submit_command()
79 return dce_i2c_submit_command_sw(pool, ddc, cmd, &dce_i2c_sw); in dce_i2c_submit_command()
H A Ddce_i2c_sw.h36 struct ddc *ddc; member
48 struct ddc *ddc,
54 struct ddc *ddc_handle);
/linux/drivers/gpu/drm/amd/display/include/
H A Dgpio_service_interface.h71 struct ddc *dal_gpio_create_ddc(
78 struct ddc **ddc);
103 struct ddc *ddc,
108 struct ddc *ddc,
112 const struct ddc *ddc);
115 struct ddc *ddc,
119 struct ddc *ddc);
/linux/Documentation/devicetree/bindings/display/mediatek/
H A Dmediatek,hdmi-ddc.yaml4 $id: http://devicetree.org/schemas/display/mediatek/mediatek,hdmi-ddc.yaml#
7 title: Mediatek HDMI DDC
14 The HDMI DDC i2c controller is used to interface with the HDMI DDC pins.
19 - mediatek,mt7623-hdmi-ddc
20 - mediatek,mt8167-hdmi-ddc
21 - mediatek,mt8173-hdmi-ddc
34 - const: ddc-i2c
51 compatible = "mediatek,mt8173-hdmi-ddc";
55 clock-names = "ddc-i2c";
/linux/drivers/gpu/drm/amd/display/dc/link/hwss/
H A Dlink_hwss_dio_fixed_vs_pe_retimer.c52 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_dio_fixed_vs_pe_retimer_exit_manual_automation()
54 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_dio_fixed_vs_pe_retimer_exit_manual_automation()
56 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_dio_fixed_vs_pe_retimer_exit_manual_automation()
58 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_dio_fixed_vs_pe_retimer_exit_manual_automation()
60 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_dio_fixed_vs_pe_retimer_exit_manual_automation()
62 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_dio_fixed_vs_pe_retimer_exit_manual_automation()
64 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_dio_fixed_vs_pe_retimer_exit_manual_automation()
66 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_dio_fixed_vs_pe_retimer_exit_manual_automation()
68 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_dio_fixed_vs_pe_retimer_exit_manual_automation()
70 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_dio_fixed_vs_pe_retimer_exit_manual_automation()
[all …]
H A Dlink_hwss_hpo_fixed_vs_pe_retimer_dp.c62 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_hpo_fixed_vs_pe_retimer_set_tx_ffe()
64 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_hpo_fixed_vs_pe_retimer_set_tx_ffe()
66 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_hpo_fixed_vs_pe_retimer_set_tx_ffe()
68 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_hpo_fixed_vs_pe_retimer_set_tx_ffe()
70 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_hpo_fixed_vs_pe_retimer_set_tx_ffe()
92 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_hpo_fixed_vs_pe_retimer_program_override_test_pattern()
94 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_hpo_fixed_vs_pe_retimer_program_override_test_pattern()
96 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_hpo_fixed_vs_pe_retimer_program_override_test_pattern()
98 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_hpo_fixed_vs_pe_retimer_program_override_test_pattern()
100 link->dc->link_srv->configure_fixed_vs_pe_retimer(link->ddc, in dp_hpo_fixed_vs_pe_retimer_program_override_test_pattern()
[all …]
/linux/drivers/gpu/drm/tegra/
H A Doutput.c39 else if (output->ddc) in tegra_output_connector_get_modes()
40 drm_edid = drm_edid_read_ddc(connector, output->ddc); in tegra_output_connector_get_modes()
99 struct device_node *ddc, *panel; in tegra_output_probe()
127 ddc = of_parse_phandle(output->of_node, "nvidia,ddc-i2c-bus", 0); in tegra_output_probe()
128 if (ddc) { in tegra_output_probe()
129 output->ddc = of_get_i2c_adapter_by_node(ddc); in tegra_output_probe()
130 of_node_put(ddc); in tegra_output_probe()
132 if (!output->ddc) { in tegra_output_probe()
100 struct device_node *ddc, *panel; tegra_output_probe() local
[all...]
/linux/drivers/gpu/drm/bridge/
H A Ddisplay-connector.c54 if (conn->bridge.ddc && drm_probe_ddc(conn->bridge.ddc)) in display_connector_detect()
64 * For DVI and HDMI connectors a DDC probe failure indicates in display_connector_detect()
77 * if drm_probe_ddc fails, as some cables don't wire the DDC in display_connector_detect()
89 return drm_edid_read_ddc(connector, conn->bridge.ddc); in display_connector_edid_read()
308 /* Retrieve the DDC I2C adapter for DVI, HDMI and VGA connectors. */ in display_connector_probe()
314 phandle = of_parse_phandle(pdev->dev.of_node, "ddc-i2c-bus", 0); in display_connector_probe()
316 conn->bridge.ddc = of_get_i2c_adapter_by_node(phandle); in display_connector_probe()
318 if (!conn->bridge.ddc) in display_connector_probe()
335 /* enable DDC */ in display_connector_probe()
339 conn->ddc_en = devm_gpiod_get_optional(&pdev->dev, "ddc-en", in display_connector_probe()
[all …]
/linux/Documentation/devicetree/bindings/display/
H A Dallwinner,sun4i-a10-hdmi.yaml44 - description: The HDMI DDC clock
59 - const: ddc
68 - description: DDC Transmission DMA Channel
69 - description: DDC Reception DMA Channel
74 - const: ddc-tx
75 - const: ddc-rx
142 dma-names = "ddc-tx", "ddc-rx", "audio-tx";
/linux/drivers/gpu/drm/tests/
H A Ddrm_connector_test.c24 struct i2c_adapter ddc; member
73 strscpy(priv->ddc.name, "dummy-connector-ddc", sizeof(priv->ddc.name)); in drm_test_connector_init()
74 priv->ddc.owner = THIS_MODULE; in drm_test_connector_init()
75 priv->ddc.algo = &dummy_ddc_algorithm; in drm_test_connector_init()
76 priv->ddc.dev.parent = dev; in drm_test_connector_init()
78 ret = i2c_add_adapter(&priv->ddc); in drm_test_connector_init()
81 ret = kunit_add_action_or_reset(test, i2c_del_adapter_wrapper, &priv->ddc); in drm_test_connector_init()
100 &priv->ddc); in drm_test_drmm_connector_init()
105 * Test that the registration of a connector without a DDC adapter
133 &priv->ddc); in drm_test_drmm_connector_init_type_valid()
[all …]
/linux/drivers/gpu/drm/amd/display/dc/gpio/dce80/
H A Dhw_factory_dce80.c120 struct hw_ddc *ddc = HW_DDC_FROM_BASE(pin); in define_ddc_registers() local
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()
/linux/drivers/gpu/drm/amd/display/dc/gpio/dce60/
H A Dhw_factory_dce60.c120 struct hw_ddc *ddc = HW_DDC_FROM_BASE(pin); in define_ddc_registers() local
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()
/linux/drivers/gpu/drm/loongson/
H A Dlsdc_output_7a1000.c45 if (conn->ddc) { in ls7a1000_dpi_connector_get_modes()
81 struct i2c_adapter *ddc = connector->ddc; in ls7a1000_dpi_connector_detect() local
83 if (ddc) { in ls7a1000_dpi_connector_detect()
84 if (drm_probe_ddc(ddc)) in ls7a1000_dpi_connector_detect()
143 struct i2c_adapter *ddc, in ls7a1000_output_init() argument
160 DRM_MODE_CONNECTOR_DPI, ddc); in ls7a1000_output_init()
/linux/drivers/gpu/drm/amd/display/dc/gpio/dce110/
H A Dhw_factory_dce110.c116 struct hw_ddc *ddc = HW_DDC_FROM_BASE(pin); in define_ddc_registers() local
120 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers()
121 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers()
124 ddc->regs = &ddc_clk_regs[en]; in define_ddc_registers()
125 ddc->base.regs = &ddc_clk_regs[en].gpio; in define_ddc_registers()
132 ddc->shifts = &ddc_shift; in define_ddc_registers()
133 ddc->masks = &ddc_mask; in define_ddc_registers()

12345678910>>...16