Commit 437c5a15 authored by Dave Airlie's avatar Dave Airlie

Merge tag 'drm-misc-fixes-2019-10-10' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes

Short summary of fixes pull (less than what git shortlog provides):
- SPI Aliases fixes for panels
- One fix for the tc358767 bridge dealing with visual artifacts
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>

From: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20191010105137.j6juxht5dsobgxph@gilmour
parents da0c9ea1 fd70c775
...@@ -728,6 +728,8 @@ static int tc_set_video_mode(struct tc_data *tc, ...@@ -728,6 +728,8 @@ static int tc_set_video_mode(struct tc_data *tc,
int lower_margin = mode->vsync_start - mode->vdisplay; int lower_margin = mode->vsync_start - mode->vdisplay;
int vsync_len = mode->vsync_end - mode->vsync_start; int vsync_len = mode->vsync_end - mode->vsync_start;
u32 dp0_syncval; u32 dp0_syncval;
u32 bits_per_pixel = 24;
u32 in_bw, out_bw;
/* /*
* Recommended maximum number of symbols transferred in a transfer unit: * Recommended maximum number of symbols transferred in a transfer unit:
...@@ -735,7 +737,10 @@ static int tc_set_video_mode(struct tc_data *tc, ...@@ -735,7 +737,10 @@ static int tc_set_video_mode(struct tc_data *tc,
* (output active video bandwidth in bytes)) * (output active video bandwidth in bytes))
* Must be less than tu_size. * Must be less than tu_size.
*/ */
max_tu_symbol = TU_SIZE_RECOMMENDED - 1;
in_bw = mode->clock * bits_per_pixel / 8;
out_bw = tc->link.base.num_lanes * tc->link.base.rate;
max_tu_symbol = DIV_ROUND_UP(in_bw * TU_SIZE_RECOMMENDED, out_bw);
dev_dbg(tc->dev, "set mode %dx%d\n", dev_dbg(tc->dev, "set mode %dx%d\n",
mode->hdisplay, mode->vdisplay); mode->hdisplay, mode->vdisplay);
......
...@@ -220,9 +220,17 @@ static const struct of_device_id lb035q02_of_match[] = { ...@@ -220,9 +220,17 @@ static const struct of_device_id lb035q02_of_match[] = {
MODULE_DEVICE_TABLE(of, lb035q02_of_match); MODULE_DEVICE_TABLE(of, lb035q02_of_match);
static const struct spi_device_id lb035q02_ids[] = {
{ "lb035q02", 0 },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(spi, lb035q02_ids);
static struct spi_driver lb035q02_driver = { static struct spi_driver lb035q02_driver = {
.probe = lb035q02_probe, .probe = lb035q02_probe,
.remove = lb035q02_remove, .remove = lb035q02_remove,
.id_table = lb035q02_ids,
.driver = { .driver = {
.name = "panel-lg-lb035q02", .name = "panel-lg-lb035q02",
.of_match_table = lb035q02_of_match, .of_match_table = lb035q02_of_match,
...@@ -231,7 +239,6 @@ static struct spi_driver lb035q02_driver = { ...@@ -231,7 +239,6 @@ static struct spi_driver lb035q02_driver = {
module_spi_driver(lb035q02_driver); module_spi_driver(lb035q02_driver);
MODULE_ALIAS("spi:lgphilips,lb035q02");
MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@ti.com>"); MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@ti.com>");
MODULE_DESCRIPTION("LG.Philips LB035Q02 LCD Panel driver"); MODULE_DESCRIPTION("LG.Philips LB035Q02 LCD Panel driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -230,9 +230,17 @@ static const struct of_device_id nl8048_of_match[] = { ...@@ -230,9 +230,17 @@ static const struct of_device_id nl8048_of_match[] = {
MODULE_DEVICE_TABLE(of, nl8048_of_match); MODULE_DEVICE_TABLE(of, nl8048_of_match);
static const struct spi_device_id nl8048_ids[] = {
{ "nl8048hl11", 0 },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(spi, nl8048_ids);
static struct spi_driver nl8048_driver = { static struct spi_driver nl8048_driver = {
.probe = nl8048_probe, .probe = nl8048_probe,
.remove = nl8048_remove, .remove = nl8048_remove,
.id_table = nl8048_ids,
.driver = { .driver = {
.name = "panel-nec-nl8048hl11", .name = "panel-nec-nl8048hl11",
.pm = &nl8048_pm_ops, .pm = &nl8048_pm_ops,
...@@ -242,7 +250,6 @@ static struct spi_driver nl8048_driver = { ...@@ -242,7 +250,6 @@ static struct spi_driver nl8048_driver = {
module_spi_driver(nl8048_driver); module_spi_driver(nl8048_driver);
MODULE_ALIAS("spi:nec,nl8048hl11");
MODULE_AUTHOR("Erik Gilling <konkers@android.com>"); MODULE_AUTHOR("Erik Gilling <konkers@android.com>");
MODULE_DESCRIPTION("NEC-NL8048HL11 Driver"); MODULE_DESCRIPTION("NEC-NL8048HL11 Driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -684,9 +684,17 @@ static const struct of_device_id acx565akm_of_match[] = { ...@@ -684,9 +684,17 @@ static const struct of_device_id acx565akm_of_match[] = {
MODULE_DEVICE_TABLE(of, acx565akm_of_match); MODULE_DEVICE_TABLE(of, acx565akm_of_match);
static const struct spi_device_id acx565akm_ids[] = {
{ "acx565akm", 0 },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(spi, acx565akm_ids);
static struct spi_driver acx565akm_driver = { static struct spi_driver acx565akm_driver = {
.probe = acx565akm_probe, .probe = acx565akm_probe,
.remove = acx565akm_remove, .remove = acx565akm_remove,
.id_table = acx565akm_ids,
.driver = { .driver = {
.name = "panel-sony-acx565akm", .name = "panel-sony-acx565akm",
.of_match_table = acx565akm_of_match, .of_match_table = acx565akm_of_match,
...@@ -695,7 +703,6 @@ static struct spi_driver acx565akm_driver = { ...@@ -695,7 +703,6 @@ static struct spi_driver acx565akm_driver = {
module_spi_driver(acx565akm_driver); module_spi_driver(acx565akm_driver);
MODULE_ALIAS("spi:sony,acx565akm");
MODULE_AUTHOR("Nokia Corporation"); MODULE_AUTHOR("Nokia Corporation");
MODULE_DESCRIPTION("Sony ACX565AKM LCD Panel Driver"); MODULE_DESCRIPTION("Sony ACX565AKM LCD Panel Driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -375,8 +375,7 @@ static const struct of_device_id td028ttec1_of_match[] = { ...@@ -375,8 +375,7 @@ static const struct of_device_id td028ttec1_of_match[] = {
MODULE_DEVICE_TABLE(of, td028ttec1_of_match); MODULE_DEVICE_TABLE(of, td028ttec1_of_match);
static const struct spi_device_id td028ttec1_ids[] = { static const struct spi_device_id td028ttec1_ids[] = {
{ "tpo,td028ttec1", 0}, { "td028ttec1", 0 },
{ "toppoly,td028ttec1", 0 },
{ /* sentinel */ } { /* sentinel */ }
}; };
......
...@@ -491,9 +491,17 @@ static const struct of_device_id td043mtea1_of_match[] = { ...@@ -491,9 +491,17 @@ static const struct of_device_id td043mtea1_of_match[] = {
MODULE_DEVICE_TABLE(of, td043mtea1_of_match); MODULE_DEVICE_TABLE(of, td043mtea1_of_match);
static const struct spi_device_id td043mtea1_ids[] = {
{ "td043mtea1", 0 },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(spi, td043mtea1_ids);
static struct spi_driver td043mtea1_driver = { static struct spi_driver td043mtea1_driver = {
.probe = td043mtea1_probe, .probe = td043mtea1_probe,
.remove = td043mtea1_remove, .remove = td043mtea1_remove,
.id_table = td043mtea1_ids,
.driver = { .driver = {
.name = "panel-tpo-td043mtea1", .name = "panel-tpo-td043mtea1",
.pm = &td043mtea1_pm_ops, .pm = &td043mtea1_pm_ops,
...@@ -503,7 +511,6 @@ static struct spi_driver td043mtea1_driver = { ...@@ -503,7 +511,6 @@ static struct spi_driver td043mtea1_driver = {
module_spi_driver(td043mtea1_driver); module_spi_driver(td043mtea1_driver);
MODULE_ALIAS("spi:tpo,td043mtea1");
MODULE_AUTHOR("Gražvydas Ignotas <notasas@gmail.com>"); MODULE_AUTHOR("Gražvydas Ignotas <notasas@gmail.com>");
MODULE_DESCRIPTION("TPO TD043MTEA1 Panel Driver"); MODULE_DESCRIPTION("TPO TD043MTEA1 Panel Driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment