All of lore.kernel.org
 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 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.