summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSanjay Singh Rawat <srawat@nvidia.com>2011-09-29 12:16:32 +0530
committerCheryl Jones <chjones@nvidia.com>2011-09-29 16:38:37 -0700
commita36203b0493272a2304d6f6f6a4e44f8e316548b (patch)
treeed778a2660f2542c3a4949b0db397fa489e71785
parent2675f16ffa2b7bcf2ec73e491197ad44e319ac83 (diff)
video: tegra: Do correct pixel clock validation of HDMI sink
Resolution wise the pixel clock of the peripheral and supported resolution mode if found different was checked whether in permissible range or not. PICOS2KHZ macro argument is taken as denominator in division, in multiple argument case care should be taken. Bug 878912 Similar Bug 872389 Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com> Reviewed-on: http://git-master/r/54050 (cherry picked from commit 927b647e437133a9d28336ed697447e41b09b9c7) Change-Id: Ife7f675e2f2ec8601a953ba096e2b8a5dd0dc684 Reviewed-on: http://git-master/r/55137 Reviewed-by: Donghan Ryu <dryu@nvidia.com> Tested-by: Sanjay Singh Rawat <srawat@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rw-r--r--drivers/video/tegra/dc/hdmi.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/video/tegra/dc/hdmi.c b/drivers/video/tegra/dc/hdmi.c
index 9850ddc14ec2..b239fd459791 100644
--- a/drivers/video/tegra/dc/hdmi.c
+++ b/drivers/video/tegra/dc/hdmi.c
@@ -506,14 +506,15 @@ static bool tegra_dc_hdmi_mode_equal(const struct fb_videomode *mode1,
/* allows up to 1Hz of pixclock difference */
if (mode1->pixclock != mode2->pixclock) {
return (mode1->xres == mode2->xres &&
- mode1->yres == mode2->yres &&
- (abs(PICOS2KHZ(mode1->pixclock - mode2->pixclock)) * 1000
- / clock_per_frame <= 1) &&
- mode1->vmode == mode2->vmode);
+ mode1->yres == mode2->yres &&
+ mode1->vmode == mode2->vmode &&
+ (abs(PICOS2KHZ(mode1->pixclock) -
+ PICOS2KHZ(mode2->pixclock)) *
+ 1000 / clock_per_frame <= 1));
} else {
return (mode1->xres == mode2->xres &&
- mode1->yres == mode2->yres &&
- mode1->vmode == mode2->vmode);
+ mode1->yres == mode2->yres &&
+ mode1->vmode == mode2->vmode);
}
}