[Intel-gfx] [PATCH 1/7 resend] drm/i915: Add the support of eDP on DP-D for Ibex/CPT

Florian Mickler florian at mickler.org
Mon Jun 14 10:21:03 CEST 2010


On Sun, 13 Jun 2010 09:06:32 +0800
ykzhao <yakui.zhao at intel.com> wrote:

> On Sat, 2010-06-12 at 16:28 +0800, Chris Wilson wrote:
> > On Sat, 12 Jun 2010 14:32:21 +0800, Zhenyu Wang <zhenyuw at linux.intel.com> wrote:
> > > From: Zhao Yakui <yakui.zhao at intel.com>
> > >  static void
> > > -intel_dp_compute_m_n(int bytes_per_pixel,
> > > +intel_dp_compute_m_n(int bpp,
> > >  		     int nlanes,
> > >  		     int pixel_clock,
> > >  		     int link_clock,
> > >  		     struct intel_dp_m_n *m_n)
> > >  {
> > >  	m_n->tu = 64;
> > > -	m_n->gmch_m = pixel_clock * bytes_per_pixel;
> > > +	m_n->gmch_m = (pixel_clock * bpp) >> 3;
> > >  	m_n->gmch_n = link_clock * nlanes;
> > >  	intel_reduce_ratio(&m_n->gmch_m, &m_n->gmch_n);
> > >  	m_n->link_m = pixel_clock;
> > 
> > This rounds the gmch_m down. Is this correct? And how close to overflow
> > is pixel_clock today?
> 
> The bpp is the abbreviation of bits per pixel and this is not round
> down. It is only to convert the bits per second to bytes per second,
> which will be used to calculation the DP M/N .
> 

You do a bitshift which ignores any fractional part.
So, for example, if pixel_clock*bpp == 7 is true, the result of
(pixel_clock*bpp)>>3 would be 0. Wouldn't it? 

So Chris' question if this is correct is still pending an answer.

It may be correct, but how did you decide what to do there?

Cheers,
Flo



More information about the Intel-gfx mailing list