linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Bender aka Sergei S." <bender.rodriguez@open.by>
To: Krzysztof Helt <krzysztof.h1@poczta.fm>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-fbdev-devel@lists.sourceforge.net,
	bugme-daemon@bugzilla.kernel.org
Subject: Re: [Bugme-new] [Bug 12712] New: s2disk hangs with nvidiafb
Date: Mon, 23 Feb 2009 10:24:55 +0200	[thread overview]
Message-ID: <120778075.20090223102455@open.by> (raw)
In-Reply-To: <20090222150504.a77dc9b3.krzysztof.h1@poczta.fm>

On Sunday, February 22, 2009, 4:05:04 PM, Krzysztof wrote:

> On Sun, 22 Feb 2009 12:47:11 +0200
> "Sergei S." <bender.rodriguez@open.by> wrote:

>> Hello.
>> 
>> By the way.
>> 
>> [drivers/video/vesafb.c
>> static int __init vesafb_probe(struct platform_device *dev)]
>> 
>>       if (!request_mem_region(vesafb_fix.smem_start, size_total, "vesafb")) {
>>               printk(KERN_WARNING
>>                      "vesafb: cannot reserve video memory at 0x%lx\n",
>>                       vesafb_fix.smem_start);
>>               /* We cannot make this fatal. Sometimes this comes from magic
>>                  spaces our resource handlers simply don't know about */
>>       }
>> 
>> Is there any reason not to make vesafb request_mem_region fail fatal?
>> 
>> In case we already have framebuffer at 0xc0000000 and framebuffer_alloc failed -
>> we'll release non-vesafb memory region.
>> 
>>       info = framebuffer_alloc(sizeof(u32) * 256, &dev->dev);
>>       if (!info) {
>>               release_mem_region(vesafb_fix.smem_start, size_total);
>>               return -ENOMEM;
>>       }
>> 
>> 
>> So, what do you think about the idea to check num_registered_fb when request_mem_region 
>> fails?


Hello.

> I am not sure. Each request is done by a driver and it is assigned to it. Someone
> with more knowledge should clear this doubts. I suppose if a driver does not
>  request a resource releasing it should be void.

I think we should do some work at request_mem_region instead of simple
printk KERN_WARNING (I may be wrong).


And what about:
> In case we already have framebuffer at 0xc0000000 and framebuffer_alloc failed -
> we'll release non-vesafb memory region.
>
>       info = framebuffer_alloc(sizeof(u32) * 256, &dev->dev);
>       if (!info) {
>               release_mem_region(vesafb_fix.smem_start, size_total);
>               return -ENOMEM;
>       }

IMHO at least we should have some bit showing that
request_mem_region(vesafb_fix.smem_start, size_total, "vesafb")
was successful. Just to call release_mem_region is not correct since
we can release nvidiafb's (etc.) memory region.


> Your case is more simple - nvidiafb does not suspend/resume correctly. This
> is easy to check - if only the nvidiafb is selected the s2disk does not work.

Well, it's not so simple, I guess. Looks like s2disk works with
nvidiafb built with "Lots of debug messages" and doesn't work
otherwise.

Before hibernation we create virtual console and make switch to it (am
I right?). I'm not sure, but it seems I have problems in switching to
virtual console (or even earlier).
I'll try to figure out.


> This is probably not a regression - you can check if your older kernel
> works with only the nvidiafb selected.
I've tested 2.6.27.11. It seems a bit senseless to test kernels earlier than 2.6.27
(it can be difficult to find out the problem).


> Unfortunately, I have no card to reproduce this and I don't know what
> is wrong with the nvidiafb suspend/resume functions.

> I hope someone will help you.

Thanks.


Best regards,
Sergey


> Kind regards,
> Krzysztof


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H

  parent reply	other threads:[~2009-02-23  8:24 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-22 10:47 [Bugme-new] [Bug 12712] New: s2disk hangs with nvidiafb Sergei S.
     [not found] ` <20090222150504.a77dc9b3.krzysztof.h1@poczta.fm>
2009-02-23  8:24   ` Bender aka Sergei S. [this message]
2009-02-27  7:55   ` Bender aka Sergei S.
  -- strict thread matches above, loose matches on Subject: below --
2009-02-21 23:23 Sergei S.
     [not found] <bug-12712-10286@http.bugzilla.kernel.org/>
2009-02-15 19:17 ` Andrew Morton
2009-02-15 21:11   ` Sergei S.
2009-02-16 19:59     ` Krzysztof Helt
2009-02-16 22:56       ` Sergei S.

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=120778075.20090223102455@open.by \
    --to=bender.rodriguez@open.by \
    --cc=akpm@linux-foundation.org \
    --cc=bugme-daemon@bugzilla.kernel.org \
    --cc=krzysztof.h1@poczta.fm \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).