lkml.org 
[lkml]   [2013]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 6/8] drm/i2c: tda998x: fix sync generation and calculation
On Tue, Aug 06, 2013 at 12:20:16AM +0200, Sebastian Hesselbarth wrote:
> + de_pix_s = mode->htotal - mode->hdisplay;
> + de_pix_e = de_pix_s + mode->hdisplay;
> + hs_pix_s = mode->hsync_start - mode->hdisplay;
> + hs_pix_e = hs_pix_s + mode->hsync_end - mode->hsync_start;

I still think the above is over-complicating the calculation and making it
less readable.

The values in 'mode' represent this timing representation:
0=hds hde hss hse ht
|-----------------------------------------|----->|--->|---->|

What we want to do is to rotate that around to this:
0 hss hse hds ht=hde
|----->|--->|---->|-----------------------------------------|

From that, you can see quite clearly that the end of the displayed line
is now at htotal, and the start of the displayed line (hds) is hdisplay
clocks before that. So:

de_pix_e = mode->htotal;
de_pix_s = de_pix_e - mode->hdisplay;

Everything else (hss, hse) has moved to the left by hdisplay clocks, so:

hs_pix_s = mode->hsync_start - mode->hdisplay;
hs_pix_e = mode->hsync_end - mode->hdisplay;

That's what you get if you simplify your calculations as well. If we then
go back and look at the original code:

- hs_start = mode->hsync_start - mode->hdisplay;
- hs_end = mode->hsync_end - mode->hdisplay;
- de_start = mode->htotal - mode->hdisplay;
- de_end = mode->htotal;

it's what was originally there, so I don't see any point in touching that
calculation.

We also have:

- ref_pix = 3 + hs_start;
+ ref_pix = 3 + mode->hsync_start - mode->hdisplay;

which we can see is also the same calculation in essence. I don't think
the change helps readability.


\
 
 \ /
  Last update: 2013-08-14 15:01    [W:0.126 / U:1.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site