All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Eoff, Ullysses A" <ullysses.a.eoff@intel.com>
To: Jani Nikula <jani.nikula@linux.intel.com>,
	Joe Konno <joe.konno@linux.intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH] drm/i915: intel_backlight scale() math WA v2
Date: Mon, 29 Sep 2014 17:50:57 +0000	[thread overview]
Message-ID: <8B5BDC21C48FAF4CA5D7E3FE1A63A9087086243A@ORSMSX111.amr.corp.intel.com> (raw)
In-Reply-To: <87iok6lgmy.fsf@intel.com>

> -----Original Message-----
> From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On Behalf Of Jani Nikula
> Sent: Monday, September 29, 2014 6:07 AM
> To: Joe Konno; intel-gfx@lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH] drm/i915: intel_backlight scale() math WA v2
> 
> On Wed, 24 Sep 2014, Joe Konno <joe.konno@linux.intel.com> wrote:
> > From: Joe Konno <joe.konno@intel.com>
> >
> > Improper truncated integer division in the scale() function causes
> > actual_brightness != brightness. This (partial) work-around should be
> > sufficient for a majority of use-cases, but it is by no means a complete
> > solution.
> >
> > TODO: Determine how best to scale "user" values to "hw" values, and
> > vice-versa, when the ranges are of different sizes. That would be a
> > buggy scenario even with this work-around.
> >
> > The issue was introduced in the following (v3.17-rc1) commit:
> >
> >     6dda730 drm/i915: respect the VBT minimum backlight brightness
> >
> > v2: (thanks to Chris Wilson) clarify commit message, use rounded division
> > macro
> >
> > Signed-off-by: Joe Konno <joe.konno@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_panel.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> > index f17ada3..dcdfbb3 100644
> > --- a/drivers/gpu/drm/i915/intel_panel.c
> > +++ b/drivers/gpu/drm/i915/intel_panel.c
> > @@ -421,7 +421,7 @@ static uint32_t scale(uint32_t source_val,
> >  	/* avoid overflows */
> >  	target_val = (uint64_t)(source_val - source_min) *
> >  		(target_max - target_min);
> > -	do_div(target_val, source_max - source_min);
> > +	target_val = DIV_ROUND_CLOSEST(target_val, source_max - source_min);
> 
> This fails to build with CONFIG_X86_32=y:
> 
> drivers/built-in.o: In function `scale':
> intel_panel.c:(.text+0x12ab38): undefined reference to `__udivdi3'
> make: *** [vmlinux] Error 1
> 
> 

Do you have a recommended workaround?  Should we just
use the v1 technique instead?

U. Artie

> BR,
> Jani.
> 
> 
> >  	target_val += target_min;
> >
> >  	return target_val;
> > --
> > 2.1.0
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> --
> Jani Nikula, Intel Open Source Technology Center
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2014-09-29 17:54 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-24 15:54 [PATCH] drm/i915: intel_backlight scale() math WA v2 Joe Konno
2014-09-24 16:06 ` Hans de Goede
2014-09-24 17:07   ` Jani Nikula
2014-09-24 17:41     ` Eoff, Ullysses A
2014-11-08 17:03       ` Eoff, Ullysses A
2014-11-10 11:16         ` Jani Nikula
2014-11-10 14:15           ` Jani Nikula
2014-11-10 17:08             ` Jesse Barnes
2014-09-26 17:15 ` Eoff, Ullysses A
2014-09-29 13:07 ` Jani Nikula
2014-09-29 17:50   ` Eoff, Ullysses A [this message]
2014-09-29 18:46     ` Chris Wilson
2014-09-29 19:31     ` Damien Lespiau
2014-09-29 20:34       ` Eoff, Ullysses A

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8B5BDC21C48FAF4CA5D7E3FE1A63A9087086243A@ORSMSX111.amr.corp.intel.com \
    --to=ullysses.a.eoff@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=joe.konno@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.