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 -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCXZ8M5QAKCRDj7w1vZxhR xdZJAPwKlAZEewcvWlQCd8wZrxEhnR+lzItwYQ7R9bgBUlcqVwD7BKDg0z1RziqM OPvY8tZ2P5soldHVil2NV8WhLUachwM= =I6Q8 -----END PGP SIGNATURE----- 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: Dave Airlie <airlied@redhat.com> From: Maxime Ripard <mripard@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20191010105137.j6juxht5dsobgxph@gilmour
This commit is contained in:
Коммит
437c5a15bb
|
@ -728,6 +728,8 @@ static int tc_set_video_mode(struct tc_data *tc,
|
|||
int lower_margin = mode->vsync_start - mode->vdisplay;
|
||||
int vsync_len = mode->vsync_end - mode->vsync_start;
|
||||
u32 dp0_syncval;
|
||||
u32 bits_per_pixel = 24;
|
||||
u32 in_bw, out_bw;
|
||||
|
||||
/*
|
||||
* Recommended maximum number of symbols transferred in a transfer unit:
|
||||
|
@ -735,7 +737,10 @@ static int tc_set_video_mode(struct tc_data *tc,
|
|||
* (output active video bandwidth in bytes))
|
||||
* 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",
|
||||
mode->hdisplay, mode->vdisplay);
|
||||
|
|
|
@ -220,9 +220,17 @@ static const struct of_device_id 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 = {
|
||||
.probe = lb035q02_probe,
|
||||
.remove = lb035q02_remove,
|
||||
.id_table = lb035q02_ids,
|
||||
.driver = {
|
||||
.name = "panel-lg-lb035q02",
|
||||
.of_match_table = lb035q02_of_match,
|
||||
|
@ -231,7 +239,6 @@ static struct spi_driver lb035q02_driver = {
|
|||
|
||||
module_spi_driver(lb035q02_driver);
|
||||
|
||||
MODULE_ALIAS("spi:lgphilips,lb035q02");
|
||||
MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@ti.com>");
|
||||
MODULE_DESCRIPTION("LG.Philips LB035Q02 LCD Panel driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
|
@ -230,9 +230,17 @@ static const struct of_device_id 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 = {
|
||||
.probe = nl8048_probe,
|
||||
.remove = nl8048_remove,
|
||||
.id_table = nl8048_ids,
|
||||
.driver = {
|
||||
.name = "panel-nec-nl8048hl11",
|
||||
.pm = &nl8048_pm_ops,
|
||||
|
@ -242,7 +250,6 @@ static struct spi_driver nl8048_driver = {
|
|||
|
||||
module_spi_driver(nl8048_driver);
|
||||
|
||||
MODULE_ALIAS("spi:nec,nl8048hl11");
|
||||
MODULE_AUTHOR("Erik Gilling <konkers@android.com>");
|
||||
MODULE_DESCRIPTION("NEC-NL8048HL11 Driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
|
@ -684,9 +684,17 @@ static const struct of_device_id 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 = {
|
||||
.probe = acx565akm_probe,
|
||||
.remove = acx565akm_remove,
|
||||
.id_table = acx565akm_ids,
|
||||
.driver = {
|
||||
.name = "panel-sony-acx565akm",
|
||||
.of_match_table = acx565akm_of_match,
|
||||
|
@ -695,7 +703,6 @@ static struct spi_driver acx565akm_driver = {
|
|||
|
||||
module_spi_driver(acx565akm_driver);
|
||||
|
||||
MODULE_ALIAS("spi:sony,acx565akm");
|
||||
MODULE_AUTHOR("Nokia Corporation");
|
||||
MODULE_DESCRIPTION("Sony ACX565AKM LCD Panel Driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
|
@ -375,8 +375,7 @@ static const struct of_device_id td028ttec1_of_match[] = {
|
|||
MODULE_DEVICE_TABLE(of, td028ttec1_of_match);
|
||||
|
||||
static const struct spi_device_id td028ttec1_ids[] = {
|
||||
{ "tpo,td028ttec1", 0},
|
||||
{ "toppoly,td028ttec1", 0 },
|
||||
{ "td028ttec1", 0 },
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
|
|
|
@ -491,9 +491,17 @@ static const struct of_device_id 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 = {
|
||||
.probe = td043mtea1_probe,
|
||||
.remove = td043mtea1_remove,
|
||||
.id_table = td043mtea1_ids,
|
||||
.driver = {
|
||||
.name = "panel-tpo-td043mtea1",
|
||||
.pm = &td043mtea1_pm_ops,
|
||||
|
@ -503,7 +511,6 @@ static struct spi_driver td043mtea1_driver = {
|
|||
|
||||
module_spi_driver(td043mtea1_driver);
|
||||
|
||||
MODULE_ALIAS("spi:tpo,td043mtea1");
|
||||
MODULE_AUTHOR("Gražvydas Ignotas <notasas@gmail.com>");
|
||||
MODULE_DESCRIPTION("TPO TD043MTEA1 Panel Driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
Загрузка…
Ссылка в новой задаче