drm/bridge: ti-sn65dsi86: More renames in prep for sub-devices
Like the previous patch ("drm/bridge: ti-sn65dsi86: Rename the main
driver data structure") this is just a no-op rename in preparation for
splitting the driver up a bit.
Here I've attempted to rename functions / structures making sure that
anything applicable to the whole chip (instead of just the MIPI to eDP
bridge part) included "sn65dsi86" somewhere in the name instead of
just "ti_sn_bridge".
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210423095743.v5.3.I4b28c737933a44548662df42ccd37db89ec739c1@changeid
This commit is contained in:
@@ -164,30 +164,30 @@ struct ti_sn65dsi86 {
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct regmap_range ti_sn_bridge_volatile_ranges[] = {
|
static const struct regmap_range ti_sn65dsi86_volatile_ranges[] = {
|
||||||
{ .range_min = 0, .range_max = 0xFF },
|
{ .range_min = 0, .range_max = 0xFF },
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct regmap_access_table ti_sn_bridge_volatile_table = {
|
static const struct regmap_access_table ti_sn_bridge_volatile_table = {
|
||||||
.yes_ranges = ti_sn_bridge_volatile_ranges,
|
.yes_ranges = ti_sn65dsi86_volatile_ranges,
|
||||||
.n_yes_ranges = ARRAY_SIZE(ti_sn_bridge_volatile_ranges),
|
.n_yes_ranges = ARRAY_SIZE(ti_sn65dsi86_volatile_ranges),
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct regmap_config ti_sn_bridge_regmap_config = {
|
static const struct regmap_config ti_sn65dsi86_regmap_config = {
|
||||||
.reg_bits = 8,
|
.reg_bits = 8,
|
||||||
.val_bits = 8,
|
.val_bits = 8,
|
||||||
.volatile_table = &ti_sn_bridge_volatile_table,
|
.volatile_table = &ti_sn_bridge_volatile_table,
|
||||||
.cache_type = REGCACHE_NONE,
|
.cache_type = REGCACHE_NONE,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void ti_sn_bridge_write_u16(struct ti_sn65dsi86 *pdata,
|
static void ti_sn65dsi86_write_u16(struct ti_sn65dsi86 *pdata,
|
||||||
unsigned int reg, u16 val)
|
unsigned int reg, u16 val)
|
||||||
{
|
{
|
||||||
regmap_write(pdata->regmap, reg, val & 0xFF);
|
regmap_write(pdata->regmap, reg, val & 0xFF);
|
||||||
regmap_write(pdata->regmap, reg + 1, val >> 8);
|
regmap_write(pdata->regmap, reg + 1, val >> 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __maybe_unused ti_sn_bridge_resume(struct device *dev)
|
static int __maybe_unused ti_sn65dsi86_resume(struct device *dev)
|
||||||
{
|
{
|
||||||
struct ti_sn65dsi86 *pdata = dev_get_drvdata(dev);
|
struct ti_sn65dsi86 *pdata = dev_get_drvdata(dev);
|
||||||
int ret;
|
int ret;
|
||||||
@@ -203,7 +203,7 @@ static int __maybe_unused ti_sn_bridge_resume(struct device *dev)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __maybe_unused ti_sn_bridge_suspend(struct device *dev)
|
static int __maybe_unused ti_sn65dsi86_suspend(struct device *dev)
|
||||||
{
|
{
|
||||||
struct ti_sn65dsi86 *pdata = dev_get_drvdata(dev);
|
struct ti_sn65dsi86 *pdata = dev_get_drvdata(dev);
|
||||||
int ret;
|
int ret;
|
||||||
@@ -217,8 +217,8 @@ static int __maybe_unused ti_sn_bridge_suspend(struct device *dev)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct dev_pm_ops ti_sn_bridge_pm_ops = {
|
static const struct dev_pm_ops ti_sn65dsi86_pm_ops = {
|
||||||
SET_RUNTIME_PM_OPS(ti_sn_bridge_suspend, ti_sn_bridge_resume, NULL)
|
SET_RUNTIME_PM_OPS(ti_sn65dsi86_suspend, ti_sn65dsi86_resume, NULL)
|
||||||
SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
|
SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
|
||||||
pm_runtime_force_resume)
|
pm_runtime_force_resume)
|
||||||
};
|
};
|
||||||
@@ -245,7 +245,7 @@ static int status_show(struct seq_file *s, void *data)
|
|||||||
|
|
||||||
DEFINE_SHOW_ATTRIBUTE(status);
|
DEFINE_SHOW_ATTRIBUTE(status);
|
||||||
|
|
||||||
static void ti_sn_debugfs_init(struct ti_sn65dsi86 *pdata)
|
static void ti_sn65dsi86_debugfs_init(struct ti_sn65dsi86 *pdata)
|
||||||
{
|
{
|
||||||
pdata->debugfs = debugfs_create_dir(dev_name(pdata->dev), NULL);
|
pdata->debugfs = debugfs_create_dir(dev_name(pdata->dev), NULL);
|
||||||
|
|
||||||
@@ -253,7 +253,7 @@ static void ti_sn_debugfs_init(struct ti_sn65dsi86 *pdata)
|
|||||||
&status_fops);
|
&status_fops);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ti_sn_debugfs_remove(struct ti_sn65dsi86 *pdata)
|
static void ti_sn65dsi86_debugfs_remove(struct ti_sn65dsi86 *pdata)
|
||||||
{
|
{
|
||||||
debugfs_remove_recursive(pdata->debugfs);
|
debugfs_remove_recursive(pdata->debugfs);
|
||||||
pdata->debugfs = NULL;
|
pdata->debugfs = NULL;
|
||||||
@@ -261,14 +261,14 @@ static void ti_sn_debugfs_remove(struct ti_sn65dsi86 *pdata)
|
|||||||
|
|
||||||
/* Connector funcs */
|
/* Connector funcs */
|
||||||
static struct ti_sn65dsi86 *
|
static struct ti_sn65dsi86 *
|
||||||
connector_to_ti_sn_bridge(struct drm_connector *connector)
|
connector_to_ti_sn65dsi86(struct drm_connector *connector)
|
||||||
{
|
{
|
||||||
return container_of(connector, struct ti_sn65dsi86, connector);
|
return container_of(connector, struct ti_sn65dsi86, connector);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ti_sn_bridge_connector_get_modes(struct drm_connector *connector)
|
static int ti_sn_bridge_connector_get_modes(struct drm_connector *connector)
|
||||||
{
|
{
|
||||||
struct ti_sn65dsi86 *pdata = connector_to_ti_sn_bridge(connector);
|
struct ti_sn65dsi86 *pdata = connector_to_ti_sn65dsi86(connector);
|
||||||
struct edid *edid = pdata->edid;
|
struct edid *edid = pdata->edid;
|
||||||
int num, ret;
|
int num, ret;
|
||||||
|
|
||||||
@@ -314,12 +314,12 @@ static const struct drm_connector_funcs ti_sn_bridge_connector_funcs = {
|
|||||||
.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
|
.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct ti_sn65dsi86 *bridge_to_ti_sn_bridge(struct drm_bridge *bridge)
|
static struct ti_sn65dsi86 *bridge_to_ti_sn65dsi86(struct drm_bridge *bridge)
|
||||||
{
|
{
|
||||||
return container_of(bridge, struct ti_sn65dsi86, bridge);
|
return container_of(bridge, struct ti_sn65dsi86, bridge);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ti_sn_bridge_parse_regulators(struct ti_sn65dsi86 *pdata)
|
static int ti_sn65dsi86_parse_regulators(struct ti_sn65dsi86 *pdata)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
const char * const ti_sn_bridge_supply_names[] = {
|
const char * const ti_sn_bridge_supply_names[] = {
|
||||||
@@ -337,7 +337,7 @@ static int ti_sn_bridge_attach(struct drm_bridge *bridge,
|
|||||||
enum drm_bridge_attach_flags flags)
|
enum drm_bridge_attach_flags flags)
|
||||||
{
|
{
|
||||||
int ret, val;
|
int ret, val;
|
||||||
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn_bridge(bridge);
|
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
|
||||||
struct mipi_dsi_host *host;
|
struct mipi_dsi_host *host;
|
||||||
struct mipi_dsi_device *dsi;
|
struct mipi_dsi_device *dsi;
|
||||||
const struct mipi_dsi_device_info info = { .type = "ti_sn_bridge",
|
const struct mipi_dsi_device_info info = { .type = "ti_sn_bridge",
|
||||||
@@ -426,12 +426,12 @@ err_conn_init:
|
|||||||
|
|
||||||
static void ti_sn_bridge_detach(struct drm_bridge *bridge)
|
static void ti_sn_bridge_detach(struct drm_bridge *bridge)
|
||||||
{
|
{
|
||||||
drm_dp_aux_unregister(&bridge_to_ti_sn_bridge(bridge)->aux);
|
drm_dp_aux_unregister(&bridge_to_ti_sn65dsi86(bridge)->aux);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ti_sn_bridge_disable(struct drm_bridge *bridge)
|
static void ti_sn_bridge_disable(struct drm_bridge *bridge)
|
||||||
{
|
{
|
||||||
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn_bridge(bridge);
|
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
|
||||||
|
|
||||||
drm_panel_disable(pdata->panel);
|
drm_panel_disable(pdata->panel);
|
||||||
|
|
||||||
@@ -649,9 +649,9 @@ static void ti_sn_bridge_set_video_timings(struct ti_sn65dsi86 *pdata)
|
|||||||
if (mode->flags & DRM_MODE_FLAG_PVSYNC)
|
if (mode->flags & DRM_MODE_FLAG_PVSYNC)
|
||||||
vsync_polarity = CHA_VSYNC_POLARITY;
|
vsync_polarity = CHA_VSYNC_POLARITY;
|
||||||
|
|
||||||
ti_sn_bridge_write_u16(pdata, SN_CHA_ACTIVE_LINE_LENGTH_LOW_REG,
|
ti_sn65dsi86_write_u16(pdata, SN_CHA_ACTIVE_LINE_LENGTH_LOW_REG,
|
||||||
mode->hdisplay);
|
mode->hdisplay);
|
||||||
ti_sn_bridge_write_u16(pdata, SN_CHA_VERTICAL_DISPLAY_SIZE_LOW_REG,
|
ti_sn65dsi86_write_u16(pdata, SN_CHA_VERTICAL_DISPLAY_SIZE_LOW_REG,
|
||||||
mode->vdisplay);
|
mode->vdisplay);
|
||||||
regmap_write(pdata->regmap, SN_CHA_HSYNC_PULSE_WIDTH_LOW_REG,
|
regmap_write(pdata->regmap, SN_CHA_HSYNC_PULSE_WIDTH_LOW_REG,
|
||||||
(mode->hsync_end - mode->hsync_start) & 0xFF);
|
(mode->hsync_end - mode->hsync_start) & 0xFF);
|
||||||
@@ -752,7 +752,7 @@ exit:
|
|||||||
|
|
||||||
static void ti_sn_bridge_enable(struct drm_bridge *bridge)
|
static void ti_sn_bridge_enable(struct drm_bridge *bridge)
|
||||||
{
|
{
|
||||||
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn_bridge(bridge);
|
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
|
||||||
bool rate_valid[ARRAY_SIZE(ti_sn_bridge_dp_rate_lut)] = { };
|
bool rate_valid[ARRAY_SIZE(ti_sn_bridge_dp_rate_lut)] = { };
|
||||||
const char *last_err_str = "No supported DP rate";
|
const char *last_err_str = "No supported DP rate";
|
||||||
int dp_rate_idx;
|
int dp_rate_idx;
|
||||||
@@ -823,7 +823,7 @@ static void ti_sn_bridge_enable(struct drm_bridge *bridge)
|
|||||||
|
|
||||||
static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge)
|
static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge)
|
||||||
{
|
{
|
||||||
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn_bridge(bridge);
|
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
|
||||||
|
|
||||||
pm_runtime_get_sync(pdata->dev);
|
pm_runtime_get_sync(pdata->dev);
|
||||||
|
|
||||||
@@ -854,7 +854,7 @@ static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge)
|
|||||||
|
|
||||||
static void ti_sn_bridge_post_disable(struct drm_bridge *bridge)
|
static void ti_sn_bridge_post_disable(struct drm_bridge *bridge)
|
||||||
{
|
{
|
||||||
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn_bridge(bridge);
|
struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
|
||||||
|
|
||||||
drm_panel_unprepare(pdata->panel);
|
drm_panel_unprepare(pdata->panel);
|
||||||
|
|
||||||
@@ -872,7 +872,7 @@ static const struct drm_bridge_funcs ti_sn_bridge_funcs = {
|
|||||||
.post_disable = ti_sn_bridge_post_disable,
|
.post_disable = ti_sn_bridge_post_disable,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct ti_sn65dsi86 *aux_to_ti_sn_bridge(struct drm_dp_aux *aux)
|
static struct ti_sn65dsi86 *aux_to_ti_sn65dsi86(struct drm_dp_aux *aux)
|
||||||
{
|
{
|
||||||
return container_of(aux, struct ti_sn65dsi86, aux);
|
return container_of(aux, struct ti_sn65dsi86, aux);
|
||||||
}
|
}
|
||||||
@@ -880,7 +880,7 @@ static struct ti_sn65dsi86 *aux_to_ti_sn_bridge(struct drm_dp_aux *aux)
|
|||||||
static ssize_t ti_sn_aux_transfer(struct drm_dp_aux *aux,
|
static ssize_t ti_sn_aux_transfer(struct drm_dp_aux *aux,
|
||||||
struct drm_dp_aux_msg *msg)
|
struct drm_dp_aux_msg *msg)
|
||||||
{
|
{
|
||||||
struct ti_sn65dsi86 *pdata = aux_to_ti_sn_bridge(aux);
|
struct ti_sn65dsi86 *pdata = aux_to_ti_sn65dsi86(aux);
|
||||||
u32 request = msg->request & ~(DP_AUX_I2C_MOT | DP_AUX_I2C_WRITE_STATUS_UPDATE);
|
u32 request = msg->request & ~(DP_AUX_I2C_MOT | DP_AUX_I2C_WRITE_STATUS_UPDATE);
|
||||||
u32 request_val = AUX_CMD_REQ(msg->request);
|
u32 request_val = AUX_CMD_REQ(msg->request);
|
||||||
u8 *buf = msg->buffer;
|
u8 *buf = msg->buffer;
|
||||||
@@ -1214,7 +1214,7 @@ static void ti_sn_bridge_parse_lanes(struct ti_sn65dsi86 *pdata,
|
|||||||
pdata->ln_polrs = ln_polrs;
|
pdata->ln_polrs = ln_polrs;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ti_sn_bridge_probe(struct i2c_client *client,
|
static int ti_sn65dsi86_probe(struct i2c_client *client,
|
||||||
const struct i2c_device_id *id)
|
const struct i2c_device_id *id)
|
||||||
{
|
{
|
||||||
struct ti_sn65dsi86 *pdata;
|
struct ti_sn65dsi86 *pdata;
|
||||||
@@ -1231,7 +1231,7 @@ static int ti_sn_bridge_probe(struct i2c_client *client,
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
pdata->regmap = devm_regmap_init_i2c(client,
|
pdata->regmap = devm_regmap_init_i2c(client,
|
||||||
&ti_sn_bridge_regmap_config);
|
&ti_sn65dsi86_regmap_config);
|
||||||
if (IS_ERR(pdata->regmap)) {
|
if (IS_ERR(pdata->regmap)) {
|
||||||
DRM_ERROR("regmap i2c init failed\n");
|
DRM_ERROR("regmap i2c init failed\n");
|
||||||
return PTR_ERR(pdata->regmap);
|
return PTR_ERR(pdata->regmap);
|
||||||
@@ -1258,7 +1258,7 @@ static int ti_sn_bridge_probe(struct i2c_client *client,
|
|||||||
|
|
||||||
ti_sn_bridge_parse_lanes(pdata, client->dev.of_node);
|
ti_sn_bridge_parse_lanes(pdata, client->dev.of_node);
|
||||||
|
|
||||||
ret = ti_sn_bridge_parse_regulators(pdata);
|
ret = ti_sn65dsi86_parse_regulators(pdata);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
DRM_ERROR("failed to parse regulators\n");
|
DRM_ERROR("failed to parse regulators\n");
|
||||||
return ret;
|
return ret;
|
||||||
@@ -1292,12 +1292,12 @@ static int ti_sn_bridge_probe(struct i2c_client *client,
|
|||||||
|
|
||||||
drm_bridge_add(&pdata->bridge);
|
drm_bridge_add(&pdata->bridge);
|
||||||
|
|
||||||
ti_sn_debugfs_init(pdata);
|
ti_sn65dsi86_debugfs_init(pdata);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ti_sn_bridge_remove(struct i2c_client *client)
|
static int ti_sn65dsi86_remove(struct i2c_client *client)
|
||||||
{
|
{
|
||||||
struct ti_sn65dsi86 *pdata = i2c_get_clientdata(client);
|
struct ti_sn65dsi86 *pdata = i2c_get_clientdata(client);
|
||||||
|
|
||||||
@@ -1311,7 +1311,7 @@ static int ti_sn_bridge_remove(struct i2c_client *client)
|
|||||||
|
|
||||||
kfree(pdata->edid);
|
kfree(pdata->edid);
|
||||||
|
|
||||||
ti_sn_debugfs_remove(pdata);
|
ti_sn65dsi86_debugfs_remove(pdata);
|
||||||
|
|
||||||
drm_bridge_remove(&pdata->bridge);
|
drm_bridge_remove(&pdata->bridge);
|
||||||
|
|
||||||
@@ -1322,29 +1322,29 @@ static int ti_sn_bridge_remove(struct i2c_client *client)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct i2c_device_id ti_sn_bridge_id[] = {
|
static struct i2c_device_id ti_sn65dsi86_id[] = {
|
||||||
{ "ti,sn65dsi86", 0},
|
{ "ti,sn65dsi86", 0},
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(i2c, ti_sn_bridge_id);
|
MODULE_DEVICE_TABLE(i2c, ti_sn65dsi86_id);
|
||||||
|
|
||||||
static const struct of_device_id ti_sn_bridge_match_table[] = {
|
static const struct of_device_id ti_sn65dsi86_match_table[] = {
|
||||||
{.compatible = "ti,sn65dsi86"},
|
{.compatible = "ti,sn65dsi86"},
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(of, ti_sn_bridge_match_table);
|
MODULE_DEVICE_TABLE(of, ti_sn65dsi86_match_table);
|
||||||
|
|
||||||
static struct i2c_driver ti_sn_bridge_driver = {
|
static struct i2c_driver ti_sn65dsi86_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "ti_sn65dsi86",
|
.name = "ti_sn65dsi86",
|
||||||
.of_match_table = ti_sn_bridge_match_table,
|
.of_match_table = ti_sn65dsi86_match_table,
|
||||||
.pm = &ti_sn_bridge_pm_ops,
|
.pm = &ti_sn65dsi86_pm_ops,
|
||||||
},
|
},
|
||||||
.probe = ti_sn_bridge_probe,
|
.probe = ti_sn65dsi86_probe,
|
||||||
.remove = ti_sn_bridge_remove,
|
.remove = ti_sn65dsi86_remove,
|
||||||
.id_table = ti_sn_bridge_id,
|
.id_table = ti_sn65dsi86_id,
|
||||||
};
|
};
|
||||||
module_i2c_driver(ti_sn_bridge_driver);
|
module_i2c_driver(ti_sn65dsi86_driver);
|
||||||
|
|
||||||
MODULE_AUTHOR("Sandeep Panda <spanda@codeaurora.org>");
|
MODULE_AUTHOR("Sandeep Panda <spanda@codeaurora.org>");
|
||||||
MODULE_DESCRIPTION("sn65dsi86 DSI to eDP bridge driver");
|
MODULE_DESCRIPTION("sn65dsi86 DSI to eDP bridge driver");
|
||||||
|
|||||||
Reference in New Issue
Block a user