Linux Framebuffer Layer development
 help / color / mirror / Atom feed
* Re: [PATCH v3] video: hyperv: hyperv_fb: refresh the VM screen by force on VM panic
From: Tomi Valkeinen @ 2014-07-30 14:24 UTC (permalink / raw)
  To: Dexuan Cui
  Cc: linux-fbdev, gregkh, jasowang, driverdev-devel, linux-kernel,
	olaf, apw, plagnioj, haiyangz, dan.carpenter
In-Reply-To: <1404875063-27424-1-git-send-email-decui@microsoft.com>

[-- Attachment #1: Type: text/plain, Size: 2157 bytes --]

On 09/07/14 06:04, Dexuan Cui wrote:
> Currently the VSC has no chance to notify the VSP of the dirty rectangle on VM
> panic because the notification work is done in a workqueue, and in panic() the
> kernel typically ends up in an infinite loop, and a typical kernel config has
> CONFIG_PREEMPT_VOLUNTARY=y and CONFIG_PREEMPT is not set, so a context switch
> can't happen in panic() and the workqueue won't have a chance to run. As a
> result, the VM Connection window can't refresh until it's closed and we
> re-connect to the VM.
> 
> We can register a handler on panic_notifier_list: the handler can notify
> the VSC and switch the framebuffer driver to a "synchronous mode", meaning
> the VSC flushes any future framebuffer change to the VSP immediately.
> 
> v2: removed the MS-TFS line in the commit message
> v3: remove some 'unlikely' markings
> 
> Signed-off-by: Dexuan Cui <decui@microsoft.com>
> Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
> ---
>  drivers/video/fbdev/hyperv_fb.c | 58 ++++++++++++++++++++++++++++++++++++++---
>  1 file changed, 55 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/video/fbdev/hyperv_fb.c b/drivers/video/fbdev/hyperv_fb.c
> index e23392e..a7b98e1 100644
> --- a/drivers/video/fbdev/hyperv_fb.c
> +++ b/drivers/video/fbdev/hyperv_fb.c
> @@ -226,11 +226,16 @@ struct hvfb_par {
>  	u8 recv_buf[MAX_VMBUS_PKT_SIZE];
>  };
>  
> +static struct fb_info *hvfb_info;

Static variables like these are usually a no-no. This prevents you from
having multiple device instances.

>  static uint screen_width = HVFB_WIDTH;
>  static uint screen_height = HVFB_HEIGHT;
>  static uint screen_depth;
>  static uint screen_fb_size;
>  
> +/* If true, the VSC notifies the VSP on every framebuffer change */
> +static bool synchronous_fb;
> +

Same comment here.

However, if (and only if) the driver is already designed to work only
with single device instance, then this patch is probably ok. But even
then, I'd prefer this to be handled without static variables so that the
driver could eventually be changed to support multiple device instances.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply

* Re: [PATCH v9] video: ARM CLCD: Add DT support
From: Pawel Moll @ 2014-07-30 13:57 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <53D7825C.2020900@ti.com>

On Tue, 2014-07-29 at 14:15 +0300, Tomi Valkeinen wrote:
> Yep, I've queued it now for 3.17.

Awesome, thanks!

Pawel


^ permalink raw reply

* fbdev patches for 3.17
From: Tomi Valkeinen @ 2014-07-30 13:12 UTC (permalink / raw)
  To: linux-fbdev

[-- Attachment #1: Type: text/plain, Size: 303 bytes --]

Hi,

I just came back from vacation, and 3.17 merge window is getting close.
I have tons of emails in my inbox, so if you have important fbdev
patches for 3.17, please resend or ping.

I'll try to find them myself but I most likely don't have time to go
through all of them for 3.17.

 Tomi


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply

* Re: [PATCH] drivers: video: fbdev: atmel_lcdfb.c: Add ability to inverted backlight PWM.
From: Tomi Valkeinen @ 2014-07-30 11:14 UTC (permalink / raw)
  To: Michael Welling, Nicolas Ferre, Jean-Christophe Plagniol-Villard,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-fbdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1404440796-11090-1-git-send-email-mwelling-EkmVulN54Sk@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 518 bytes --]

On 04/07/14 05:26, Michael Welling wrote:
> The code has a variable to change the polarity of the PWM backlight control but
> it was not being initialized. This patch adds a devicetree entry to set the
> variable if required.
> 
> Signed-off-by: Michael Welling <mwelling@ieee.org>
> ---
>  .../devicetree/bindings/video/atmel,lcdc.txt       |    1 +
>  drivers/video/fbdev/atmel_lcdfb.c                  |    3 ++-
>  2 files changed, 3 insertions(+), 1 deletion(-)

Thanks, queued for 3.17.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply

* Re: [PATCH -next] backlight: ipaq_micro: Fix sparse non static symbol warning
From: Lee Jones @ 2014-07-30  7:42 UTC (permalink / raw)
  To: linux-fbdev
In-Reply-To: <CAK5ve-K6WpvN++xdKsHw=-BipV-mYh1PP63G78K=ExynBD9VGQ@mail.gmail.com>

On Wed, 30 Jul 2014, weiyj_lk@163.com wrote:

> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
> 
> Fixes the following sparse warnings:
> 
> drivers/video/backlight/ipaq_micro_bl.c:73:24: warning:
>  symbol 'micro_backlight_device_driver' was not declared. Should it be static?
> 
> Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
> ---
>  drivers/video/backlight/ipaq_micro_bl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied with Bryan's Ack.

> diff --git a/drivers/video/backlight/ipaq_micro_bl.c b/drivers/video/backlight/ipaq_micro_bl.c
> index feab29c..347dc11 100644
> --- a/drivers/video/backlight/ipaq_micro_bl.c
> +++ b/drivers/video/backlight/ipaq_micro_bl.c
> @@ -70,7 +70,7 @@ static int micro_backlight_probe(struct platform_device *pdev)
>  	return 0;
>  }
>  
> -struct platform_driver micro_backlight_device_driver = {
> +static struct platform_driver micro_backlight_device_driver = {
>  	.driver = {
>  		.name    = "ipaq-micro-backlight",
>  	},
> 

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply

* Re: [PATCH] video: fbdev: intelfb: intelfb_i2c.c:  Cleaning up variable that is never used
From: Pavel Machek @ 2014-07-30  6:50 UTC (permalink / raw)
  To: Rickard Strandqvist
  Cc: Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	Rickard Strandqvist, Jingoo Han, Laurent Pinchart, Rob Clark,
	Daniel Vetter, linux-fbdev, linux-kernel
In-Reply-To: <1404563048-19690-1-git-send-email-rickard_strandqvist@spectrumdigital.se>

On Sat 2014-07-05 14:24:08, Rickard Strandqvist wrote:
> From: Rickard Strandqvist <rickard.strandqvist@sonymobile.com>
> 
> Variable ar assigned a value that is never used.
> I have also removed all the code that thereby serves no purpose.
> 
> This was found using a static code analysis program called cppcheck

Are you sure this is the right fix?

Do we need to read the register in case we don't care about return
value?


> index 3300bd3..4df2f1f 100644
> --- a/drivers/video/fbdev/intelfb/intelfb_i2c.c
> +++ b/drivers/video/fbdev/intelfb/intelfb_i2c.c
> @@ -55,22 +55,20 @@ static void intelfb_gpio_setscl(void *data, int state)
>  {
>  	struct intelfb_i2c_chan *chan = data;
>  	struct intelfb_info *dinfo = chan->dinfo;
> -	u32 val;
>  
>  	OUTREG(chan->reg, (state ? SCL_VAL_OUT : 0) |
>  	       SCL_DIR | SCL_DIR_MASK | SCL_VAL_MASK);
> -	val = INREG(chan->reg);
> +	INREG(chan->reg);
>  }

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply

* Re: [PATCH -next] backlight: ipaq_micro: Fix sparse non static symbol warning
From: Bryan Wu @ 2014-07-29 23:25 UTC (permalink / raw)
  To: linux-fbdev

On Tue, Jul 29, 2014 at 4:20 PM,  <weiyj_lk@163.com> wrote:
> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>
> Fixes the following sparse warnings:
>
> drivers/video/backlight/ipaq_micro_bl.c:73:24: warning:
>  symbol 'micro_backlight_device_driver' was not declared. Should it be static?
>

I've merged a similar fix for led-ipaq-micro. So this one looks good to me:

Acked-by: Bryan Wu <cooloney@gmail.com>

> Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
> ---
>  drivers/video/backlight/ipaq_micro_bl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/video/backlight/ipaq_micro_bl.c b/drivers/video/backlight/ipaq_micro_bl.c
> index feab29c..347dc11 100644
> --- a/drivers/video/backlight/ipaq_micro_bl.c
> +++ b/drivers/video/backlight/ipaq_micro_bl.c
> @@ -70,7 +70,7 @@ static int micro_backlight_probe(struct platform_device *pdev)
>         return 0;
>  }
>
> -struct platform_driver micro_backlight_device_driver = {
> +static struct platform_driver micro_backlight_device_driver = {
>         .driver = {
>                 .name    = "ipaq-micro-backlight",
>         },
>

^ permalink raw reply

* Mailbox Warning
From: Webmail Admin @ 2014-07-29 15:17 UTC (permalink / raw)
  To: Recipients
In-Reply-To: <20140729121801.E5D1B4D1577@zirius.ipresspublicas.gob.pe>

Email Account Warning !!!

This mail is from Administrator; we wish to bring to your notice the Condition of your email account.
We have just noticed that you have exceeded your email Database limit of 500 MB quota and your email IP is causing conflict because it is been accessed in different server location. You need to Upgrade and expand your email quota limit before you can continue to use your email. Provide details or click the link below :


Update your email quota limit to 2.6 GB, use the below web link:
      https://www.formlogix.com/Manager/UserConditionalSurvey248587.aspx?Param=VXNlcklkPTI0ODU4Ny5Gb3JtSWQ9MQ%3d%3d

Failure to do this will result to email deactivation within 24hours
Thank you for your understanding.

Copyright 2014 Help Desk
Email Upgrade 

^ permalink raw reply

* Mailbox Warning
From: Webmail Admin @ 2014-07-29 12:27 UTC (permalink / raw)
  To: Recipients

Email Account Warning !!!

This mail is from Administrator; we wish to bring to your notice the Condition of your email account.
We have just noticed that you have exceeded your email Database limit of 500 MB quota and your email IP is causing conflict because it is been accessed in different server location. You need to Upgrade and expand your email quota limit before you can continue to use your email. Provide details or click the link below :


Update your email quota limit to 2.6 GB, use the below web link:
      https://www.formlogix.com/Manager/UserConditionalSurvey248582.aspx?Param=VXNlcklkPTI0ODU4Mi5Gb3JtSWQ9MQ%3d%3d

Failure to do this will result to email deactivation within 24hours
Thank you for your understanding.

Copyright 2014 Help Desk
Email Upgrade 

^ permalink raw reply

* Re: [PATCH 3/3] driver:gpio remove all usage of gpio_remove retval in driver
From: Tomi Valkeinen @ 2014-07-29 11:30 UTC (permalink / raw)
  To: Linus Walleij, abdoulaye berthe, arm@kernel.org, Ralf Baechle,
	Benjamin Herrenschmidt, Rafał Miłecki, Jiri Kosina,
	Dmitry Torokhov, Bryan Wu, Mauro Carvalho Chehab, Lee Jones,
	Samuel Ortiz, Matthew Garrett, Michael Buesch, Greg KH,
	Mark Brown, Liam Girdwood
  Cc: Alexandre Courbot, linux-gpio@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mips,
	linux-sh@vger.kernel.org, Linux Input,
	linux-media@vger.kernel.org, linux-serial@vger.kernel.org,
	linux-fbdev@vger.kernel.org, alsa-devel@alsa-project.org
In-Reply-To: <CACRpkdasp9bLULT7NJM9nYX58rRSsQKXFddOLz9Ah6kp-j-3=Q@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 450 bytes --]

On 22/07/14 18:08, Linus Walleij wrote:
> On Sat, Jul 12, 2014 at 10:30 PM, abdoulaye berthe <berthe.ab@gmail.com> wrote:
> 
> Heads up. Requesting ACKs for this patch or I'm atleast warning that it will be
> applied. We're getting rid of the return value from gpiochip_remove().

>>  drivers/video/fbdev/via/via-gpio.c             | 10 +++-------
> 
> Tomi can you ACK this?

Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply

* Re: [PATCH v9] video: ARM CLCD: Add DT support
From: Tomi Valkeinen @ 2014-07-29 11:15 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1406631987.17155.0.camel@hornet>

[-- Attachment #1: Type: text/plain, Size: 750 bytes --]

Hi,

On 29/07/14 14:06, Pawel Moll wrote:
> On Tue, 2014-07-22 at 11:02 +0100, Pawel Moll wrote:
>> On Tue, 2014-07-08 at 14:06 +0100, Pawel Moll wrote:
>>> On Tue, 2014-06-24 at 12:55 +0100, Pawel Moll wrote:
>>>> This patch adds basic DT bindings for the PL11x CLCD cells
>>>> and make their fbdev driver use them.
>>>>
>>>> Signed-off-by: Pawel Moll <pawel.moll@arm.com>
>>>
>>> As two weeks passed without any further comment, I'm assuming that there
>>> are no more obstacles for this patch to be merged.
>>>
>>> Tomi, will you pick it up for 3.17, as you offered? Russell, if you
>>> prefer to take it via your tree, it's in your system as 8005/4.
>>
>> Ping...
>>
>> Tomi?

Yep, I've queued it now for 3.17.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply

* Re: [PATCH v9] video: ARM CLCD: Add DT support
From: Pawel Moll @ 2014-07-29 11:06 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1406023366.25343.44.camel@hornet>

On Tue, 2014-07-22 at 11:02 +0100, Pawel Moll wrote:
> On Tue, 2014-07-08 at 14:06 +0100, Pawel Moll wrote:
> > On Tue, 2014-06-24 at 12:55 +0100, Pawel Moll wrote:
> > > This patch adds basic DT bindings for the PL11x CLCD cells
> > > and make their fbdev driver use them.
> > > 
> > > Signed-off-by: Pawel Moll <pawel.moll@arm.com>
> > 
> > As two weeks passed without any further comment, I'm assuming that there
> > are no more obstacles for this patch to be merged.
> > 
> > Tomi, will you pick it up for 3.17, as you offered? Russell, if you
> > prefer to take it via your tree, it's in your system as 8005/4.
> 
> Ping...
> 
> Tomi?

... and again...

Regards

Pawel


^ permalink raw reply

* Re: [rusty:modules-next 4/7] include/linux/sysfs.h:75:12: note: in expansion of macro 'VERIFY_OCTAL_
From: Rusty Russell @ 2014-07-28 11:43 UTC (permalink / raw)
  To: linux-fbdev

Thanks robot!

Looks like drivers/video/fbdev/s3c2410fb.c has a world-writable debug
file.  If you really want this I'll have to make an exception,
otherwise, please ack this patch:


drivers/video/fbdev/s3c2410fb.c: don't make debug world-writable.

We don't want random users to be able to spam the logs, and commit
37549e94c77a94a9c32b5ae3313a3801cb66adf9 (sysfs: disallow
world-writable files.) finally makes this a build error.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>.    

diff --git a/drivers/video/fbdev/s3c2410fb.c b/drivers/video/fbdev/s3c2410fb.c
index 81af5a63e9e1..6796d9d6c871 100644
--- a/drivers/video/fbdev/s3c2410fb.c
+++ b/drivers/video/fbdev/s3c2410fb.c
@@ -616,7 +616,7 @@ static int s3c2410fb_debug_store(struct device *dev,
 	return len;
 }
 
-static DEVICE_ATTR(debug, 0666, s3c2410fb_debug_show, s3c2410fb_debug_store);
+static DEVICE_ATTR(debug, 0664, s3c2410fb_debug_show, s3c2410fb_debug_store);
 
 static struct fb_ops s3c2410fb_ops = {
 	.owner		= THIS_MODULE,

Cheers,
Rusty.

kbuild test robot <fengguang.wu@intel.com> writes:

> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux.git modules-next
> head:   2e3a10a1551d6ceea005e6a62ca58183b8976217
> commit: 37549e94c77a94a9c32b5ae3313a3801cb66adf9 [4/7] sysfs: disallow world-writable files.
> config: make ARCH=arm s3c2410_defconfig
>
> All warnings:
>
>    In file included from include/linux/thread_info.h:11:0,
>                     from include/asm-generic/preempt.h:4,
>                     from arch/arm/include/generated/asm/preempt.h:1,
>                     from include/linux/preempt.h:18,
>                     from include/linux/spinlock.h:50,
>                     from include/linux/seqlock.h:35,
>                     from include/linux/time.h:5,
>                     from include/linux/stat.h:18,
>                     from include/linux/module.h:10,
>                     from drivers/video/fbdev/s3c2410fb.c:16:
>    include/linux/bug.h:33:45: error: negative width in bit-field '<anonymous>'
>     #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
>                                                 ^
>    include/linux/kernel.h:853:3: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
>       BUILD_BUG_ON_ZERO((perms) & 2) +    \
>       ^
>>> include/linux/sysfs.h:75:12: note: in expansion of macro 'VERIFY_OCTAL_PERMISSIONS'
>        .mode = VERIFY_OCTAL_PERMISSIONS(_mode) },  \
>                ^
>>> include/linux/device.h:539:45: note: in expansion of macro '__ATTR'
>      struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)
>                                                 ^
>>> drivers/video/fbdev/s3c2410fb.c:619:8: note: in expansion of macro 'DEVICE_ATTR'
>     static DEVICE_ATTR(debug, 0666, s3c2410fb_debug_show, s3c2410fb_debug_store);
>            ^
>
> vim +/VERIFY_OCTAL_PERMISSIONS +75 include/linux/sysfs.h
>
> 6992f533 Eric W. Biederman  2010-02-11  59  
> ^1da177e Linus Torvalds     2005-04-16  60  struct attribute_group {
> 59f69015 Tejun Heo          2007-09-20  61  	const char		*name;
> 587a1f16 Al Viro            2011-07-23  62  	umode_t			(*is_visible)(struct kobject *,
> d4acd722 James Bottomley    2007-10-31  63  					      struct attribute *, int);
> 59f69015 Tejun Heo          2007-09-20  64  	struct attribute	**attrs;
> 6ab9cea1 Greg Kroah-Hartman 2013-07-14  65  	struct bin_attribute	**bin_attrs;
> ^1da177e Linus Torvalds     2005-04-16  66  };
> ^1da177e Linus Torvalds     2005-04-16  67  
> ^1da177e Linus Torvalds     2005-04-16  68  /**
> ^1da177e Linus Torvalds     2005-04-16  69   * Use these macros to make defining attributes easier. See include/linux/device.h
> ^1da177e Linus Torvalds     2005-04-16  70   * for examples..
> ^1da177e Linus Torvalds     2005-04-16  71   */
> ^1da177e Linus Torvalds     2005-04-16  72  
> 5da5c9c8 Greg Kroah-Hartman 2013-08-21  73  #define __ATTR(_name, _mode, _show, _store) {				\
> 58f86cc8 Rusty Russell      2014-03-24  74  	.attr = {.name = __stringify(_name),				\
> 58f86cc8 Rusty Russell      2014-03-24 @75  		 .mode = VERIFY_OCTAL_PERMISSIONS(_mode) },		\
> aa01aa3c Oliver Schinagl    2013-07-14  76  	.show	= _show,						\
> aa01aa3c Oliver Schinagl    2013-07-14  77  	.store	= _store,						\
> ^1da177e Linus Torvalds     2005-04-16  78  }
> ^1da177e Linus Torvalds     2005-04-16  79  
> aa01aa3c Oliver Schinagl    2013-07-14  80  #define __ATTR_RO(_name) {						\
> aa01aa3c Oliver Schinagl    2013-07-14  81  	.attr	= { .name = __stringify(_name), .mode = S_IRUGO },	\
> aa01aa3c Oliver Schinagl    2013-07-14  82  	.show	= _name##_show,						\
> ^1da177e Linus Torvalds     2005-04-16  83  }
>
> :::::: The code at line 75 was first introduced by commit
> :::::: 58f86cc89c3372d3e61d5b71e5513ec5a0b02848 VERIFY_OCTAL_PERMISSIONS: stricter checking for sysfs perms.
>
> :::::: TO: Rusty Russell <rusty@rustcorp.com.au>
> :::::: CC: Rusty Russell <rusty@rustcorp.com.au>
>
> ---
> 0-DAY kernel build testing backend              Open Source Technology Center
> http://lists.01.org/mailman/listinfo/kbuild                 Intel Corporation

^ permalink raw reply related

* Re: [PATCH] video: clcd-versatile: Depend on ARM
From: Arnd Bergmann @ 2014-07-28  8:54 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1406480658-27243-1-git-send-email-broonie@kernel.org>

On Sunday 27 July 2014 18:04:18 Mark Brown wrote:
> From: Mark Brown <broonie@linaro.org>
> 
> The Versatile CLCD helpers call dma_alloc_writecombine() which is only
> available on ARM and AVR32, meaning they won't build on other platforms
> including arm64. Unfortunately the current Kconfig enables the symbol
> by default if ARCH_VEXPRESS is defined which means that it is enabled on
> arm64 when building for the ARM reference platforms and models for ARMv8
> since they have many hardware similarities with their pre-ARMv8 systems.
> 
> Since all the systems that need the helpers are ARM systems fix this by
> adding a dependency on ARM.
> 
> Signed-off-by: Mark Brown <broonie@linaro.org>

I guess this one is for me, as the bug only exists in linux-next through
arm-soc, introduced by my previous fix for another bug.

Applied to next/cleanup, thanks a lot for fixing it!

	Arnd

^ permalink raw reply

* [PATCH] video: clcd-versatile: Depend on ARM
From: Mark Brown @ 2014-07-27 17:04 UTC (permalink / raw)
  To: linux-arm-kernel

From: Mark Brown <broonie@linaro.org>

The Versatile CLCD helpers call dma_alloc_writecombine() which is only
available on ARM and AVR32, meaning they won't build on other platforms
including arm64. Unfortunately the current Kconfig enables the symbol
by default if ARCH_VEXPRESS is defined which means that it is enabled on
arm64 when building for the ARM reference platforms and models for ARMv8
since they have many hardware similarities with their pre-ARMv8 systems.

Since all the systems that need the helpers are ARM systems fix this by
adding a dependency on ARM.

Signed-off-by: Mark Brown <broonie@linaro.org>
---
 drivers/video/fbdev/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index e83ed760141b..ce7c76676a70 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -293,6 +293,7 @@ config FB_ARMCLCD
 # Helper logic selected only by the ARM Versatile platform family.
 config PLAT_VERSATILE_CLCD
 	def_bool ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
+	depends on ARM
 	depends on FB_ARMCLCD && FB=y
 
 config FB_ACORN
-- 
2.0.1


^ permalink raw reply related

* Re: [PATCH v2] video: fbdev: uvesafb.c: Added additional error checking
From: Rickard Strandqvist @ 2014-07-26 10:19 UTC (permalink / raw)
  To: Wang YanQing, Rickard Strandqvist,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Jingoo Han,
	David Fries, Greg Kroah-Hartman, Joe Perches,
	Linux Fbdev development list, linux-kernel@vger.kernel.org,
	Pavel Machek
In-Reply-To: <20140724173613.GA2203@udknight>

2014-07-24 19:36 GMT+02:00 Wang YanQing <udknight@gmail.com>:
> On Wed, Jul 23, 2014 at 11:20:27PM +0200, Rickard Strandqvist wrote:
>> Variable was assigned a value that is never used.
>> Now the variable is used, and the function returns if a call to
>> uvesafb_exec() returns a error.
>
> Because the only user of uvesafb_vbe_getpmi in uvesafb.c
> don't check its return value, it should do the check indeed,
> so maybe below change is better:
>
> -       if ((task->t.regs.eax & 0xffff) != 0x4f || task->t.regs.es < 0xc000) {
> +       if (err || (task->t.regs.eax & 0xffff) != 0x4f || task->t.regs.es < 0xc000) {
>                 par->pmi_setpal = par->ypan = 0;
>         }
>
> Or we check uvesafb_vbe_getpmi's return value, then the code will looks like below:
>
> if (uvesafb_vbe_getpmi(task, par))
>     par->pmi_setpal = par->ypan = 0;


Hi

Sure, I saw that much of the other code using something like:
if (err || ...)


But this whole discussion start with that you wished it would return
the error, and then error code I assumed?

Ok, but something like this then?

err = uvesafb_exec(task);
if (err) {
  par->pmi_setpal = par->ypan = 0;
  return err;
}


Kind regards
Rickard Strandqvist

^ permalink raw reply

* Re: [PATCH v2] pwm-backlight: fix probing from device-tree without enable-gpios
From: Alexandre Courbot @ 2014-07-25 14:46 UTC (permalink / raw)
  To: Michael Olbrich
  Cc: Thierry Reding, Bryan Wu, Lee Jones, Alexandre Courbot,
	linux-pwm@vger.kernel.org, linux-fbdev@vger.kernel.org,
	Linux Kernel Mailing List, Sascha Hauer
In-Reply-To: <1406288841-23140-1-git-send-email-m.olbrich@pengutronix.de>

On Fri, Jul 25, 2014 at 8:47 PM, Michael Olbrich
<m.olbrich@pengutronix.de> wrote:
> Since 257462dbf3ed ("pwm-backlight: switch to gpiod interface")
> enable_gpio is no longer set and remains 0 when probing from
> device-tree. This is a valid gpio number. With no enable-gpios
> specified in the device-tree this is used and probing fails
> with:
>
> pwm-backlight lcd-backlight.3: failed to request GPIO#0: -16
>
> Fix this by setting enable_gpio to -1 which is not a valid gpio
> number.

Looks good indeed. My bad for overlooking this.

Acked-by: Alexandre Courbot <acourbot@nvidia.com>

>
> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> ---
>
> Sorry, I sent the wrong version. This one actually compiles.
>
> Michael
>
>  drivers/video/backlight/pwm_bl.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
> index 38ca88b..e7e43cd 100644
> --- a/drivers/video/backlight/pwm_bl.c
> +++ b/drivers/video/backlight/pwm_bl.c
> @@ -211,6 +211,7 @@ static int pwm_backlight_probe(struct platform_device *pdev)
>                         dev_err(&pdev->dev, "failed to find platform data\n");
>                         return ret;
>                 }
> +               defdata.enable_gpio = -1;
>
>                 data = &defdata;
>         }
> --
> 2.0.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* [PATCH v2] pwm-backlight: fix probing from device-tree without enable-gpios
From: Michael Olbrich @ 2014-07-25 11:47 UTC (permalink / raw)
  To: Thierry Reding, Bryan Wu, Lee Jones, Alexandre Courbot
  Cc: linux-pwm, linux-fbdev, linux-kernel, kernel, Michael Olbrich
In-Reply-To: <1406284115-489-1-git-send-email-m.olbrich@pengutronix.de>

Since 257462dbf3ed ("pwm-backlight: switch to gpiod interface")
enable_gpio is no longer set and remains 0 when probing from
device-tree. This is a valid gpio number. With no enable-gpios
specified in the device-tree this is used and probing fails
with:

pwm-backlight lcd-backlight.3: failed to request GPIO#0: -16

Fix this by setting enable_gpio to -1 which is not a valid gpio
number.

Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
---

Sorry, I sent the wrong version. This one actually compiles.

Michael

 drivers/video/backlight/pwm_bl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
index 38ca88b..e7e43cd 100644
--- a/drivers/video/backlight/pwm_bl.c
+++ b/drivers/video/backlight/pwm_bl.c
@@ -211,6 +211,7 @@ static int pwm_backlight_probe(struct platform_device *pdev)
 			dev_err(&pdev->dev, "failed to find platform data\n");
 			return ret;
 		}
+		defdata.enable_gpio = -1;
 
 		data = &defdata;
 	}
-- 
2.0.1


^ permalink raw reply related

* [PATCH] pwm-backlight: fix probing from device-tree without enable-gpios
From: Michael Olbrich @ 2014-07-25 10:28 UTC (permalink / raw)
  To: Thierry Reding, Bryan Wu, Lee Jones, Alexandre Courbot
  Cc: linux-pwm, linux-fbdev, linux-kernel, kernel, Michael Olbrich

Since 257462dbf3ed ("pwm-backlight: switch to gpiod interface")
enable_gpio is no longer set and remains 0 when probing from
device-tree. This is a valid gpio number. With no enable-gpios
specified in the device-tree this is used and probing fails
with:

pwm-backlight lcd-backlight.3: failed to request GPIO#0: -16

Fix this by setting enable_gpio to -1 which is not a valid gpio
number.

Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
---
 drivers/video/backlight/pwm_bl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
index 38ca88b..5213d13 100644
--- a/drivers/video/backlight/pwm_bl.c
+++ b/drivers/video/backlight/pwm_bl.c
@@ -211,6 +211,7 @@ static int pwm_backlight_probe(struct platform_device *pdev)
 			dev_err(&pdev->dev, "failed to find platform data\n");
 			return ret;
 		}
+		devdata.enable_gpio = -1;
 
 		data = &defdata;
 	}
-- 
2.0.1


^ permalink raw reply related

* RE: [PATCH v3] video: hyperv: hyperv_fb: refresh the VM screen by force on VM panic
From: Dexuan Cui @ 2014-07-25  7:15 UTC (permalink / raw)
  To: gregkh@linuxfoundation.org
  Cc: linux-fbdev@vger.kernel.org, jasowang@redhat.com,
	driverdev-devel@linuxdriverproject.org,
	linux-kernel@vger.kernel.org, tomi.valkeinen@ti.com,
	olaf@aepfle.de, apw@canonical.com, plagnioj@jcrosoft.com,
	Haiyang Zhang, dan.carpenter@oracle.com
In-Reply-To: <20140724035328.GB7484@kroah.com>

> -----Original Message-----
> From: gregkh@linuxfoundation.org [mailto:gregkh@linuxfoundation.org]
> Sent: Thursday, July 24, 2014 11:53 AM
> > So, hi Greg and all,
> > If you think the patch itself is OK, may I know if it's OK for the patch to go
> > into Greg's char-misc.git tree, as some other hyper-v patches did?
> 
> No, it needs to go through the fb tree, not mine, sorry.
> 
> greg k-h

Hi Greg,
Thank you very much for the clarification!
It's clear to me now.
Let me just wait the framebuffer maintainers' reply. :-)

Thanks,
-- Dexuan

^ permalink raw reply

* Re: [PATCH v2] video: fbdev: uvesafb.c:  Added additional error checking
From: Wang YanQing @ 2014-07-24 17:36 UTC (permalink / raw)
  To: Rickard Strandqvist
  Cc: Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Jingoo Han,
	David Fries, Greg Kroah-Hartman, Joe Perches, linux-fbdev,
	linux-kernel, pavel
In-Reply-To: <1406150427-26077-1-git-send-email-rickard_strandqvist@spectrumdigital.se>

On Wed, Jul 23, 2014 at 11:20:27PM +0200, Rickard Strandqvist wrote:
> Variable was assigned a value that is never used.
> Now the variable is used, and the function returns if a call to
> uvesafb_exec() returns a error.

Because the only user of uvesafb_vbe_getpmi in uvesafb.c
don't check its return value, it should do the check indeed,
so maybe below change is better:

-       if ((task->t.regs.eax & 0xffff) != 0x4f || task->t.regs.es < 0xc000) {
+       if (err || (task->t.regs.eax & 0xffff) != 0x4f || task->t.regs.es < 0xc000) {
                par->pmi_setpal = par->ypan = 0;
        }

Or we check uvesafb_vbe_getpmi's return value, then the code will looks like below:

if (uvesafb_vbe_getpmi(task, par))
    par->pmi_setpal = par->ypan = 0;


Add cc:pavel@ucw.cz, you should cc all the people who replied your patch 
in later patch version.

Thanks.

^ permalink raw reply

* Re: [PATCH v2] video: fbdev: uvesafb.c:  Added additional error checking
From: Wang YanQing @ 2014-07-24 17:31 UTC (permalink / raw)
  To: Rickard Strandqvist
  Cc: Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Jingoo Han,
	David Fries, Greg Kroah-Hartman, Joe Perches, linux-fbdev,
	linux-kernel
In-Reply-To: <1406150427-26077-1-git-send-email-rickard_strandqvist@spectrumdigital.se>

On Wed, Jul 23, 2014 at 11:20:27PM +0200, Rickard Strandqvist wrote:
> Variable was assigned a value that is never used.
> Now the variable is used, and the function returns if a call to
> uvesafb_exec() returns a error.

Because the only user of uvesafb_vbe_getpmi in uvesafb.c
don't check its return value, it should do the check indeed,
so maybe below change is better:

-       if ((task->t.regs.eax & 0xffff) != 0x4f || task->t.regs.es < 0xc000) {
+       if (err || (task->t.regs.eax & 0xffff) != 0x4f || task->t.regs.es < 0xc000) {
                par->pmi_setpal = par->ypan = 0;
        }

Or we check uvesafb_vbe_getpmi's return value, then the code will looks like below:

if (uvesafb_vbe_getpmi(task, par))
    par->pmi_setpal = par->ypan = 0;


Thanks.

^ permalink raw reply

* Re: [PATCH v3] video: hyperv: hyperv_fb: refresh the VM screen by force on VM panic
From: gregkh @ 2014-07-24  3:53 UTC (permalink / raw)
  To: Dexuan Cui
  Cc: dan.carpenter@oracle.com, linux-kernel@vger.kernel.org,
	driverdev-devel@linuxdriverproject.org, plagnioj@jcrosoft.com,
	tomi.valkeinen@ti.com, linux-fbdev@vger.kernel.org,
	olaf@aepfle.de, apw@canonical.com, jasowang@redhat.com,
	KY Srinivasan, Haiyang Zhang
In-Reply-To: <EE124450C0AAF944A40DD71E61F878C98D83A8@SINEX14MBXC417.southpacific.corp.microsoft.com>

On Thu, Jul 24, 2014 at 01:54:58AM +0000, Dexuan Cui wrote:
> Ping again -- any one has further comment for the v3 version?
> 
> It looks the framebuffer layer's Tomi and Jean-Christophe are out recently?
> Recently I don't see mail from them since Jul 1 and Jul 8 in the lists.
> 
> Though the patch belongs to driver/video/fbdev/, it only changes hyper-v stuff
> and only changes one file and the patch itself is straightforward IMO.
> 
> So, hi Greg and all, 
> If you think the patch itself is OK, may I know if it's OK for the patch to go
> into Greg's char-misc.git tree, as some other hyper-v patches did?

No, it needs to go through the fb tree, not mine, sorry.

greg k-h

^ permalink raw reply

* RE: [PATCH v3] video: hyperv: hyperv_fb: refresh the VM screen by force on VM panic
From: Dexuan Cui @ 2014-07-24  1:54 UTC (permalink / raw)
  To: gregkh@linuxfoundation.org, dan.carpenter@oracle.com,
	linux-kernel@vger.kernel.org,
	driverdev-devel@linuxdriverproject.org, plagnioj@jcrosoft.com,
	tomi.valkeinen@ti.com, linux-fbdev@vger.kernel.org
  Cc: olaf@aepfle.de, apw@canonical.com, jasowang@redhat.com,
	KY Srinivasan, Haiyang Zhang
In-Reply-To: <1404875063-27424-1-git-send-email-decui@microsoft.com>

Ping again -- any one has further comment for the v3 version?

It looks the framebuffer layer's Tomi and Jean-Christophe are out recently?
Recently I don't see mail from them since Jul 1 and Jul 8 in the lists.

Though the patch belongs to driver/video/fbdev/, it only changes hyper-v stuff
and only changes one file and the patch itself is straightforward IMO.

So, hi Greg and all, 
If you think the patch itself is OK, may I know if it's OK for the patch to go
into Greg's char-misc.git tree, as some other hyper-v patches did?

Please let me know what's the next step I should do. 
I appreciate your reply.

Thanks!

-- Dexuan

> -----Original Message-----
> From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-
> owner@vger.kernel.org] On Behalf Of Dexuan Cui
> Sent: Wednesday, July 9, 2014 11:04 AM
> To: gregkh@linuxfoundation.org; dan.carpenter@oracle.com; linux-
> kernel@vger.kernel.org; driverdev-devel@linuxdriverproject.org;
> plagnioj@jcrosoft.com; tomi.valkeinen@ti.com; linux-fbdev@vger.kernel.org
> Cc: olaf@aepfle.de; apw@canonical.com; jasowang@redhat.com; KY
> Srinivasan; Haiyang Zhang
> Subject: [PATCH v3] video: hyperv: hyperv_fb: refresh the VM screen by force
> on VM panic
> 
> Currently the VSC has no chance to notify the VSP of the dirty rectangle on
> VM
> panic because the notification work is done in a workqueue, and in panic()
> the
> kernel typically ends up in an infinite loop, and a typical kernel config has
> CONFIG_PREEMPT_VOLUNTARY=y and CONFIG_PREEMPT is not set, so a
> context switch
> can't happen in panic() and the workqueue won't have a chance to run. As a
> result, the VM Connection window can't refresh until it's closed and we
> re-connect to the VM.
> 
> We can register a handler on panic_notifier_list: the handler can notify
> the VSC and switch the framebuffer driver to a "synchronous mode",
> meaning
> the VSC flushes any future framebuffer change to the VSP immediately.
> 
> v2: removed the MS-TFS line in the commit message
> v3: remove some 'unlikely' markings
> 
> Signed-off-by: Dexuan Cui <decui@microsoft.com>
> Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
> ---
>  drivers/video/fbdev/hyperv_fb.c | 58
> ++++++++++++++++++++++++++++++++++++++---
>  1 file changed, 55 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/video/fbdev/hyperv_fb.c
> b/drivers/video/fbdev/hyperv_fb.c
> index e23392e..a7b98e1 100644
> --- a/drivers/video/fbdev/hyperv_fb.c
> +++ b/drivers/video/fbdev/hyperv_fb.c
> @@ -226,11 +226,16 @@ struct hvfb_par {
>  	u8 recv_buf[MAX_VMBUS_PKT_SIZE];
>  };
> 
> +static struct fb_info *hvfb_info;
> +
>  static uint screen_width = HVFB_WIDTH;
>  static uint screen_height = HVFB_HEIGHT;
>  static uint screen_depth;
>  static uint screen_fb_size;
> 
> +/* If true, the VSC notifies the VSP on every framebuffer change */
> +static bool synchronous_fb;
> +
>  /* Send message to Hyper-V host */
>  static inline int synthvid_send(struct hv_device *hdev,
>  				struct synthvid_msg *msg)
> @@ -532,6 +537,20 @@ static void hvfb_update_work(struct work_struct *w)
>  		schedule_delayed_work(&par->dwork,
> HVFB_UPDATE_DELAY);
>  }
> 
> +static int hvfb_on_panic(struct notifier_block *nb,
> +			unsigned long e, void *p)
> +{
> +	if (hvfb_info)
> +		synthvid_update(hvfb_info);
> +
> +	synchronous_fb = true;
> +
> +	return NOTIFY_DONE;
> +}
> +
> +static struct notifier_block hvfb_panic_nb = {
> +	.notifier_call = hvfb_on_panic,
> +};
> 
>  /* Framebuffer operation handlers */
> 
> @@ -582,14 +601,41 @@ static int hvfb_blank(int blank, struct fb_info *info)
>  	return 1;	/* get fb_blank to set the colormap to all black */
>  }
> 
> +static void hvfb_cfb_fillrect(struct fb_info *p,
> +				const struct fb_fillrect *rect)
> +{
> +	cfb_fillrect(p, rect);
> +
> +	if (synchronous_fb)
> +		synthvid_update(p);
> +}
> +
> +static void hvfb_cfb_copyarea(struct fb_info *p,
> +				const struct fb_copyarea *area)
> +{
> +	cfb_copyarea(p, area);
> +
> +	if (synchronous_fb)
> +		synthvid_update(p);
> +}
> +
> +static void hvfb_cfb_imageblit(struct fb_info *p,
> +				const struct fb_image *image)
> +{
> +	cfb_imageblit(p, image);
> +
> +	if (synchronous_fb)
> +		synthvid_update(p);
> +}
> +
>  static struct fb_ops hvfb_ops = {
>  	.owner = THIS_MODULE,
>  	.fb_check_var = hvfb_check_var,
>  	.fb_set_par = hvfb_set_par,
>  	.fb_setcolreg = hvfb_setcolreg,
> -	.fb_fillrect = cfb_fillrect,
> -	.fb_copyarea = cfb_copyarea,
> -	.fb_imageblit = cfb_imageblit,
> +	.fb_fillrect = hvfb_cfb_fillrect,
> +	.fb_copyarea = hvfb_cfb_copyarea,
> +	.fb_imageblit = hvfb_cfb_imageblit,
>  	.fb_blank = hvfb_blank,
>  };
> 
> @@ -801,6 +847,9 @@ static int hvfb_probe(struct hv_device *hdev,
> 
>  	par->fb_ready = true;
> 
> +	hvfb_info = info;
> +	atomic_notifier_chain_register(&panic_notifier_list,
> &hvfb_panic_nb);
> +
>  	return 0;
> 
>  error:
> @@ -820,6 +869,9 @@ static int hvfb_remove(struct hv_device *hdev)
>  	struct fb_info *info = hv_get_drvdata(hdev);
>  	struct hvfb_par *par = info->par;
> 
> +	atomic_notifier_chain_unregister(&panic_notifier_list,
> &hvfb_panic_nb);
> +	hvfb_info = NULL;
> +
>  	par->update = false;
>  	par->fb_ready = false;
> 
> --
> 1.9.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply

* [PATCH v2] video: fbdev: uvesafb.c:  Added additional error checking
From: Rickard Strandqvist @ 2014-07-23 21:20 UTC (permalink / raw)
  To: Jean-Christophe Plagniol-Villard, Tomi Valkeinen
  Cc: Rickard Strandqvist, Wang YanQing, Jingoo Han, David Fries,
	Greg Kroah-Hartman, Joe Perches, linux-fbdev, linux-kernel

Variable was assigned a value that is never used.
Now the variable is used, and the function returns if a call to
uvesafb_exec() returns a error.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
---
 drivers/video/fbdev/uvesafb.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c
index 509d452..47c2d74 100644
--- a/drivers/video/fbdev/uvesafb.c
+++ b/drivers/video/fbdev/uvesafb.c
@@ -561,6 +561,8 @@ static int uvesafb_vbe_getpmi(struct uvesafb_ktask *task,
 	task->t.regs.eax = 0x4f0a;
 	task->t.regs.ebx = 0x0;
 	err = uvesafb_exec(task);
+	if (err)
+		return err;
 
 	if ((task->t.regs.eax & 0xffff) != 0x4f || task->t.regs.es < 0xc000) {
 		par->pmi_setpal = par->ypan = 0;
-- 
1.7.10.4


^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox