* [PATCH] drm/i915: don't preserve inherited configs with nothing on v2
@ 2014-02-12 23:03 Jesse Barnes
2014-02-13 10:53 ` Daniel Vetter
0 siblings, 1 reply; 2+ messages in thread
From: Jesse Barnes @ 2014-02-12 23:03 UTC (permalink / raw)
To: intel-gfx
It can be corrected later and may be what was actually desired, but
generally isn't, so if we find nothing is enabled, let the core DRM fb
helper figure something out.
v2: free the array too (Jesse)
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
drivers/gpu/drm/i915/intel_fbdev.c | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
index 85bfb3d..7693728 100644
--- a/drivers/gpu/drm/i915/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/intel_fbdev.c
@@ -288,7 +288,17 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
struct drm_display_mode **modes,
bool *enabled, int width, int height)
{
+ struct drm_device *dev = fb_helper->dev;
int i, j;
+ bool *save_enabled;
+ bool any_enabled = false;
+
+ save_enabled = kcalloc(dev->mode_config.num_connector, sizeof(bool),
+ GFP_KERNEL);
+ if (!save_enabled)
+ return false;
+
+ memcpy(save_enabled, enabled, dev->mode_config.num_connector);
for (i = 0; i < fb_helper->connector_count; i++) {
struct drm_fb_helper_connector *fb_conn;
@@ -320,8 +330,10 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
* match the BIOS.
*/
for (j = 0; j < fb_helper->connector_count; j++) {
- if (crtcs[j] == new_crtc)
- return false;
+ if (crtcs[j] == new_crtc) {
+ any_enabled = false;
+ goto out;
+ }
}
DRM_DEBUG_KMS("looking for cmdline mode on connector %d\n",
@@ -361,8 +373,18 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
drm_get_connector_name(connector),
encoder->crtc->base.id,
modes[i]->name);
+
+ any_enabled = true;
+ }
+
+out:
+ if (!any_enabled) {
+ memcpy(enabled, save_enabled, dev->mode_config.num_connector);
+ kfree(save_enabled);
+ return false;
}
+ kfree(save_enabled);
return true;
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] drm/i915: don't preserve inherited configs with nothing on v2
2014-02-12 23:03 [PATCH] drm/i915: don't preserve inherited configs with nothing on v2 Jesse Barnes
@ 2014-02-13 10:53 ` Daniel Vetter
0 siblings, 0 replies; 2+ messages in thread
From: Daniel Vetter @ 2014-02-13 10:53 UTC (permalink / raw)
To: Jesse Barnes; +Cc: intel-gfx
On Wed, Feb 12, 2014 at 03:03:40PM -0800, Jesse Barnes wrote:
> It can be corrected later and may be what was actually desired, but
> generally isn't, so if we find nothing is enabled, let the core DRM fb
> helper figure something out.
>
> v2: free the array too (Jesse)
>
> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Queued for -next, thanks for the patch.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-02-13 10:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-12 23:03 [PATCH] drm/i915: don't preserve inherited configs with nothing on v2 Jesse Barnes
2014-02-13 10:53 ` Daniel Vetter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox