All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: David Herrmann <dh.herrmann@gmail.com>
Cc: linux-kernel@vger.kernel.org, Takashi Iwai <tiwai@suse.de>,
	Stephen Warren <swarren@wwwdotorg.org>,
	the arch/x86 maintainers <x86@kernel.org>,
	linux-fbdev@vger.kernel.org,
	Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: [RFC] x86: sysfb: remove sysfb when probing real hw
Date: Wed, 18 Dec 2013 11:54:23 +0000	[thread overview]
Message-ID: <20131218115423.GA23692@gmail.com> (raw)
In-Reply-To: <1387367283-20078-1-git-send-email-dh.herrmann@gmail.com>


* David Herrmann <dh.herrmann@gmail.com> wrote:

> If we probe a real hw driver for graphics devices, we need to unload any
> generic fallback driver like efifb/vesafb/simplefb on the system
> framebuffer. This is currently done via remove_conflicting_framebuffers()
> in fbmem.c. However, this only removes the fbdev driver, not the fake
> platform devices underneath. This hasn't been a problem so far, as efifb
> and vesafb didn't store any resources there. However, with simplefb this
> changed.
> 
> To correctly release the IORESOURCE_MEM resources of simple-framebuffer
> platform devices, we need to unregister the underlying platform device
> *before* probing any new hw driver. This patch adds sysfb_unregister() for
> that purpose. It can be called from any context (except from the
> platform-device ->remove callback path) and synchronously unloads any
> global sysfb and prevents new sysfbs from getting registered. Thus, you
> can call it even before any sysfb has been loaded.
> 
> This also changes remove_conflicting_framebuffer() to call this helper
> *before* trying it's fbdev heuristic to remove conflicting drivers.
> 
> Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
> ---
> Hi
> 
> This is imho the clean version of Takashi's fix. However, it gets pretty huge. I
> wouldn't object to marking CONFIG_X86_SYSFB broken in the stable series and get
> this in for 3.14. Your call..
> 
> This patch basically simulates an unplug event for system-framebuffers when
> loading real hardware drivers. To trigger it, call sysfb_unregister(). You can
> optionally pass an aperture-struct and primary-flag similar to
> remove_conflicting_framebuffers(). If they're not passed, we remove it
> unconditionally.
> 
> Untested, but my kernel compiles are already running. If my tests succeed and
> nobody has objections, I can resend it as proper PATCH and marked for stable.
> And maybe split the fbmem and sysfb changes into two patches..

Please fix the changelog to conform to the standard changelog style:

 - first describe the symptoms of the bug - how does a user notice? 

 - then describe how the code behaves today and how that is causing the bug

 - and then only describe how it's fixed.

The first item is the most important one - while developers 
(naturally) tend to concentrate on the least important point, the last 
one.

Thanks,

	Ingo

WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: David Herrmann <dh.herrmann@gmail.com>
Cc: linux-kernel@vger.kernel.org, Takashi Iwai <tiwai@suse.de>,
	Stephen Warren <swarren@wwwdotorg.org>,
	the arch/x86 maintainers <x86@kernel.org>,
	linux-fbdev@vger.kernel.org,
	Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: [RFC] x86: sysfb: remove sysfb when probing real hw
Date: Wed, 18 Dec 2013 12:54:23 +0100	[thread overview]
Message-ID: <20131218115423.GA23692@gmail.com> (raw)
In-Reply-To: <1387367283-20078-1-git-send-email-dh.herrmann@gmail.com>


* David Herrmann <dh.herrmann@gmail.com> wrote:

> If we probe a real hw driver for graphics devices, we need to unload any
> generic fallback driver like efifb/vesafb/simplefb on the system
> framebuffer. This is currently done via remove_conflicting_framebuffers()
> in fbmem.c. However, this only removes the fbdev driver, not the fake
> platform devices underneath. This hasn't been a problem so far, as efifb
> and vesafb didn't store any resources there. However, with simplefb this
> changed.
> 
> To correctly release the IORESOURCE_MEM resources of simple-framebuffer
> platform devices, we need to unregister the underlying platform device
> *before* probing any new hw driver. This patch adds sysfb_unregister() for
> that purpose. It can be called from any context (except from the
> platform-device ->remove callback path) and synchronously unloads any
> global sysfb and prevents new sysfbs from getting registered. Thus, you
> can call it even before any sysfb has been loaded.
> 
> This also changes remove_conflicting_framebuffer() to call this helper
> *before* trying it's fbdev heuristic to remove conflicting drivers.
> 
> Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
> ---
> Hi
> 
> This is imho the clean version of Takashi's fix. However, it gets pretty huge. I
> wouldn't object to marking CONFIG_X86_SYSFB broken in the stable series and get
> this in for 3.14. Your call..
> 
> This patch basically simulates an unplug event for system-framebuffers when
> loading real hardware drivers. To trigger it, call sysfb_unregister(). You can
> optionally pass an aperture-struct and primary-flag similar to
> remove_conflicting_framebuffers(). If they're not passed, we remove it
> unconditionally.
> 
> Untested, but my kernel compiles are already running. If my tests succeed and
> nobody has objections, I can resend it as proper PATCH and marked for stable.
> And maybe split the fbmem and sysfb changes into two patches..

Please fix the changelog to conform to the standard changelog style:

 - first describe the symptoms of the bug - how does a user notice? 

 - then describe how the code behaves today and how that is causing the bug

 - and then only describe how it's fixed.

The first item is the most important one - while developers 
(naturally) tend to concentrate on the least important point, the last 
one.

Thanks,

	Ingo

  reply	other threads:[~2013-12-18 11:54 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-18  7:42 cirrusdrmfb broken with simplefb Takashi Iwai
2013-12-18  7:42 ` Takashi Iwai
2013-12-18  8:21 ` David Herrmann
2013-12-18  8:21   ` David Herrmann
2013-12-18  8:44   ` Takashi Iwai
2013-12-18  8:44     ` Takashi Iwai
2013-12-18  8:48     ` Geert Uytterhoeven
2013-12-18  8:48       ` Geert Uytterhoeven
2013-12-18 10:17     ` Takashi Iwai
2013-12-18 10:17       ` Takashi Iwai
2013-12-18 10:21       ` David Herrmann
2013-12-18 10:21         ` David Herrmann
2013-12-18 11:39         ` Takashi Iwai
2013-12-18 11:39           ` Takashi Iwai
2013-12-18 11:48           ` [RFC] x86: sysfb: remove sysfb when probing real hw David Herrmann
2013-12-18 11:48             ` David Herrmann
2013-12-18 11:54             ` Ingo Molnar [this message]
2013-12-18 11:54               ` Ingo Molnar
2013-12-18 13:03             ` Takashi Iwai
2013-12-18 13:03               ` Takashi Iwai
2013-12-18 13:34               ` David Herrmann
2013-12-18 13:34                 ` David Herrmann
2013-12-18 14:02                 ` Takashi Iwai
2013-12-18 14:02                   ` Takashi Iwai
2013-12-18 13:50             ` [PATCH v2] " David Herrmann
2013-12-18 13:50               ` David Herrmann
2013-12-18 14:15               ` David Herrmann
2013-12-18 14:15                 ` David Herrmann
2013-12-18 14:21               ` Takashi Iwai
2013-12-18 14:21                 ` Takashi Iwai
2013-12-19 10:13               ` [PATCH v3] " David Herrmann
2013-12-19 10:13                 ` David Herrmann
2013-12-19 16:36                 ` Ingo Molnar
2013-12-19 16:36                   ` Ingo Molnar
2013-12-19 17:03                   ` David Herrmann
2013-12-19 17:03                     ` David Herrmann
2013-12-19 17:09                     ` Ingo Molnar
2013-12-19 17:09                       ` Ingo Molnar
2013-12-19 17:18                       ` David Herrmann
2013-12-19 17:18                         ` David Herrmann
2013-12-19 17:24                 ` [PATCH v4] " David Herrmann
2013-12-19 17:24                   ` David Herrmann
2013-12-19 18:33                   ` Ingo Molnar
2013-12-19 18:33                     ` Ingo Molnar
2013-12-20 14:46                     ` David Herrmann
2013-12-20 14:46                       ` David Herrmann
2013-12-19 18:54                 ` [PATCH v3] " Stephen Warren
2013-12-19 18:54                   ` Stephen Warren
2013-12-19 18:55                   ` Ingo Molnar
2013-12-19 18:55                     ` Ingo Molnar
2013-12-19 19:09                     ` Stephen Warren
2013-12-19 19:09                       ` Stephen Warren
2013-12-19 19:19                       ` Ingo Molnar
2013-12-19 19:19                         ` Ingo Molnar
2013-12-18  9:29   ` cirrusdrmfb broken with simplefb Ingo Molnar
2013-12-18  9:29     ` Ingo Molnar
2013-12-19  0:03     ` One Thousand Gnomes
2013-12-19 10:46       ` David Herrmann
2013-12-19 10:46         ` David Herrmann
2013-12-19 11:06         ` Takashi Iwai
2013-12-19 11:06           ` Takashi Iwai
2013-12-19 12:36           ` David Herrmann
2013-12-19 12:36             ` David Herrmann
2013-12-19 13:22             ` Takashi Iwai
2013-12-19 13:22               ` Takashi Iwai
2013-12-19 13:37               ` David Herrmann
2013-12-19 13:37                 ` David Herrmann
2013-12-19 14:03                 ` Takashi Iwai
2013-12-19 14:03                   ` Takashi Iwai
2013-12-19 14:13                   ` David Herrmann
2013-12-19 14:13                     ` David Herrmann
2013-12-19 14:22                     ` Takashi Iwai
2013-12-19 14:22                       ` Takashi Iwai
2013-12-19 12:31         ` Ingo Molnar
2013-12-19 12:31           ` Ingo Molnar
2013-12-19 12:39           ` David Herrmann
2013-12-19 12:39             ` David Herrmann
2013-12-19 12:44             ` Ingo Molnar
2013-12-19 12:44               ` Ingo Molnar

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=20131218115423.GA23692@gmail.com \
    --to=mingo@kernel.org \
    --cc=dh.herrmann@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=swarren@wwwdotorg.org \
    --cc=tiwai@suse.de \
    --cc=x86@kernel.org \
    /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.