All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: dri-devel@lists.freedesktop.org,
	Jingoo Han <jingoohan1@gmail.com>,
	Lee Jones <lee.jones@linaro.org>,
	Daniel Thompson <daniel.thompson@linaro.org>,
	Allison Randal <allison@lohutok.net>,
	Andy Gross <agross@kernel.org>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	David Airlie <airlied@linux.ie>,
	Douglas Anderson <dianders@chromium.org>,
	Enrico Weigelt <info@metux.net>,
	Jani Nikula <jani.nikula@intel.com>,
	Jonathan Corbet <corbet@lwn.net>, Jyri Sarha <jsarha@ti.com>,
	Kate Stewart <kstewart@linuxfoundation.org>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	linux-arm-msm@vger.kernel.org, linux-pwm@vger.kernel.org,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Michael Hennerich <michael.hennerich@analog.com>,
	patches@opensource.cirrus.com,
	Russell King <linux@armlinux.org.uk>,
	Support Opensource <support.opensource@diasemi.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Uwe Kleine Konig <u.kleine-koenig@pengutronix.de>,
	Zheng Bin <zhengbin13@huawei.com>
Subject: Re: [PATCH v1 08/18] backlight: add backlight_is_blank()
Date: Thu, 14 May 2020 21:41:16 +0200	[thread overview]
Message-ID: <20200514194116.GB206103@phenom.ffwll.local> (raw)
In-Reply-To: <20200514191001.457441-9-sam@ravnborg.org>

On Thu, May 14, 2020 at 09:09:51PM +0200, Sam Ravnborg wrote:
> The backlight support has two properties that express the state:
> - power
> - state
> 
> It is un-documented and easy to get wrong.
> Add backlight_is_blank() helper to make it simpler for drivers
> to get the check of the state correct.
> 
> A lot of drivers also includes checks for fb_blank.
> This check is redundant when the state is checked
> as thus not needed in this helper function.
> Rolling out this helper to all relevant backlight drivers
> will eliminate almost all accesses to fb_blank.
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Daniel Thompson <daniel.thompson@linaro.org>
> Cc: Jingoo Han <jingoohan1@gmail.com>
> ---
>  include/linux/backlight.h | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/include/linux/backlight.h b/include/linux/backlight.h
> index b7839ea9d00a..e67e926de1e2 100644
> --- a/include/linux/backlight.h
> +++ b/include/linux/backlight.h
> @@ -165,6 +165,23 @@ static inline int backlight_disable(struct backlight_device *bd)
>  	return backlight_update_status(bd);
>  }
>  
> +/**
> + * backlight_is_blank - Return true if display is expected to be blank
> + * @bd: the backlight device
> + *
> + * Display is expected to be blank if any of these is true::
> + *
> + *   1) if power in not UNBLANK
> + *   2) if state indicate BLANK or SUSPENDED
> + *
> + * Returns true if display is expected to be blank, false otherwise.
> + */
> +static inline bool backlight_is_blank(struct backlight_device *bd)
> +{
> +	return bd->props.power != FB_BLANK_UNBLANK ||
> +	       bd->props.state & (BL_CORE_SUSPENDED | BL_CORE_FBBLANK);

This definition here doesn't match backlight_enabled/disable() functions
we added. I think to avoid lots of pondering and surprises we should try
to make sure these are all matching, so that once we rolled them out
everywhere, we can just replace the complicated state with one flag.
-Daniel

> +}
> +
>  extern struct backlight_device *backlight_device_register(const char *name,
>  	struct device *dev, void *devdata, const struct backlight_ops *ops,
>  	const struct backlight_properties *props);
> -- 
> 2.25.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: dri-devel@lists.freedesktop.org,
	Jingoo Han <jingoohan1@gmail.com>,
	Lee Jones <lee.jones@linaro.org>,
	Daniel Thompson <daniel.thompson@linaro.org>,
	Allison Randal <allison@lohutok.net>,
	Andy Gross <agross@kernel.org>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	David Airlie <airlied@linux.ie>,
	Douglas Anderson <dianders@chromium.org>,
	Enrico Weigelt <info@metux.net>,
	Jani Nikula <jani.nikula@intel.com>,
	Jonathan Corbet <corbet@lwn.net>, Jyri Sarha <jsarha@ti.com>,
	Kate Stewart <kstewart@linuxfoundation.org>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	linux-arm-ms
Subject: Re: [PATCH v1 08/18] backlight: add backlight_is_blank()
Date: Thu, 14 May 2020 21:41:16 +0200	[thread overview]
Message-ID: <20200514194116.GB206103@phenom.ffwll.local> (raw)
In-Reply-To: <20200514191001.457441-9-sam@ravnborg.org>

On Thu, May 14, 2020 at 09:09:51PM +0200, Sam Ravnborg wrote:
> The backlight support has two properties that express the state:
> - power
> - state
> 
> It is un-documented and easy to get wrong.
> Add backlight_is_blank() helper to make it simpler for drivers
> to get the check of the state correct.
> 
> A lot of drivers also includes checks for fb_blank.
> This check is redundant when the state is checked
> as thus not needed in this helper function.
> Rolling out this helper to all relevant backlight drivers
> will eliminate almost all accesses to fb_blank.
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Daniel Thompson <daniel.thompson@linaro.org>
> Cc: Jingoo Han <jingoohan1@gmail.com>
> ---
>  include/linux/backlight.h | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/include/linux/backlight.h b/include/linux/backlight.h
> index b7839ea9d00a..e67e926de1e2 100644
> --- a/include/linux/backlight.h
> +++ b/include/linux/backlight.h
> @@ -165,6 +165,23 @@ static inline int backlight_disable(struct backlight_device *bd)
>  	return backlight_update_status(bd);
>  }
>  
> +/**
> + * backlight_is_blank - Return true if display is expected to be blank
> + * @bd: the backlight device
> + *
> + * Display is expected to be blank if any of these is true::
> + *
> + *   1) if power in not UNBLANK
> + *   2) if state indicate BLANK or SUSPENDED
> + *
> + * Returns true if display is expected to be blank, false otherwise.
> + */
> +static inline bool backlight_is_blank(struct backlight_device *bd)
> +{
> +	return bd->props.power != FB_BLANK_UNBLANK ||
> +	       bd->props.state & (BL_CORE_SUSPENDED | BL_CORE_FBBLANK);

This definition here doesn't match backlight_enabled/disable() functions
we added. I think to avoid lots of pondering and surprises we should try
to make sure these are all matching, so that once we rolled them out
everywhere, we can just replace the complicated state with one flag.
-Daniel

> +}
> +
>  extern struct backlight_device *backlight_device_register(const char *name,
>  	struct device *dev, void *devdata, const struct backlight_ops *ops,
>  	const struct backlight_properties *props);
> -- 
> 2.25.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Kate Stewart <kstewart@linuxfoundation.org>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	David Airlie <airlied@linux.ie>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	dri-devel@lists.freedesktop.org,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Lee Jones <lee.jones@linaro.org>,
	Daniel Thompson <daniel.thompson@linaro.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Russell King <linux@armlinux.org.uk>,
	Andy Gross <agross@kernel.org>,
	Uwe Kleine Konig <u.kleine-koenig@pengutronix.de>,
	linux-pwm@vger.kernel.org,
	Michael Hennerich <michael.hennerich@analog.com>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Jani Nikula <jani.nikula@intel.com>,
	linux-arm-msm@vger.kernel.org, Jyri Sarha <jsarha@ti.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Allison Randal <allison@lohutok.net>,
	Support Opensource <support.opensource@diasemi.com>,
	Jingoo Han <jingoohan1@gmail.com>,
	Douglas Anderson <dianders@chromium.org>,
	Zheng Bin <zhengbin13@huawei.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	patches@opensource.cirrus.com, Enrico Weigelt <info@metux.net>
Subject: Re: [PATCH v1 08/18] backlight: add backlight_is_blank()
Date: Thu, 14 May 2020 21:41:16 +0200	[thread overview]
Message-ID: <20200514194116.GB206103@phenom.ffwll.local> (raw)
In-Reply-To: <20200514191001.457441-9-sam@ravnborg.org>

On Thu, May 14, 2020 at 09:09:51PM +0200, Sam Ravnborg wrote:
> The backlight support has two properties that express the state:
> - power
> - state
> 
> It is un-documented and easy to get wrong.
> Add backlight_is_blank() helper to make it simpler for drivers
> to get the check of the state correct.
> 
> A lot of drivers also includes checks for fb_blank.
> This check is redundant when the state is checked
> as thus not needed in this helper function.
> Rolling out this helper to all relevant backlight drivers
> will eliminate almost all accesses to fb_blank.
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Daniel Thompson <daniel.thompson@linaro.org>
> Cc: Jingoo Han <jingoohan1@gmail.com>
> ---
>  include/linux/backlight.h | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/include/linux/backlight.h b/include/linux/backlight.h
> index b7839ea9d00a..e67e926de1e2 100644
> --- a/include/linux/backlight.h
> +++ b/include/linux/backlight.h
> @@ -165,6 +165,23 @@ static inline int backlight_disable(struct backlight_device *bd)
>  	return backlight_update_status(bd);
>  }
>  
> +/**
> + * backlight_is_blank - Return true if display is expected to be blank
> + * @bd: the backlight device
> + *
> + * Display is expected to be blank if any of these is true::
> + *
> + *   1) if power in not UNBLANK
> + *   2) if state indicate BLANK or SUSPENDED
> + *
> + * Returns true if display is expected to be blank, false otherwise.
> + */
> +static inline bool backlight_is_blank(struct backlight_device *bd)
> +{
> +	return bd->props.power != FB_BLANK_UNBLANK ||
> +	       bd->props.state & (BL_CORE_SUSPENDED | BL_CORE_FBBLANK);

This definition here doesn't match backlight_enabled/disable() functions
we added. I think to avoid lots of pondering and surprises we should try
to make sure these are all matching, so that once we rolled them out
everywhere, we can just replace the complicated state with one flag.
-Daniel

> +}
> +
>  extern struct backlight_device *backlight_device_register(const char *name,
>  	struct device *dev, void *devdata, const struct backlight_ops *ops,
>  	const struct backlight_properties *props);
> -- 
> 2.25.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-05-14 19:41 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-14 19:09 [PATCH v1 0/18] backlight updates Sam Ravnborg
2020-05-14 19:09 ` Sam Ravnborg
2020-05-14 19:09 ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 01/18] drm/omap: display: use devm_of_find_backlight Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-15  8:24   ` Tomi Valkeinen
2020-05-15  8:24     ` Tomi Valkeinen
2020-05-15  8:24     ` Tomi Valkeinen
2020-05-17 12:58     ` Sam Ravnborg
2020-05-17 12:58       ` Sam Ravnborg
2020-05-17 12:58       ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 02/18] drm/tilcdc: " Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-15  8:25   ` Tomi Valkeinen
2020-05-15  8:25     ` Tomi Valkeinen
2020-05-15  8:25     ` Tomi Valkeinen
2020-05-17 12:58     ` Sam Ravnborg
2020-05-17 12:58       ` Sam Ravnborg
2020-05-17 12:58       ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 03/18] video: amba-clcd: " Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 04/18] backlight: make of_find_backlight static Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 05/18] backlight: drop backlight_put() Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 06/18] backlight: make of_find_backlight_by_node() static Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-15 20:42   ` Sam Ravnborg
2020-05-15 20:42     ` Sam Ravnborg
2020-05-15 20:42     ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 07/18] backlight: refactor fb_notifier_callback() Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 08/18] backlight: add backlight_is_blank() Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:41   ` Daniel Vetter [this message]
2020-05-14 19:41     ` Daniel Vetter
2020-05-14 19:41     ` Daniel Vetter
2020-05-14 19:46     ` Sam Ravnborg
2020-05-14 19:46       ` Sam Ravnborg
2020-05-14 19:46       ` Sam Ravnborg
2020-05-14 20:03       ` Daniel Vetter
2020-05-14 20:03         ` Daniel Vetter
2020-05-14 20:03         ` Daniel Vetter
2020-05-14 19:09 ` [PATCH v1 09/18] backlight: improve backlight_ops documentation Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 10/18] backlight: improve backlight_properties documentation Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 11/18] backlight: improve backlight_device documentation Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 12/18] backlight: document inline functions in backlight.h Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 13/18] backlight: document enums " Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 14/18] backlight: remove the unused backlight_bl driver Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 15/18] backlight: drop extern from prototypes Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09 ` [PATCH v1 16/18] backlight: add overview and update existing doc Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:09   ` Sam Ravnborg
2020-05-14 19:10 ` [PATCH v1 17/18] backlight: wire up kernel-doc documentation Sam Ravnborg
2020-05-14 19:10   ` Sam Ravnborg
2020-05-14 19:10   ` Sam Ravnborg
2020-05-14 19:10 ` [PATCH v1 18/18] backlight: use backlight_is_blank() in all backlight drivers Sam Ravnborg
2020-05-14 19:10   ` Sam Ravnborg
2020-05-14 19:10   ` Sam Ravnborg
2020-05-15 20:48 ` [PATCH v1 0/18] backlight updates Sam Ravnborg
2020-05-15 20:48   ` Sam Ravnborg
2020-05-15 20:48   ` Sam Ravnborg

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=20200514194116.GB206103@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=agross@kernel.org \
    --cc=airlied@linux.ie \
    --cc=allison@lohutok.net \
    --cc=b.zolnierkie@samsung.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=corbet@lwn.net \
    --cc=daniel.thompson@linaro.org \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dianders@chromium.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=info@metux.net \
    --cc=jani.nikula@intel.com \
    --cc=jingoohan1@gmail.com \
    --cc=jsarha@ti.com \
    --cc=kstewart@linuxfoundation.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=michael.hennerich@analog.com \
    --cc=mripard@kernel.org \
    --cc=patches@opensource.cirrus.com \
    --cc=sam@ravnborg.org \
    --cc=support.opensource@diasemi.com \
    --cc=tglx@linutronix.de \
    --cc=thierry.reding@gmail.com \
    --cc=tomi.valkeinen@ti.com \
    --cc=tzimmermann@suse.de \
    --cc=u.kleine-koenig@pengutronix.de \
    --cc=wangkefeng.wang@huawei.com \
    --cc=zhengbin13@huawei.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.