Home
last modified time | relevance | path

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

12345678910>>...32

/kernel/linux/linux-4.19/drivers/gpu/drm/mediatek/
Dmtk_hdmi_ddc.c70 static inline void sif_set_bit(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_set_bit() argument
73 writel(readl(ddc->regs + offset) | val, ddc->regs + offset); in sif_set_bit()
76 static inline void sif_clr_bit(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_clr_bit() argument
79 writel(readl(ddc->regs + offset) & ~val, ddc->regs + offset); in sif_clr_bit()
82 static inline bool sif_bit_is_set(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_bit_is_set() argument
85 return (readl(ddc->regs + offset) & val) == val; in sif_bit_is_set()
88 static inline void sif_write_mask(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_write_mask() argument
94 tmp = readl(ddc->regs + offset); in sif_write_mask()
97 writel(tmp, ddc->regs + offset); in sif_write_mask()
100 static inline unsigned int sif_read_mask(struct mtk_hdmi_ddc *ddc, in sif_read_mask() argument
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/mediatek/
Dmtk_hdmi_ddc.c62 static inline void sif_set_bit(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_set_bit() argument
65 writel(readl(ddc->regs + offset) | val, ddc->regs + offset); in sif_set_bit()
68 static inline void sif_clr_bit(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_clr_bit() argument
71 writel(readl(ddc->regs + offset) & ~val, ddc->regs + offset); in sif_clr_bit()
74 static inline bool sif_bit_is_set(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_bit_is_set() argument
77 return (readl(ddc->regs + offset) & val) == val; in sif_bit_is_set()
80 static inline void sif_write_mask(struct mtk_hdmi_ddc *ddc, unsigned int offset, in sif_write_mask() argument
86 tmp = readl(ddc->regs + offset); in sif_write_mask()
89 writel(tmp, ddc->regs + offset); in sif_write_mask()
92 static inline unsigned int sif_read_mask(struct mtk_hdmi_ddc *ddc, in sif_read_mask() argument
[all …]
/kernel/linux/linux-4.19/drivers/gpu/drm/amd/display/dc/gpio/
Dgpio_service.c408 struct ddc *dal_gpio_create_ddc( in dal_gpio_create_ddc()
416 struct ddc *ddc; in dal_gpio_create_ddc() local
421 ddc = kzalloc(sizeof(struct ddc), GFP_KERNEL); in dal_gpio_create_ddc()
423 if (!ddc) { in dal_gpio_create_ddc()
428 ddc->pin_data = dal_gpio_create( in dal_gpio_create_ddc()
431 if (!ddc->pin_data) { in dal_gpio_create_ddc()
436 ddc->pin_clock = dal_gpio_create( in dal_gpio_create_ddc()
439 if (!ddc->pin_clock) { in dal_gpio_create_ddc()
444 ddc->hw_info = *info; in dal_gpio_create_ddc()
446 ddc->ctx = service->ctx; in dal_gpio_create_ddc()
[all …]
Dhw_ddc.c38 ddc->shifts->field_name, ddc->masks->field_name
41 ddc->base.base.ctx
43 (ddc->regs->reg)
67 struct hw_ddc *ddc = HW_DDC_FROM_BASE(ptr); in set_config() local
74 hw_gpio = &ddc->base; in set_config()
86 switch (config_data->config.ddc.type) { in set_config()
134 if (config_data->config.ddc.data_en_bit_present || in set_config()
135 config_data->config.ddc.clock_en_bit_present) in set_config()
203 struct hw_ddc *ddc, in construct() argument
208 dal_hw_gpio_construct(&ddc->base, id, en, ctx); in construct()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/gpio/
Dgpio_service.c468 struct ddc *dal_gpio_create_ddc( in dal_gpio_create_ddc()
476 struct ddc *ddc; in dal_gpio_create_ddc() local
481 ddc = kzalloc(sizeof(struct ddc), GFP_KERNEL); in dal_gpio_create_ddc()
483 if (!ddc) { in dal_gpio_create_ddc()
488 ddc->pin_data = dal_gpio_create( in dal_gpio_create_ddc()
491 if (!ddc->pin_data) { in dal_gpio_create_ddc()
496 ddc->pin_clock = dal_gpio_create( in dal_gpio_create_ddc()
499 if (!ddc->pin_clock) { in dal_gpio_create_ddc()
504 ddc->hw_info = *info; in dal_gpio_create_ddc()
506 ddc->ctx = service->ctx; in dal_gpio_create_ddc()
[all …]
Dhw_ddc.c42 ddc->shifts->field_name, ddc->masks->field_name
45 ddc->base.base.ctx
47 (ddc->regs->reg)
73 struct hw_ddc *ddc = HW_DDC_FROM_BASE(ptr); in set_config() local
80 hw_gpio = &ddc->base; in set_config()
92 switch (config_data->config.ddc.type) { in set_config()
140 if (config_data->config.ddc.data_en_bit_present || in set_config()
141 config_data->config.ddc.clock_en_bit_present) in set_config()
153 if (ddc->regs->dc_gpio_aux_ctrl_5 != 0) { in set_config()
157 if (ddc->regs->phy_aux_cntl != 0) { in set_config()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/sun4i/
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 …]
/kernel/linux/linux-4.19/drivers/gpu/drm/sun4i/
Dsun4i_hdmi_ddc_clk.c69 struct sun4i_ddc *ddc = hw_to_ddc(hw); in sun4i_ddc_round_rate() local
71 return sun4i_ddc_calc_divider(rate, *prate, ddc->pre_div, in sun4i_ddc_round_rate()
72 ddc->m_offset, NULL, NULL); in sun4i_ddc_round_rate()
78 struct sun4i_ddc *ddc = hw_to_ddc(hw); in sun4i_ddc_recalc_rate() local
82 regmap_field_read(ddc->reg, &reg); in sun4i_ddc_recalc_rate()
86 return (((parent_rate / ddc->pre_div) / 10) >> n) / in sun4i_ddc_recalc_rate()
87 (m + ddc->m_offset); in sun4i_ddc_recalc_rate()
93 struct sun4i_ddc *ddc = hw_to_ddc(hw); in sun4i_ddc_set_rate() local
96 sun4i_ddc_calc_divider(rate, parent_rate, ddc->pre_div, in sun4i_ddc_set_rate()
97 ddc->m_offset, &div_m, &div_n); in sun4i_ddc_set_rate()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/core/
Ddc_link_ddc.c230 static void ddc_service_destruct(struct ddc_service *ddc) in ddc_service_destruct() argument
232 if (ddc->ddc_pin) in ddc_service_destruct()
233 dal_gpio_destroy_ddc(&ddc->ddc_pin); in ddc_service_destruct()
236 void dal_ddc_service_destroy(struct ddc_service **ddc) in dal_ddc_service_destroy() argument
238 if (!ddc || !*ddc) { in dal_ddc_service_destroy()
242 ddc_service_destruct(*ddc); in dal_ddc_service_destroy()
243 kfree(*ddc); in dal_ddc_service_destroy()
244 *ddc = NULL; in dal_ddc_service_destroy()
247 enum ddc_service_type dal_ddc_service_get_type(struct ddc_service *ddc) in dal_ddc_service_get_type() argument
253 struct ddc_service *ddc, in dal_ddc_service_set_transaction_type() argument
[all …]
/kernel/linux/linux-4.19/drivers/gpu/drm/amd/display/dc/core/
Ddc_link_ddc.c294 static void destruct(struct ddc_service *ddc) in destruct() argument
296 if (ddc->ddc_pin) in destruct()
297 dal_gpio_destroy_ddc(&ddc->ddc_pin); in destruct()
300 void dal_ddc_service_destroy(struct ddc_service **ddc) in dal_ddc_service_destroy() argument
302 if (!ddc || !*ddc) { in dal_ddc_service_destroy()
306 destruct(*ddc); in dal_ddc_service_destroy()
307 kfree(*ddc); in dal_ddc_service_destroy()
308 *ddc = NULL; in dal_ddc_service_destroy()
311 enum ddc_service_type dal_ddc_service_get_type(struct ddc_service *ddc) in dal_ddc_service_get_type() argument
317 struct ddc_service *ddc, in dal_ddc_service_set_transaction_type() argument
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/dce/
Ddce_i2c_sw.c42 struct ddc *ddc, in read_bit_from_ddc() argument
48 dal_gpio_get_value(ddc->pin_data, &value); in read_bit_from_ddc()
50 dal_gpio_get_value(ddc->pin_clock, &value); in read_bit_from_ddc()
56 struct ddc *ddc, in write_bit_to_ddc() argument
63 dal_gpio_set_value(ddc->pin_data, value); in write_bit_to_ddc()
65 dal_gpio_set_value(ddc->pin_clock, value); in write_bit_to_ddc()
72 dal_ddc_close(dce_i2c_sw->ddc); in release_engine_dce_sw()
73 dce_i2c_sw->ddc = NULL; in release_engine_dce_sw()
78 struct ddc *ddc, in wait_for_scl_high_sw() argument
87 if (read_bit_from_ddc(ddc, SCL)) in wait_for_scl_high_sw()
[all …]
Ddce_i2c.c30 struct ddc *ddc, in dce_i2c_submit_command() argument
36 if (!ddc) { in dce_i2c_submit_command()
46 dce_i2c_hw = acquire_i2c_hw_engine(pool, ddc); in dce_i2c_submit_command()
49 return dce_i2c_submit_command_hw(pool, ddc, cmd, dce_i2c_hw); in dce_i2c_submit_command()
51 dce_i2c_sw.ctx = ddc->ctx; in dce_i2c_submit_command()
52 if (dce_i2c_engine_acquire_sw(&dce_i2c_sw, ddc)) { in dce_i2c_submit_command()
53 return dce_i2c_submit_command_sw(pool, ddc, cmd, &dce_i2c_sw); in dce_i2c_submit_command()
/kernel/linux/linux-4.19/drivers/gpu/drm/amd/display/dc/i2caux/
Di2caux.h40 struct ddc *ddc);
43 struct ddc *ddc);
46 struct ddc *ddc);
58 /* On ASIC we have certain amount of lines with HW DDC engine
60 * For every such line, we create separate HW DDC engine
61 * (since we have these engines in HW) and separate SW DDC engine
65 /* I2C SW engines, per DDC line.
66 * Only lines with HW DDC support will be initialized */
69 /* I2C HW engines, per DDC line.
70 * Only lines with HW DDC support will be initialized */
[all …]
Di2caux.c107 struct ddc *ddc, in dal_i2caux_submit_i2c_command() argument
114 if (!ddc) { in dal_i2caux_submit_i2c_command()
136 engine = i2caux->funcs->acquire_i2c_sw_engine(i2caux, ddc); in dal_i2caux_submit_i2c_command()
140 i2caux, ddc); in dal_i2caux_submit_i2c_command()
146 engine = i2caux->funcs->acquire_i2c_hw_engine(i2caux, ddc); in dal_i2caux_submit_i2c_command()
150 i2caux, ddc); in dal_i2caux_submit_i2c_command()
194 struct ddc *ddc, in dal_i2caux_submit_aux_command() argument
202 if (!ddc) { in dal_i2caux_submit_aux_command()
212 engine = i2caux->funcs->acquire_aux_engine(i2caux, ddc); in dal_i2caux_submit_aux_command()
266 struct ddc *ddc, in get_hw_supported_ddc_line() argument
[all …]
Di2c_sw_engine.c53 struct ddc *ddc, in read_bit_from_ddc() argument
59 dal_gpio_get_value(ddc->pin_data, &value); in read_bit_from_ddc()
61 dal_gpio_get_value(ddc->pin_clock, &value); in read_bit_from_ddc()
67 struct ddc *ddc, in write_bit_to_ddc() argument
74 dal_gpio_set_value(ddc->pin_data, value); in write_bit_to_ddc()
76 dal_gpio_set_value(ddc->pin_clock, value); in write_bit_to_ddc()
81 struct ddc *ddc, in wait_for_scl_high() argument
94 if (read_bit_from_ddc(ddc, SCL)) in wait_for_scl_high()
107 struct ddc *ddc_handle, in start_sync()
150 struct ddc *ddc_handle, in stop_sync()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/inc/
Ddc_link_ddc.h76 void dal_ddc_service_destroy(struct ddc_service **ddc);
78 enum ddc_service_type dal_ddc_service_get_type(struct ddc_service *ddc);
81 struct ddc_service *ddc,
84 bool dal_ddc_service_is_in_aux_transaction_mode(struct ddc_service *ddc);
87 struct ddc_service *ddc,
91 struct ddc_service *ddc,
98 bool dal_ddc_submit_aux_command(struct ddc_service *ddc,
101 int dc_link_aux_transfer_raw(struct ddc_service *ddc,
105 bool dc_link_aux_transfer_with_retries(struct ddc_service *ddc,
108 bool dc_link_aux_try_to_configure_timeout(struct ddc_service *ddc,
[all …]
/kernel/linux/linux-4.19/drivers/gpu/drm/amd/display/include/
Dgpio_service_interface.h54 struct ddc *dal_gpio_create_ddc(
62 struct ddc **ddc);
87 struct ddc *ddc,
92 struct ddc *ddc,
96 const struct ddc *ddc);
99 struct ddc *ddc,
103 struct ddc *ddc);
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/include/
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);
/kernel/linux/linux-4.19/drivers/gpu/drm/amd/display/dc/inc/
Ddc_link_ddc.h83 void dal_ddc_service_destroy(struct ddc_service **ddc);
85 enum ddc_service_type dal_ddc_service_get_type(struct ddc_service *ddc);
88 struct ddc_service *ddc,
91 bool dal_ddc_service_is_in_aux_transaction_mode(struct ddc_service *ddc);
94 struct ddc_service *ddc,
98 struct ddc_service *ddc,
105 int dc_link_aux_transfer(struct ddc_service *ddc,
121 void ddc_service_set_dongle_type(struct ddc_service *ddc,
126 struct ddc *ddc);
128 struct ddc *dal_ddc_service_get_ddc_pin(struct ddc_service *ddc_service);
[all …]
/kernel/linux/linux-4.19/drivers/gpu/drm/bridge/
Ddumb-vga-dac.c27 struct i2c_adapter *ddc; member
49 if (IS_ERR(vga->ddc)) in dumb_vga_get_modes()
52 edid = drm_get_edid(connector, vga->ddc); in dumb_vga_get_modes()
88 * wire the DDC pins, or the I2C bus might not be working at in dumb_vga_connector_detect()
91 if (!IS_ERR(vga->ddc) && drm_probe_ddc(vga->ddc)) in dumb_vga_connector_detect()
160 struct i2c_adapter *ddc; in dumb_vga_retrieve_ddc() local
166 phandle = of_parse_phandle(remote, "ddc-i2c-bus", 0); in dumb_vga_retrieve_ddc()
171 ddc = of_get_i2c_adapter_by_node(phandle); in dumb_vga_retrieve_ddc()
173 if (!ddc) in dumb_vga_retrieve_ddc()
176 return ddc; in dumb_vga_retrieve_ddc()
[all …]
/kernel/linux/linux-4.19/drivers/gpu/drm/tegra/
Doutput.c36 else if (output->ddc) in tegra_output_connector_get_modes()
37 edid = drm_get_edid(connector, output->ddc); in tegra_output_connector_get_modes()
104 struct device_node *ddc, *panel; in tegra_output_probe() local
121 ddc = of_parse_phandle(output->of_node, "nvidia,ddc-i2c-bus", 0); in tegra_output_probe()
122 if (ddc) { in tegra_output_probe()
123 output->ddc = of_find_i2c_adapter_by_node(ddc); in tegra_output_probe()
124 if (!output->ddc) { in tegra_output_probe()
126 of_node_put(ddc); in tegra_output_probe()
130 of_node_put(ddc); in tegra_output_probe()
187 if (output->ddc) in tegra_output_remove()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/bridge/
Ddisplay-connector.c49 if (conn->bridge.ddc && drm_probe_ddc(conn->bridge.ddc)) in display_connector_detect()
59 * For DVI and HDMI connectors a DDC probe failure indicates in display_connector_detect()
72 * if drm_probe_ddc fails, as some cables don't wire the DDC in display_connector_detect()
84 return drm_get_edid(connector, conn->bridge.ddc); in display_connector_get_edid()
208 /* Retrieve the DDC I2C adapter for DVI, HDMI and VGA connectors. */ in display_connector_probe()
214 phandle = of_parse_phandle(pdev->dev.of_node, "ddc-i2c-bus", 0); in display_connector_probe()
216 conn->bridge.ddc = of_get_i2c_adapter_by_node(phandle); in display_connector_probe()
218 if (!conn->bridge.ddc) in display_connector_probe()
229 if (conn->bridge.ddc) in display_connector_probe()
238 "Found %s display connector '%s' %s DDC bus and %s HPD GPIO (ops 0x%x)\n", in display_connector_probe()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/tegra/
Doutput.c35 else if (output->ddc) in tegra_output_connector_get_modes()
36 edid = drm_get_edid(connector, output->ddc); in tegra_output_connector_get_modes()
96 struct device_node *ddc, *panel; in tegra_output_probe() local
125 ddc = of_parse_phandle(output->of_node, "nvidia,ddc-i2c-bus", 0); in tegra_output_probe()
126 if (ddc) { in tegra_output_probe()
127 output->ddc = of_get_i2c_adapter_by_node(ddc); in tegra_output_probe()
128 of_node_put(ddc); in tegra_output_probe()
130 if (!output->ddc) { in tegra_output_probe()
186 if (output->ddc) in tegra_output_remove()
187 i2c_put_adapter(output->ddc); in tegra_output_remove()
/kernel/linux/linux-5.10/drivers/gpu/drm/zte/
Dzx_vga.c37 struct zx_vga_i2c *ddc; member
88 edid = drm_get_edid(connector, &vga->ddc->adap); in zx_vga_connector_get_modes()
167 &vga->ddc->adap); in zx_vga_register()
269 * The DDC I2C adapter is only for reading EDID data, so we assume in zx_vga_i2c_write()
285 struct zx_vga_i2c *ddc = vga->ddc; in zx_vga_i2c_xfer() local
289 mutex_lock(&ddc->lock); in zx_vga_i2c_xfer()
304 mutex_unlock(&ddc->lock); in zx_vga_i2c_xfer()
323 struct zx_vga_i2c *ddc; in zx_vga_ddc_register() local
326 ddc = devm_kzalloc(dev, sizeof(*ddc), GFP_KERNEL); in zx_vga_ddc_register()
327 if (!ddc) in zx_vga_ddc_register()
[all …]
/kernel/linux/linux-4.19/drivers/gpu/drm/zte/
Dzx_vga.c37 struct zx_vga_i2c *ddc; member
92 edid = drm_get_edid(connector, &vga->ddc->adap); in zx_vga_connector_get_modes()
272 * The DDC I2C adapter is only for reading EDID data, so we assume in zx_vga_i2c_write()
288 struct zx_vga_i2c *ddc = vga->ddc; in zx_vga_i2c_xfer() local
292 mutex_lock(&ddc->lock); in zx_vga_i2c_xfer()
307 mutex_unlock(&ddc->lock); in zx_vga_i2c_xfer()
326 struct zx_vga_i2c *ddc; in zx_vga_ddc_register() local
329 ddc = devm_kzalloc(dev, sizeof(*ddc), GFP_KERNEL); in zx_vga_ddc_register()
330 if (!ddc) in zx_vga_ddc_register()
333 vga->ddc = ddc; in zx_vga_ddc_register()
[all …]

12345678910>>...32