| /Linux-v5.4/drivers/gpu/drm/mediatek/ |
| D | mtk_hdmi_ddc.c | 62 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 …]
|
| /Linux-v5.4/drivers/gpu/drm/amd/display/dc/gpio/ |
| D | gpio_service.c | 470 struct ddc *dal_gpio_create_ddc( in dal_gpio_create_ddc() 478 struct ddc *ddc; in dal_gpio_create_ddc() local 483 ddc = kzalloc(sizeof(struct ddc), GFP_KERNEL); in dal_gpio_create_ddc() 485 if (!ddc) { in dal_gpio_create_ddc() 490 ddc->pin_data = dal_gpio_create( in dal_gpio_create_ddc() 493 if (!ddc->pin_data) { in dal_gpio_create_ddc() 498 ddc->pin_clock = dal_gpio_create( in dal_gpio_create_ddc() 501 if (!ddc->pin_clock) { in dal_gpio_create_ddc() 506 ddc->hw_info = *info; in dal_gpio_create_ddc() 508 ddc->ctx = service->ctx; in dal_gpio_create_ddc() [all …]
|
| D | hw_ddc.c | 42 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() 154 if (ddc->regs->dc_gpio_aux_ctrl_5 != 0) { in set_config() 158 if (ddc->regs->phy_aux_cntl != 0) { in set_config() [all …]
|
| D | gpio_base.c | 71 if (!gpio->hw_container.ddc) { in dal_gpio_open_ex() 240 return gpio->hw_container.ddc; in dal_gpio_get_ddc() 292 gpio->service->factory.funcs->init_ddc_data(&gpio->hw_container.ddc, service->ctx, id, en); in dal_gpio_create() 295 gpio->service->factory.funcs->init_ddc_data(&gpio->hw_container.ddc, service->ctx, id, en); in dal_gpio_create() 328 kfree((*gpio)->hw_container.ddc); in dal_gpio_destroy() 329 (*gpio)->hw_container.ddc = NULL; in dal_gpio_destroy() 333 kfree((*gpio)->hw_container.ddc); in dal_gpio_destroy() 334 (*gpio)->hw_container.ddc = NULL; in dal_gpio_destroy()
|
| /Linux-v5.4/drivers/gpu/drm/amd/display/dc/dce/ |
| D | dce_i2c_sw.c | 42 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() 77 struct ddc *ddc, in get_hw_supported_ddc_line() argument 84 if (!ddc) { in get_hw_supported_ddc_line() [all …]
|
| D | dce_i2c.c | 30 struct ddc *ddc, in dce_i2c_submit_command() argument 36 if (!ddc) { in dce_i2c_submit_command() 47 dce_i2c_sw = dce_i2c_acquire_i2c_sw_engine(pool, ddc); in dce_i2c_submit_command() 50 dce_i2c_hw = acquire_i2c_hw_engine(pool, ddc); in dce_i2c_submit_command() 55 return dce_i2c_submit_command_hw(pool, ddc, cmd, dce_i2c_hw); in dce_i2c_submit_command() 58 return dce_i2c_submit_command_sw(pool, ddc, cmd, dce_i2c_sw); in dce_i2c_submit_command()
|
| D | dce_i2c_sw.h | 36 struct ddc *ddc; member 48 struct ddc *ddc, 54 struct ddc *ddc);
|
| D | dce_aux.c | 63 dal_ddc_close(engine->ddc); in release_engine() 65 engine->ddc = NULL; in release_engine() 256 EVENT_LOG_AUX_REQ(engine->ddc->pin_data->en, EVENT_LOG_AUX_ORIGIN_NATIVE, in submit_channel_request() 385 struct ddc *ddc) in acquire() argument 392 result = dal_ddc_open(ddc, GPIO_MODE_HARDWARE, in acquire() 399 dal_ddc_close(ddc); in acquire() 403 engine->ddc = ddc; in acquire() 423 aux_engine110->base.ddc = NULL; in dce110_aux_engine_construct() 451 int dce_aux_transfer_raw(struct ddc_service *ddc, in dce_aux_transfer_raw() argument 455 struct ddc *ddc_pin = ddc->ddc_pin; in dce_aux_transfer_raw() [all …]
|
| D | dce_aux.h | 93 struct ddc *ddc; member 134 struct ddc *ddc); 136 int dce_aux_transfer_raw(struct ddc_service *ddc, 140 bool dce_aux_transfer_with_retries(struct ddc_service *ddc,
|
| D | dce_i2c_hw.c | 381 struct ddc *ddc) in acquire_i2c_hw_engine() argument 388 if (!ddc) in acquire_i2c_hw_engine() 391 if (ddc->hw_info.hw_supported) { in acquire_i2c_hw_engine() 392 enum gpio_ddc_line line = dal_ddc_get_line(ddc); in acquire_i2c_hw_engine() 405 result = dal_ddc_open(ddc, GPIO_MODE_HARDWARE, in acquire_i2c_hw_engine() 421 dce_i2c_hw->ddc = ddc; in acquire_i2c_hw_engine() 578 struct ddc *ddc, in dce_i2c_submit_command_hw() argument 608 dal_ddc_close(dce_i2c_hw->ddc); in dce_i2c_submit_command_hw() 610 dce_i2c_hw->ddc = NULL; in dce_i2c_submit_command_hw()
|
| /Linux-v5.4/drivers/gpu/drm/amd/display/dc/core/ |
| D | dc_link_ddc.c | 243 static void destruct(struct ddc_service *ddc) in destruct() argument 245 if (ddc->ddc_pin) in destruct() 246 dal_gpio_destroy_ddc(&ddc->ddc_pin); in destruct() 249 void dal_ddc_service_destroy(struct ddc_service **ddc) in dal_ddc_service_destroy() argument 251 if (!ddc || !*ddc) { in dal_ddc_service_destroy() 255 destruct(*ddc); in dal_ddc_service_destroy() 256 kfree(*ddc); in dal_ddc_service_destroy() 257 *ddc = NULL; in dal_ddc_service_destroy() 260 enum ddc_service_type dal_ddc_service_get_type(struct ddc_service *ddc) in dal_ddc_service_get_type() argument 266 struct ddc_service *ddc, in dal_ddc_service_set_transaction_type() argument [all …]
|
| /Linux-v5.4/drivers/gpu/drm/sun4i/ |
| D | sun4i_hdmi_ddc_clk.c | 65 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, ®); 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-v5.4/drivers/gpu/drm/amd/display/dc/inc/ |
| D | dc_link_ddc.h | 76 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 int dc_link_aux_transfer_raw(struct ddc_service *ddc, 102 bool dc_link_aux_transfer_with_retries(struct ddc_service *ddc, 113 void ddc_service_set_dongle_type(struct ddc_service *ddc, 118 struct ddc *ddc); [all …]
|
| /Linux-v5.4/drivers/gpu/drm/amd/display/include/ |
| D | gpio_service_interface.h | 71 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-v5.4/drivers/gpu/drm/bridge/ |
| D | dumb-vga-dac.c | 23 struct i2c_adapter *ddc; member 45 if (!vga->ddc) in dumb_vga_get_modes() 48 edid = drm_get_edid(connector, vga->ddc); in dumb_vga_get_modes() 87 if (vga->ddc && drm_probe_ddc(vga->ddc)) in dumb_vga_connector_detect() 117 vga->ddc); in dumb_vga_attach() 158 struct i2c_adapter *ddc; in dumb_vga_retrieve_ddc() local 169 ddc = of_get_i2c_adapter_by_node(phandle); in dumb_vga_retrieve_ddc() 171 if (!ddc) in dumb_vga_retrieve_ddc() 174 return ddc; in dumb_vga_retrieve_ddc() 195 vga->ddc = dumb_vga_retrieve_ddc(&pdev->dev); in dumb_vga_probe() [all …]
|
| D | ti-tfp410.c | 29 struct i2c_adapter *ddc; member 58 if (!dvi->ddc) in tfp410_get_modes() 61 edid = drm_get_edid(connector, dvi->ddc); in tfp410_get_modes() 101 if (dvi->ddc) { in tfp410_connector_detect() 102 if (drm_probe_ddc(dvi->ddc)) in tfp410_connector_detect() 140 dvi->ddc); in tfp410_attach() 302 dvi->ddc = of_get_i2c_adapter_by_node(ddc_phandle); in tfp410_get_connector_properties() 303 if (dvi->ddc) in tfp410_get_connector_properties() 372 i2c_put_adapter(dvi->ddc); in tfp410_init() 387 if (dvi->ddc) in tfp410_fini() [all …]
|
| /Linux-v5.4/drivers/gpu/drm/tegra/ |
| D | output.c | 33 else if (output->ddc) in tegra_output_connector_get_modes() 34 edid = drm_get_edid(connector, output->ddc); in tegra_output_connector_get_modes() 94 struct device_node *ddc, *panel; in tegra_output_probe() local 112 ddc = of_parse_phandle(output->of_node, "nvidia,ddc-i2c-bus", 0); in tegra_output_probe() 113 if (ddc) { in tegra_output_probe() 114 output->ddc = of_find_i2c_adapter_by_node(ddc); in tegra_output_probe() 115 if (!output->ddc) { in tegra_output_probe() 117 of_node_put(ddc); in tegra_output_probe() 121 of_node_put(ddc); in tegra_output_probe() 181 if (output->ddc) in tegra_output_remove() [all …]
|
| /Linux-v5.4/drivers/gpu/drm/amd/display/dc/gpio/dce110/ |
| D | hw_factory_dce110.c | 120 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-v5.4/drivers/gpu/drm/amd/display/dc/gpio/dce80/ |
| D | hw_factory_dce80.c | 120 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-v5.4/drivers/gpu/drm/amd/display/dc/gpio/dce120/ |
| D | hw_factory_dce120.c | 133 struct hw_ddc *ddc = HW_DDC_FROM_BASE(pin); in define_ddc_registers() local 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()
|
| /Linux-v5.4/drivers/gpu/drm/zte/ |
| D | zx_vga.c | 36 struct zx_vga_i2c *ddc; member 91 edid = drm_get_edid(connector, &vga->ddc->adap); in zx_vga_connector_get_modes() 287 struct zx_vga_i2c *ddc = vga->ddc; in zx_vga_i2c_xfer() local 291 mutex_lock(&ddc->lock); in zx_vga_i2c_xfer() 306 mutex_unlock(&ddc->lock); in zx_vga_i2c_xfer() 325 struct zx_vga_i2c *ddc; in zx_vga_ddc_register() local 328 ddc = devm_kzalloc(dev, sizeof(*ddc), GFP_KERNEL); in zx_vga_ddc_register() 329 if (!ddc) in zx_vga_ddc_register() 332 vga->ddc = ddc; in zx_vga_ddc_register() 333 mutex_init(&ddc->lock); in zx_vga_ddc_register() [all …]
|
| D | zx_hdmi.c | 40 struct zx_hdmi_i2c *ddc; member 267 edid = drm_get_edid(connector, &hdmi->ddc->adap); in zx_hdmi_connector_get_modes() 565 struct zx_hdmi_i2c *ddc = hdmi->ddc; in zx_hdmi_i2c_xfer() local 568 mutex_lock(&ddc->lock); in zx_hdmi_i2c_xfer() 593 mutex_unlock(&ddc->lock); in zx_hdmi_i2c_xfer() 611 struct zx_hdmi_i2c *ddc; in zx_hdmi_ddc_register() local 614 ddc = devm_kzalloc(hdmi->dev, sizeof(*ddc), GFP_KERNEL); in zx_hdmi_ddc_register() 615 if (!ddc) in zx_hdmi_ddc_register() 618 hdmi->ddc = ddc; in zx_hdmi_ddc_register() 619 mutex_init(&ddc->lock); in zx_hdmi_ddc_register() [all …]
|
| /Linux-v5.4/drivers/gpu/drm/amd/display/dc/gpio/dcn10/ |
| D | hw_factory_dcn10.c | 165 struct hw_ddc *ddc = HW_DDC_FROM_BASE(pin); in define_ddc_registers() local 169 ddc->regs = &ddc_data_regs[en]; in define_ddc_registers() 170 ddc->base.regs = &ddc_data_regs[en].gpio; in define_ddc_registers() 173 ddc->regs = &ddc_clk_regs[en]; in define_ddc_registers() 174 ddc->base.regs = &ddc_clk_regs[en].gpio; in define_ddc_registers() 181 ddc->shifts = &ddc_shift; in define_ddc_registers() 182 ddc->masks = &ddc_mask; in define_ddc_registers()
|
| /Linux-v5.4/drivers/gpu/drm/amd/display/dc/gpio/dcn21/ |
| D | hw_factory_dcn21.c | 174 struct hw_ddc *ddc = HW_DDC_FROM_BASE(pin); in define_ddc_registers() local 178 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers() 179 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers() 182 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers() 183 ddc->base.regs = &ddc_clk_regs_dcn[en].gpio; in define_ddc_registers() 190 ddc->shifts = &ddc_shift[en]; in define_ddc_registers() 191 ddc->masks = &ddc_mask[en]; in define_ddc_registers()
|
| /Linux-v5.4/drivers/gpu/drm/amd/display/dc/gpio/dcn20/ |
| D | hw_factory_dcn20.c | 172 struct hw_ddc *ddc = HW_DDC_FROM_BASE(pin); in define_ddc_registers() local 176 ddc->regs = &ddc_data_regs_dcn[en]; in define_ddc_registers() 177 ddc->base.regs = &ddc_data_regs_dcn[en].gpio; in define_ddc_registers() 180 ddc->regs = &ddc_clk_regs_dcn[en]; in define_ddc_registers() 181 ddc->base.regs = &ddc_clk_regs_dcn[en].gpio; in define_ddc_registers() 188 ddc->shifts = &ddc_shift[en]; in define_ddc_registers() 189 ddc->masks = &ddc_mask[en]; in define_ddc_registers()
|