lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 28 Sep 2010 09:37:33 +0200
From:	Arun MURTHY <arun.murthy@...ricsson.com>
To:	"rpurdie@...ys.net" <rpurdie@...ys.net>,
	"linux@...tec.co.uk" <linux@...tec.co.uk>,
	"ben@...tec.co.uk" <ben@...tec.co.uk>,
	"tj@...nel.org" <tj@...nel.org>
Cc:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Arun MURTHY <arun.murthy@...ricsson.com>,
	Linus WALLEIJ <linus.walleij@...ricsson.com>,
	"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>
Subject: RE: [PATCH] backlight: add low threshold to pwm backlight

If there are no comments, can you please pick this patch?

Thanks and Regards,
Arun R Murthy
-------------

> -----Original Message-----
> From: Arun MURTHY
> Sent: Tuesday, September 14, 2010 12:36 PM
> To: Arun MURTHY; rpurdie@...ys.net; linux@...tec.co.uk;
> ben@...tec.co.uk; tj@...nel.org
> Cc: linux-kernel@...r.kernel.org; STEricsson_nomadik_linux
> Subject: RE: [PATCH] backlight: add low threshold to pwm backlight
> 
> Any comments?
> 
> > -----Original Message-----
> > From: Arun MURTHY
> > Sent: Thursday, September 09, 2010 5:00 PM
> > To: rpurdie@...ys.net; linux@...tec.co.uk; ben@...tec.co.uk;
> > tj@...nel.org
> > Cc: linux-kernel@...r.kernel.org; STEricsson_nomadik_linux; Arun
> MURTHY
> > Subject: [PATCH] backlight: add low threshold to pwm backlight
> >
> > The intensity of the backlight can be varied from a range of
> > max_brightness to zero. Though most, if not all the pwm based
> backlight
> > devices start flickering at lower brightness value. And also for each
> > device there exists a brightness value below which the backlight
> > appears
> > to be turned off though the value is not equal to zero.
> >
> > If the range of brightness for a device is from zero to
> > max_brightness. A graph is plotted for brightness Vs intensity fo the
> > pwm based backlight device has to be a linear graph.
> >
> > intensity
> > 	  |   /
> > 	  |  /
> > 	  | /
> > 	  |/
> > 	  ---------
> > 	 0	max_brightness
> > But pratically on measuring the above we note that the intensity of
> > backlight goes to zero(OFF) when the value in not zero almost nearing
> > to
> > zero(some x%). so the graph looks like
> >
> > intensity
> > 	  |    /
> > 	  |   /
> > 	  |  /
> > 	  |  |
> > 	  ------------
> > 	 0   x	 max_brightness
> >
> > In order to overcome this drawback knowing this x% i.e nothing but
> the
> > low threshold beyond which the backlight is off and will have no
> > effect,
> > the brightness value is being offset by the low threshold
> > value(retaining the linearity of the graph). Now the graph becomes
> >
> > intensity
> > 	  |     /
> > 	  |    /
> > 	  |   /
> > 	  |  /
> > 	  -------------
> > 	   0	  max_brightness
> > With this for each and every digit increment in the brightness from
> > zero
> > there is a change in the intensity of backlight.
> > Devices having this behaviour can set the low threshold
> > brightness(lth_brightness) and pass the same as platform data else
> can
> > have it as zero.
> >
> > Signed-off-by: Arun Murthy <arun.murthy@...ricsson.com>
> > Acked-by: Linus Walleij <linus.walleij@...ricsson.com>
> > ---
> >  drivers/video/backlight/pwm_bl.c |    7 ++++++-
> >  include/linux/pwm_backlight.h    |    1 +
> >  2 files changed, 7 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/video/backlight/pwm_bl.c
> > b/drivers/video/backlight/pwm_bl.c
> > index 5504435..1f958ce 100644
> > --- a/drivers/video/backlight/pwm_bl.c
> > +++ b/drivers/video/backlight/pwm_bl.c
> > @@ -25,6 +25,7 @@ struct pwm_bl_data {
> >  	struct pwm_device	*pwm;
> >  	struct device		*dev;
> >  	unsigned int		period;
> > +	unsigned int		lth_brightness;
> >  	int			(*notify)(struct device *,
> >  					  int brightness);
> >  };
> > @@ -48,7 +49,9 @@ static int pwm_backlight_update_status(struct
> > backlight_device *bl)
> >  		pwm_config(pb->pwm, 0, pb->period);
> >  		pwm_disable(pb->pwm);
> >  	} else {
> > -		pwm_config(pb->pwm, brightness * pb->period / max, pb-
> > >period);
> > +		brightness = pb->lth_brightness +
> > +			(brightness * (pb->period - pb->lth_brightness)/
> > max);
> > +		pwm_config(pb->pwm, brightness, pb->period);
> >  		pwm_enable(pb->pwm);
> >  	}
> >  	return 0;
> > @@ -92,6 +95,8 @@ static int pwm_backlight_probe(struct
> platform_device
> > *pdev)
> >
> >  	pb->period = data->pwm_period_ns;
> >  	pb->notify = data->notify;
> > +	pb->lth_brightness = data->lth_brightness *
> > +		(data->pwm_period_ns / data->max_brightness);
> >  	pb->dev = &pdev->dev;
> >
> >  	pb->pwm = pwm_request(data->pwm_id, "backlight");
> > diff --git a/include/linux/pwm_backlight.h
> > b/include/linux/pwm_backlight.h
> > index 01b3d75..e031e1a 100644
> > --- a/include/linux/pwm_backlight.h
> > +++ b/include/linux/pwm_backlight.h
> > @@ -8,6 +8,7 @@ struct platform_pwm_backlight_data {
> >  	int pwm_id;
> >  	unsigned int max_brightness;
> >  	unsigned int dft_brightness;
> > +	unsigned int lth_brightness;
> >  	unsigned int pwm_period_ns;
> >  	int (*init)(struct device *dev);
> >  	int (*notify)(struct device *dev, int brightness);
> > --
> > 1.7.2.dirty

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ