diff options
| -rw-r--r-- | drivers/video/sh_mobile_hdmi.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/video/sh_mobile_hdmi.c b/drivers/video/sh_mobile_hdmi.c index ef41c215abae..3adffe6acafc 100644 --- a/drivers/video/sh_mobile_hdmi.c +++ b/drivers/video/sh_mobile_hdmi.c | |||
| @@ -466,7 +466,7 @@ static void sh_hdmi_audio_config(struct sh_hdmi *hdmi) | |||
| 466 | */ | 466 | */ |
| 467 | static void sh_hdmi_phy_config(struct sh_hdmi *hdmi) | 467 | static void sh_hdmi_phy_config(struct sh_hdmi *hdmi) |
| 468 | { | 468 | { |
| 469 | if (hdmi->var.yres > 480) { | 469 | if (hdmi->var.pixclock < 30000) { |
| 470 | /* 720p, 8bit, 74.25MHz. Might need to be adjusted for other formats */ | 470 | /* 720p, 8bit, 74.25MHz. Might need to be adjusted for other formats */ |
| 471 | /* | 471 | /* |
| 472 | * [1:0] Speed_A | 472 | * [1:0] Speed_A |
| @@ -570,8 +570,12 @@ static void sh_hdmi_avi_infoframe_setup(struct sh_hdmi *hdmi) | |||
| 570 | */ | 570 | */ |
| 571 | if (hdmi->var.yres == 1080 && hdmi->var.xres == 1920) | 571 | if (hdmi->var.yres == 1080 && hdmi->var.xres == 1920) |
| 572 | vic = 16; | 572 | vic = 16; |
| 573 | else if (hdmi->var.yres == 576 && hdmi->var.xres == 720) | ||
| 574 | vic = 17; | ||
| 573 | else if (hdmi->var.yres == 480 && hdmi->var.xres == 720) | 575 | else if (hdmi->var.yres == 480 && hdmi->var.xres == 720) |
| 574 | vic = 2; | 576 | vic = 2; |
| 577 | else if (hdmi->var.yres == 480 && hdmi->var.xres == 640) | ||
| 578 | vic = 1; | ||
| 575 | else | 579 | else |
| 576 | vic = 4; | 580 | vic = 4; |
| 577 | hdmi_write(hdmi, vic, HDMI_CTRL_PKT_BUF_ACCESS_PB4); | 581 | hdmi_write(hdmi, vic, HDMI_CTRL_PKT_BUF_ACCESS_PB4); |
| @@ -824,9 +828,11 @@ static int sh_hdmi_read_edid(struct sh_hdmi *hdmi, unsigned long *hdmi_rate, | |||
| 824 | if (!found) | 828 | if (!found) |
| 825 | return -ENXIO; | 829 | return -ENXIO; |
| 826 | 830 | ||
| 827 | if ((found->xres == 720 && found->yres == 480) || | 831 | if ((found->xres == 640 && found->yres == 480 && found->refresh == 60) || |
| 828 | (found->xres == 1280 && found->yres == 720) || | 832 | (found->xres == 720 && found->yres == 480 && found->refresh == 60) || |
| 829 | (found->xres == 1920 && found->yres == 1080)) | 833 | (found->xres == 720 && found->yres == 576 && found->refresh == 50) || |
| 834 | (found->xres == 1280 && found->yres == 720 && found->refresh == 60) || | ||
| 835 | (found->xres == 1920 && found->yres == 1080 && found->refresh == 60)) | ||
| 830 | hdmi->preprogrammed_mode = true; | 836 | hdmi->preprogrammed_mode = true; |
| 831 | else | 837 | else |
| 832 | hdmi->preprogrammed_mode = false; | 838 | hdmi->preprogrammed_mode = false; |
